Pourquoi avons-nous besoin de simulations ?
Dans la leçon précédente, vous avez utilisé une loi normale multivariée à partir de la moyenne et de la matrice de covariance de dia. Vous allez maintenant répondre à des questions d’intérêt en vous appuyant sur les résultats simulés !
Vous vous demandez peut-être : pourquoi réaliser des simulations quand on dispose de données historiques ? Ne pourrait-on pas simplement utiliser ces données pour répondre aux questions qui nous intéressent ?
Excellente question. Les simulations de Monte Carlo reposent sur des modèles utilisant des lois de probabilité, qui fournissent l’ensemble de la distribution de probabilité à analyser (un grand nombre d’échantillons), plutôt qu’un nombre limité de points de données comme dans les historiques.
Par exemple, vous pouvez poser la question suivante : quel est le quantile 0,1 de la variable age pour les patients diabétiques de notre simulation ? On ne peut pas y répondre avec les données historiques dia elles-mêmes : avec seulement 442 enregistrements, il est impossible de calculer la millième valeur. En revanche, vous pouvez exploiter les résultats d’une simulation de Monte Carlo, ce que vous allez faire maintenant !
Le jeu de données diabetes a été chargé dans un DataFrame dia, et les bibliothèques suivantes ont été importées pour vous : pandas sous pd, numpy sous np, et scipy.stats sous st.
Cet exercice fait partie du cours
Simulations de Monte Carlo en Python
Instructions
- Calculez le quantile 0,1 (le millième inférieur) de la variable
tcdans les résultats simulés.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
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(____)