Obiettivi fitness
Modelliamo come i livelli di attività influenzano la perdita di peso usando i moderni fitness tracker. Nei giorni in cui vai in palestra fai in media circa 15.000 passi, altrimenti circa 5.000. Vai in palestra nel 40% dei casi. Modelliamo il numero di passi giornalieri come una variabile casuale di Poisson con media \(\lambda\) che dipende dal fatto che tu vada o meno in palestra.
Per semplicità, diciamo che hai l’80% di probabilità di perdere 1 lb e il 20% di probabilità di prendere 1 lb quando superi i 10.000 passi. Le probabilità si invertono quando fai meno di 8.000 passi. Altrimenti, c’è la stessa probabilità di prendere o perdere 1 lb. Con tutte queste informazioni, trova la probabilità di perdere peso in un mese.
Questo esercizio fa parte del corso
Simulazione statistica in Python
Istruzioni dell'esercizio
- Simula
stepscome variabile casuale di Poisson per un dato giorno in base al valore dilam. - Imposta
proba[0.2, 0.8]sesteps > 10000oppure a[0.8, 0.2]sesteps < 8000. Somma tutto il peso perso o guadagnato in un mese memorizzato inw. - Calcola e stampa la frazione di simulazioni in cui il peso totale per un mese in
outcomesè minore di 0. Salva comeweight_loss_outcomes_frace usala per stampare i risultati.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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(____))