Obiective de fitness
Să modelăm impactul nivelului de activitate asupra pierderii în greutate folosind trackere moderne de fitness. În zilele în care mergi la sală, faci în medie aproximativ 15.000 de pași, iar în celelalte zile, aproximativ 5.000. Mergi la sală 40% din timp. Să modelăm numărul de pași dintr-o zi ca o variabilă aleatoare Poisson cu media \(\lambda\) dependentă de dacă mergi sau nu la sală.
Pentru simplitate, să presupunem că ai o șansă de 80% să slăbești 1 lb și de 20% să te îngrași cu 1 lb atunci când faci mai mult de 10.000 de pași. Probabilitățile sunt inversate când faci mai puțin de 8.000 de pași. În caz contrar, șansele de a slăbi sau de a te îngrăși sunt egale. Pe baza tuturor acestor informații, calculează probabilitatea de a slăbi într-o lună.
Acest exercițiu face parte din cursul
Simulare statistică în Python
Instrucțiuni pentru exercițiu
- Simulează
stepsca o variabilă aleatoare Poisson pentru o zi dată, în funcție de valoarea luilam. - Setează
probla[0.2, 0.8]dacăsteps > 10000sau la[0.8, 0.2]dacăsteps < 8000. Calculează suma tuturor kilogramelor pierdute sau câștigate într-o lună, stocată înw. - Calculează și afișează fracția simulărilor în care greutatea totală pe o lună din
outcomeseste mai mică decât 0. Salvează rezultatul înweight_loss_outcomes_fracși folosește-l pentru a afișa rezultatele.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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(____))