CommencezCommencez gratuitement

Objectifs de mise en forme

Modélisons l'effet du niveau d'activité sur la perte de poids à l'aide de bracelets d'activité modernes. Les jours où vous allez au gym, vous faites en moyenne 15 k pas, et environ 5 k pas autrement. Vous allez au gym 40 % du temps. Modélisons le nombre de pas par jour comme une variable aléatoire de Poisson avec une moyenne \(\lambda\) qui dépend du fait que vous alliez ou non au gym.

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 k pas. Les probabilités sont inversées lorsque vous faites moins de 8 k pas. Sinon, les chances de gagner ou de perdre 1 lb sont égales. À partir de ces informations, trouvez la probabilité de perdre du poids sur un mois.

Cette activité fait partie du cours

Simulation statistique en Python

Voir le cours

Instructions de l’exercice

  • Simulez steps comme une variable aléatoire de Poisson pour une journée donnée selon la valeur de lam.
  • Attribuez prob à [0.2, 0.8] si steps > 10000 ou à [0.8, 0.2] si steps < 8000. Additionnez tous les gains et pertes de poids du mois enregistrés dans w.
  • Calculez et affichez la fraction des simulations où le poids total pour 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 ce code d’exemple.

# 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