Kom igångKom igång gratis

Träningsmål

Nu ska vi modellera hur aktivitetsnivåer påverkar viktnedgång med hjälp av moderna aktivitetsspårare. På dagar när du tränar på gymmet tar du i genomsnitt 15 000 steg, och annars ungefär 5 000 steg. Du tränar på gymmet 40 % av dagarna. Vi modellerar antalet steg per dag som en Poisson-slumpvariabel med ett medelvärde \(\lambda\) som beror på om du tränar på gymmet eller inte.

För enkelhets skull antar vi att du har 80 % chans att gå ner 1 lb och 20 % chans att gå upp 1 lb när du tar mer än 10 000 steg. Sannolikheterna är omvända när du tar färre än 8 000 steg. Annars är chansen att gå upp eller ned lika stor. Beräkna sannolikheten att gå ned i vikt under en månad utifrån all denna information.

Den här övningen är en del av kursen

Statistisk simulering i Python

Visa kurs

Övningsinstruktioner

  • Simulera steps som en Poisson-slumpvariabel för en given dag baserat på värdet av lam.
  • Sätt prob till [0.2, 0.8] om steps > 10000, eller till [0.8, 0.2] om steps < 8000. Summera all vikt som förlorats eller vunnits under en månad och lagra resultatet i w.
  • Beräkna och skriv ut andelen simuleringar där den totala vikten för en månad i outcomes är mindre än 0. Spara resultatet som weight_loss_outcomes_frac och använd det för att skriva ut dina resultat.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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(____))
Redigera och kör kod