开始使用免费开始使用

评估 BMI 与 HDL 的结果

对于同时位于 BMI 前 10% 且 HDL 前 25% 的患者,与同时位于 BMI 后 10% 且 HDL 后 25% 的患者相比,预测的疾病进展(响应 y)有多大差异?同样,模拟已经为您完成。您的任务是评估 df_results 中的模拟结果,回答这个问题!

以下库已导入:pandas 作为 pdnumpy 作为 np,以及 scipy.stats 作为 st

本练习是课程的一部分

Python 中的蒙特卡洛模拟

查看课程

练习说明

  • 请补全均值结果的定义:先筛选出同时位于 BMI 前 10% 且 HDL 前 25% 的患者,再筛选出同时位于 BMI 后 10% 且 HDL 后 25% 的患者。请使用已为您定义好的 hdl_q25hdl_q75bmi_q10bmi_q90

交互式实操练习

通过完成这段示例代码来试试这个练习。

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)
编辑并运行代码