LoslegenKostenlos loslegen

Fitnessziele

Lass uns modellieren, wie sich Aktivitätslevel mithilfe moderner Fitness-Tracker auf den Gewichtsverlust auswirken. An Tagen, an denen du ins Fitnessstudio gehst, machst du im Schnitt etwa 15.000 Schritte, sonst etwa 5.000 Schritte. Du gehst in 40 % der Fälle ins Gym. Wir modellieren die Schrittzahl pro Tag als Poisson-Zufallsvariable mit einem Mittelwert \(\lambda\), der davon abhängt, ob du ins Gym gehst oder nicht.

Der Einfachheit halber nehmen wir an: Wenn du mehr als 10.000 Schritte machst, hast du zu 80 % die Chance, 1 lb abzunehmen, und zu 20 % die Chance, 1 lb zuzunehmen. Bei weniger als 8.000 Schritten sind die Wahrscheinlichkeiten umgekehrt. Andernfalls ist die Wahrscheinlichkeit, 1 lb zuzunehmen oder abzunehmen, gleich. Bestimme mit all diesen Informationen die Wahrscheinlichkeit, im Laufe eines Monats Gewicht zu verlieren.

Diese Übung ist Teil des Kurses

Statistische Simulation in Python

Kurs anzeigen

Anleitung zur Übung

  • Simuliere steps als Poisson-Zufallsvariable für einen gegebenen Tag basierend auf dem Wert von lam.
  • Setze prob auf [0.2, 0.8], wenn steps > 10000, oder auf [0.8, 0.2], wenn steps < 8000. Summiere den gesamten Gewichtsverlust bzw. -zuwachs eines Monats, gespeichert in w.
  • Berechne und gib den Anteil der Simulationen aus, in denen das Gesamtgewicht für einen Monat in outcomes kleiner als 0 ist. Speichere ihn als weight_loss_outcomes_frac und nutze ihn, um deine Ergebnisse auszugeben.

Interaktive Übung

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

# Simulate steps & choose prob 
for _ in range(sims):
    w = []
    for i in range(days):
        lam = np.random.choice([5000, 15000], p=[0.6, 0.4], size=1)
        ____ = np.random.poisson(____)
        if steps > 10000: 
            prob = ____
        elif steps < 8000: 
            prob = ____
        else:
            prob = [0.5, 0.5]
        w.append(np.random.choice([1, -1], p=prob))
    outcomes.append(sum(w))

# Calculate fraction of outcomes where there was a weight loss
weight_loss_outcomes_frac = ____
print("Probability of Weight Loss = {}".format(____))
Code bearbeiten und ausführen