เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การประเมินผลลัพธ์ค่า BMI

การลุกลามของโรคที่คาดการณ์ไว้ (ค่าตอบสนอง y) ของผู้ป่วยที่มีค่า BMI สูงสุด 10% เทียบกับต่ำสุด 10% นั้นแตกต่างกันอย่างไร? เราจะใช้ผลลัพธ์จากการจำลองด้วยการสุ่มตัวอย่างจากการแจกแจงแบบปกติหลายตัวแปรเพื่อตอบคำถามนี้!

การจำลองได้ดำเนินการไว้ให้แล้ว งานของคุณคือการประเมินผลลัพธ์การจำลองใน df_results

ไลบรารีต่อไปนี้ได้นำเข้าไว้ให้แล้ว: pandas เป็น pd, numpy เป็น np, และ scipy.stats เป็น st

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Monte Carlo Simulations ใน Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • ใช้ np.quantile() เพื่อคำนวณควอนไทล์ที่ 10 และ 90 ของ bmi จากผลลัพธ์การจำลอง แล้วบันทึกเป็น bmi_q10 และ bmi_q90
  • ใช้ bmi_q10 และ bmi_q90 เพื่อกรอง df_summary และดึงค่า y ที่คาดการณ์ไว้

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

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)

# Calculate the 10th and 90th quantile of bmi in the simulated results
bmi_q10 = np.quantile(df_summary["bmi"], ____)
bmi_q90 = np.quantile(df_summary["bmi"], ____)

# Use bmi_q10 and bmi_q90 to filter df_summary and obtain predicted y values
mean_bmi_q90_outcome = np.mean(df_summary[____]["predicted_y"]) 
mean_bmi_q10_outcome = np.mean(df_summary[____]["predicted_y"])
y_diff = mean_bmi_q90_outcome - mean_bmi_q10_outcome
print(y_diff)
แก้ไขและรันโค้ด