シミュレーション結果と過去データの比較
良いシミュレーションは、過去のデータと近い結果になります。ビデオで行ったシミュレーションはその通りでしたか?この演習では、シミュレーション結果を確認する1つの方法を試して確かめます。
まず、多変量正規分布と dia の平均・共分散行列を使ってシミュレーションを行います。続いて、過去データとシミュレーションデータの平均を確認します。似ているでしょうか?
糖尿病データセットは DataFrame の dia として読み込まれており、pandas は pd、numpy は np、scipy.stats は st としてインポート済みです。
この演習はコースの一部です
Pythonで学ぶモンテカルロ・シミュレーション
演習の手順
diaの平均と共分散行列を用い、多変量正規分布で1万回のシミュレーションを実行します。- pandas の
.mean()関数を使って、過去データdiaのbmiとtc列、およびdf_resultsのシミュレーション結果のbmiとtcの平均値を計算し、類似しているかを確認します。 - 同様に、pandas の
.cov()を使って、diaのbmiとtc列、およびdf_resultsのシミュレーション結果のbmiとtcの共分散行列を計算し、類似しているかを確認します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
cov_dia = dia[["age", "bmi", "bp", "tc", "ldl", "hdl", "tch", "ltg", "glu"]].cov()
mean_dia = dia[["age", "bmi", "bp", "tc", "ldl", "hdl", "tch", "ltg", "glu"]].mean()
# Complete the code to perform the simulation
simulation_results = st.multivariate_normal.rvs(____)
df_results = pd.DataFrame(simulation_results,columns=["age", "bmi", "bp", "tc", "ldl", "hdl", "tch", "ltg", "glu"])
# Calculate bmi and tc means for the historical and simulated results
print(dia[["bmi","tc"]].____)
print(____)
# Calculate bmi and tc covariances for the historical and simulated results
print(____)
print(____)