ComeçarComece de graça

Avaliação dos resultados do BMI

Qual é a diferença na previsão de progressão da doença (a resposta, y) para pacientes que estão entre os 10% mais altos de BMI em comparação com os 10% mais baixos de BMI? Você usará os resultados de uma simulação de amostragem da distribuição normal multivariada para responder a essa pergunta!

A simulação já foi realizada para você: sua tarefa é avaliar os resultados da simulação em df_results.

As seguintes bibliotecas foram importadas para você: pandas como pd, numpy como np, e scipy.stats como st.

Este exercício faz parte do curso

Simulações de Monte Carlo em Python

Ver curso

Instruções do exercício

  • Use np.quantile() para calcular o 10º e o 90º quantis de bmi nos resultados simulados, salvando como bmi_q10 e bmi_q90.
  • Use bmi_q10 e bmi_q90 para filtrar df_summary e obter valores y previstos.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

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)
Editar e executar o código