Začněte nyníZačněte zdarma

Fitness cíle

Pojďme si nasimulovat, jak úroveň aktivity ovlivňuje hubnutí pomocí moderních fitness náramků. V dnech, kdy chodíš do posilovny, ujdeš průměrně 15 000 kroků, jinak přibližně 5 000. Do posilovny chodíš ve 40 % případů. Počet kroků za den budeme modelovat jako Poissonovu náhodnou proměnnou se střední hodnotou \(\lambda\), která závisí na tom, zda jdeš do posilovny, nebo ne.

Pro zjednodušení předpokládejme, že při více než 10 000 krocích je 80% šance na úbytek 0,5 kg a 20% šance na přírůstek 0,5 kg. Při méně než 8 000 krocích jsou pravděpodobnosti obrácené. Jinak je šance na přírůstek nebo úbytek 0,5 kg stejná. Na základě těchto informací zjisti pravděpodobnost, že za měsíc zhubnete.

Toto cvičení je součástí kurzu

Statistické simulace v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Nasimuluj steps jako Poissonovu náhodnou proměnnou pro daný den podle hodnoty lam.
  • Nastav prob na [0.2, 0.8], pokud steps > 10000, nebo na [0.8, 0.2], pokud steps < 8000. Sečti celkový přírůstek nebo úbytek hmotnosti za měsíc uložený v w.
  • Vypočítej a vypiš podíl simulací, kde celková změna hmotnosti za měsíc v outcomes je menší než 0. Ulož ho jako weight_loss_outcomes_frac a použij ho k výpisu výsledků.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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(____))
Upravit a spustit kód