LoslegenKostenlos loslegen

Warum brauchen wir Simulationen?

In der letzten Lektion hast du eine multivariate Normalverteilung mit dem Mittelwert- und Kovarianzmatrix von dia verwendet. Jetzt beantwortest du spannende Fragen mit den simulierten Ergebnissen!

Vielleicht fragst du dich: Warum führen wir Simulationen durch, wenn wir historische Daten haben? Können wir nicht einfach die Daten selbst verwenden, um interessante Fragen zu beantworten?

Gute Frage. Monte-Carlo-Simulationen basieren auf Modellierung mit Wahrscheinlichkeitsverteilungen. So erhältst du die gesamte Wahrscheinlichkeitsverteilung zur Analyse (eine große Anzahl von Stichproben) statt nur der begrenzten Anzahl an Datenpunkten aus den historischen Daten.

Du kannst zum Beispiel fragen: Wie lautet das 0,1%-Quantil der Variablen age für die Diabetespatient:innen in unserer Simulation? Diese Frage können wir mit den historischen Daten dia nicht beantworten: Mit nur 442 Einträgen können wir den eintausendsten Wert nicht berechnen. Stattdessen kannst du die Ergebnisse einer Monte-Carlo-Simulation nutzen – genau das machst du jetzt!

Der Diabetes-Datensatz wurde als DataFrame dia geladen. Folgende Bibliotheken wurden bereits für dich importiert: pandas als pd, numpy als np und scipy.stats als st.

Diese Übung ist Teil des Kurses

Monte-Carlo-Simulationen in Python

Kurs anzeigen

Anleitung zur Übung

  • Berechne das 0,1%-Quantil (das kleinste Tausendstel) der Variablen tc in den simulierten Ergebnissen.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

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(____)
Code bearbeiten und ausführen