ПочатиПочніть безкоштовно

Оцінювання результатів за BMI

Яка різниця в прогнозованому прогресуванні хвороби (відгук, y) між пацієнтами з найвищими 10% значень BMI та найнижчими 10% BMI? Ви скористаєтеся результатами моделювання з вибіркою з багатовимірного нормального розподілу, щоб відповісти на це запитання!

Моделювання вже виконано для вас: ваше завдання — оцінити результати моделювання в df_results.

Для вас вже імпортовано такі бібліотеки: pandas як pd, numpy як np та scipy.stats як st.

Ця вправа є частиною курсу

Моделювання Монте-Карло в 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)
Редагувати та запускати код