ÎncepețiÎncepe gratuit

Evaluarea rezultatelor BMI

Care este diferența în progresia estimată a bolii (răspunsul, y) pentru pacienții care se află în primele 10% după BMI față de cei din ultimele 10%? Vei folosi rezultatele unei simulări care eșantionează distribuția normală multivariată pentru a răspunde la această întrebare!

Simularea a fost deja efectuată pentru tine: sarcina ta este să evaluezi rezultatele simulării din df_results.

Următoarele biblioteci au fost importate pentru tine: pandas ca pd, numpy ca np și scipy.stats ca st.

Acest exercițiu face parte din cursul

Simulări Monte Carlo în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Folosește np.quantile() pentru a calcula cuantila 10 și cuantila 90 ale bmi din rezultatele simulate, salvându-le ca bmi_q10 și bmi_q90.
  • Folosește bmi_q10 și bmi_q90 pentru a filtra df_summary și a obține valorile estimate ale lui y.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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)
Editează și rulează codul