ПочатиПочніть безкоштовно

Фітнес-цілі

С змоделюймо, як рівень активності впливає на зниження ваги, використовуючи сучасні фітнес-трекери. У дні, коли ви йдете до спортзалу, у вас у середньому близько 15 тис. кроків, і близько 5 тис. кроків в інші дні. Ви відвідуєте спортзал у 40% випадків. Змоделюймо кількість кроків за день як пуассонівську випадкову величину з параметром \(\lambda\), що залежить від того, чи йдете ви до спортзалу.

Для простоти припустімо: якщо ви робите понад 10 тис. кроків, то маєте 80% ймовірності схуднути на 1 фунт і 20% — набрати 1 фунт. Якщо менше ніж 8 тис. кроків — імовірності навпаки. В інших випадках шанси схуднути або набрати 1 фунт рівні. Враховуючи все це, знайдіть імовірність схуднення за місяць.

Ця вправа є частиною курсу

Статистичне моделювання в Python

Переглянути курс

Інструкції до вправи

  • Змоделюйте steps як пуассонівську випадкову величину для заданого дня на основі значення lam.
  • Встановіть prob як [0.2, 0.8], якщо steps > 10000, або як [0.8, 0.2], якщо steps < 8000. Підсумуйте всю втрату чи набір ваги за місяць у змінній w.
  • Обчисліть і виведіть частку симуляцій, у яких загальна вага за місяць у outcomes є меншою за 0. Збережіть як weight_loss_outcomes_frac і використайте це, щоб вивести результати.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# 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(____))
Редагувати та запускати код