ประเมินผลลัพธ์ด้าน BMI และ HDL
การดำเนินโรค (ค่าตอบสนอง y) ของผู้ป่วยที่อยู่ในกลุ่ม 10% บนสุดของ BMI และ 25% บนสุดของ HDL ต่างจากผู้ป่วยที่อยู่ในกลุ่ม 10% ล่างสุดของ BMI และ 25% ล่างสุดของ HDL อย่างไร? การจำลองได้ดำเนินการไว้ให้แล้ว โดยสิ่งที่ต้องทำคือประเมินผลการจำลองใน df_results เพื่อหาคำตอบ!
ไลบรารีที่นำเข้าไว้แล้ว: pandas เป็น pd, numpy เป็น np, และ scipy.stats เป็น st.
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Monte Carlo Simulations ใน Python
คำแนะนำการฝึกหัด
- กำหนดค่าเฉลี่ยผลลัพธ์ให้สมบูรณ์ โดยกรองผลลัพธ์สำหรับผู้ป่วยที่อยู่ในกลุ่ม 10% บนสุดของ BMI และ 25% บนสุดของ HDL จากนั้นกรองสำหรับผู้ป่วยที่อยู่ในกลุ่ม 10% ล่างสุดของ BMI และ 25% ล่างสุดของ HDL โดยใช้
hdl_q25,hdl_q75,bmi_q10,bmi_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)