Confrontare dati simulati e storici
Una buona simulazione dovrebbe produrre risultati simili ai dati storici. È stato così per la simulazione mostrata nel video? In questo esercizio, esplorerai un modo per esaminare i risultati della simulazione e scoprirlo!
Per prima cosa, eseguirai una simulazione usando la distribuzione normale multivariata e la media e la matrice di covarianza di dia. Poi, confronterai le medie sia dei dati storici sia dei dati simulati. Sono simili?
L'insieme di dati sul diabete è stato caricato come DataFrame, dia, e sono già state importate le seguenti librerie: pandas come pd, numpy come np e scipy.stats come st.
Questo esercizio fa parte del corso
Simulazioni Monte Carlo in Python
Istruzioni dell'esercizio
- Esegui la simulazione 10.000 volte usando la distribuzione normale multivariata e la media e la matrice di covarianza di
dia. - Usa la funzione
.mean()di pandas per calcolare i valori medi delle colonnebmietcdell'insieme di dati storicodiae dei risultati simulatibmietcdadf_results, per valutare se sono simili. - Allo stesso modo, usa
.cov()di pandas per calcolare la matrice di covarianza delle colonnebmietcdidiae dei risultati simulatibmietcdadf_results, per valutare se sono simili.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
cov_dia = dia[["age", "bmi", "bp", "tc", "ldl", "hdl", "tch", "ltg", "glu"]].cov()
mean_dia = dia[["age", "bmi", "bp", "tc", "ldl", "hdl", "tch", "ltg", "glu"]].mean()
# Complete the code to perform the simulation
simulation_results = st.multivariate_normal.rvs(____)
df_results = pd.DataFrame(simulation_results,columns=["age", "bmi", "bp", "tc", "ldl", "hdl", "tch", "ltg", "glu"])
# Calculate bmi and tc means for the historical and simulated results
print(dia[["bmi","tc"]].____)
print(____)
# Calculate bmi and tc covariances for the historical and simulated results
print(____)
print(____)