始める無料で始める

BMI と HDL の結果を評価する

BMI の上位10% かつ HDL の上位25% に入る患者と、BMI の下位10% かつ HDL の下位25% に入る患者では、予測された疾患進行(応答 y)にどれくらい差がありますか?今回もシミュレーションはすでに実行済みです。df_results にあるシミュレーション結果を評価して、この問いに答えてください。

次のライブラリはインポート済みです:pandaspdnumpynpscipy.statsst

この演習はコースの一部です

Pythonで学ぶモンテカルロ・シミュレーション

コースを見る

演習の手順

  • すでに定義されている hdl_q25hdl_q75bmi_q10bmi_q90 を活用して、まず BMI の上位10% かつ HDL の上位25% に該当する患者、次に BMI の下位10% かつ HDL の下位25% に該当する患者で結果をフィルタし、平均アウトカムの定義を完成させます。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

simulation_results = st.multivariate_normal.rvs(mean=mean_dia, size=20000, cov=cov_dia)
df_results = pd.DataFrame(simulation_results,columns=["age", "bmi", "bp", "tc", "ldl", "hdl", "tch", "ltg", "glu"])
predicted_y = regr_model.predict(df_results)
df_y = pd.DataFrame(predicted_y, columns=["predicted_y"])
df_summary = pd.concat([df_results,df_y], axis=1)
hdl_q25 = np.quantile(df_summary["hdl"], 0.25)
hdl_q75 = np.quantile(df_summary["hdl"], 0.75)
bmi_q10 = np.quantile(df_summary["bmi"], 0.10)
bmi_q90 = np.quantile(df_summary["bmi"], 0.90)

# Complete the mean outcome definitions
bmi_q90_hdl_q75_outcome = np.mean(df_summary[(df_summary["bmi"] > bmi_q90) & (____)]____) 
bmi_q10_hdl_q15_outcome = np.mean(df_summary[(df_summary["bmi"] < bmi_q10) & (____)]____) 
y_diff = bmi_q90_hdl_q75_outcome - bmi_q10_hdl_q15_outcome
print(y_diff)
コードを編集して実行