Comparer les données simulées et les données historiques
Une bonne simulation devrait produire des résultats semblables aux données historiques. Est-ce que c'était le cas pour la simulation de la vidéo? Dans cet exercice, vous allez explorer une façon d'examiner les résultats de la simulation pour le vérifier!
D'abord, vous effectuerez une simulation à l'aide de la loi normale multivariée et de la moyenne et de la matrice de covariance de dia. Ensuite, vous comparerez les moyennes des données historiques et des données simulées. Sont-elles similaires?
Le jeu de données sur le diabète 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.
Cette activité fait partie du cours
Simulations de Monte-Carlo en Python
Instructions de l’exercice
- Effectuez la simulation 10 000 fois à l'aide de la loi normale multivariée et de la moyenne ainsi que de la matrice de covariance de
dia. - Utilisez la fonction
.mean()de pandas pour calculer les valeurs moyennes des colonnesbmiettcdu jeu de données historiquedia, ainsi que les résultats simulésbmiettcdedf_results, afin d'évaluer s'ils sont similaires. - De la même manière, utilisez
.cov()de pandas pour calculer la matrice de covariance des colonnesbmiettcdedia, ainsi que des résultats simulésbmiettcdedf_results, afin d'évaluer s'ils sont similaires.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
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(____)