Фітнес-цілі
С змоделюймо, як рівень активності впливає на зниження ваги, використовуючи сучасні фітнес-трекери. У дні, коли ви йдете до спортзалу, у вас у середньому близько 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(____))