CommencerCommencer gratuitement

Objectifs forme physique

Modélisons l’impact du niveau d’activité sur la perte de poids à l’aide de traqueurs d’activité modernes. Les jours où vous allez à la salle de sport, vous faites en moyenne 15 000 pas, et environ 5 000 pas sinon. Vous allez à la salle 40 % du temps. Modélisons le nombre de pas quotidien comme une variable aléatoire de Poisson, de moyenne \(\lambda\) dépendant du fait que vous alliez à la salle ou non.

Pour simplifier, disons que vous avez 80 % de chances de perdre 1 lb et 20 % de chances de gagner 1 lb lorsque vous dépassez 10 000 pas. Les probabilités sont inversées lorsque vous faites moins de 8 000 pas. Sinon, vous avez une chance sur deux de perdre ou de gagner 1 lb. Avec toutes ces informations, trouvez la probabilité de perdre du poids sur un mois.

Cet exercice fait partie du cours

Simulation statistique en Python

Afficher le cours

Instructions

  • Simulez steps comme une variable aléatoire de Poisson pour un jour donné en fonction de la valeur de lam.
  • Affectez prob à [0.2, 0.8] si steps > 10000 ou à [0.8, 0.2] si steps < 8000. Faites la somme de tout le poids perdu ou gagné sur un mois, stocké dans w.
  • Calculez et affichez la fraction des simulations où le poids total sur un mois dans outcomes est inférieur à 0. Enregistrez-la sous weight_loss_outcomes_frac et utilisez-la pour afficher vos résultats.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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(____))
Modifier et exécuter le code