Aan de slagGa gratis aan de slag

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

Cursus bekijken

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 kolommen bmi en tc van de historische gegevensset dia en van de gesimuleerde bmi- en tc-resultaten uit df_results, om te beoordelen of ze vergelijkbaar zijn.
  • Gebruik op dezelfde manier .cov() uit pandas om de covariantiematrix te berekenen van de kolommen bmi en tc van dia en van de gesimuleerde bmi- en tc-resultaten uit df_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(____)
Code bewerken en uitvoeren