Perché abbiamo bisogno delle simulazioni?
Nell'ultima lezione hai eseguito una distribuzione normale multivariata usando la media e la matrice di covarianza di dia. Ora risponderai a domande di interesse usando i risultati simulati!
Potresti chiederti: perché eseguiamo simulazioni quando abbiamo dati storici? Non possiamo semplicemente usare i dati stessi per rispondere alle domande che ci interessano?
Ottima domanda. Le simulazioni Monte Carlo si basano sulla modellazione con distribuzioni di probabilità, che forniscono l'intera distribuzione di probabilità da esplorare (un numero elevato di campioni), invece del numero limitato di punti dati disponibili nei dati storici.
Per esempio, puoi chiederti: qual è il quantile 0,1 della variabile age per i pazienti con diabete nella nostra simulazione? Non possiamo rispondere a questa domanda con i dati storici dia stessi: poiché contiene solo 442 record, non possiamo calcolare qual è il millesimo valore. Invece, puoi sfruttare i risultati di una simulazione Monte Carlo, che è esattamente ciò che farai ora!
L'insieme di dati sul diabete è stato caricato come DataFrame dia e le seguenti librerie sono state importate per te: 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
- Calcola il quantile 0,1 (il millesimo inferiore) della variabile
tcnei risultati simulati.
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()
simulation_results = st.multivariate_normal.rvs(mean=mean_dia, size=10000, cov=cov_dia)
df_results = pd.DataFrame(simulation_results, columns=["age", "bmi", "bp", "tc", "ldl", "hdl", "tch", "ltg", "glu"])
# Calculate the 0.1st quantile of the tc variable
print(____)