Gesimuleerde en historische data vergelijken
Een goede simulatie levert vergelijkbare resultaten op als de historische data. Gold dat voor de simulatie in de video? In deze oefening bekijk je een manier om de simulatieresultaten te onderzoeken en kom je erachter!
Eerst voer je een simulatie uit met de multivariate normale verdeling en de gemiddelde waarden en covariantiematrix van dia. Daarna controleer je de gemiddelden van zowel de historische als de gesimuleerde data. Lijken ze op elkaar?
De diabetesgegevensset is geladen als een DataFrame, dia, en de volgende bibliotheken zijn al voor je geïmporteerd: pandas als pd, numpy als np en scipy.stats als st.
Deze oefening maakt deel uit van de cursus
Monte Carlo-simulaties in Python
Oefeninstructies
- Voer de simulatie 10.000 keer uit met de multivariate normale verdeling en de gemiddelde waarden en covariantiematrix van
dia. - Gebruik de functie
.mean()in pandas om de gemiddelde waarden te berekenen van de kolommenbmientcvan de historische gegevenssetdiaen van de gesimuleerdebmi- entc-resultaten uitdf_results, om te beoordelen of ze vergelijkbaar zijn. - Gebruik op dezelfde manier
.cov()uit pandas om de covariantiematrix te berekenen van de kolommenbmientcvandiaen van de gesimuleerdebmi- entc-resultaten uitdf_results, om te beoordelen of ze vergelijkbaar zijn.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
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(____)