Aan de slagGa gratis aan de slag

Fitnessdoelen

Laten we modelleren hoe activiteitsniveaus gewichtsverlies beïnvloeden met moderne fitnesstrackers. Op dagen dat je naar de sportschool gaat, zet je gemiddeld zo'n 15k stappen, en anders ongeveer 5k. Je gaat 40% van de tijd naar de sportschool. We modelleren het aantal stappen op een dag als een Poisson-toevalsvariabele met een gemiddelde \(\lambda\) dat afhangt van of je naar de sportschool gaat of niet.

Voor de eenvoud: je hebt 80% kans om 1 lb af te vallen en 20% kans om 1 lb aan te komen wanneer je meer dan 10k stappen zet. De kansen zijn omgedraaid wanneer je minder dan 8k stappen zet. Anders is de kans om 1 lb aan te komen of af te vallen gelijk. Bepaal, gegeven al deze informatie, de kans om in een maand af te vallen.

Deze oefening maakt deel uit van de cursus

Statisticale simulatie in Python

Cursus bekijken

Oefeninstructies

  • Simuleer steps als een Poisson-toevalsvariabele voor een gegeven dag op basis van de waarde van lam.
  • Zet prob op [0.2, 0.8] als steps > 10000 of op [0.8, 0.2] als steps < 8000. Tel alle in een maand verloren of gewonnen gewicht op in w.
  • Bereken en print het deel van de simulaties waarbij het totale gewicht voor een maand in outcomes kleiner is dan 0. Sla dit op als weight_loss_outcomes_frac en gebruik dat om je resultaten te printen.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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 bewerken en uitvoeren