IniziaInizia gratis

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

Visualizza il corso

Istruzioni dell'esercizio

  • Simula steps come variabile casuale di Poisson per un dato giorno in base al valore di lam.
  • Imposta prob a [0.2, 0.8] se steps > 10000 oppure a [0.8, 0.2] se steps < 8000. Somma tutto il peso perso o guadagnato in un mese memorizzato in w.
  • Calcola e stampa la frazione di simulazioni in cui il peso totale per un mese in outcomes è minore di 0. Salva come weight_loss_outcomes_frac e 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(____))
Modifica ed esegui il codice