Cele fitness
Zamodelujmy wpływ aktywności fizycznej na utratę wagi przy użyciu nowoczesnych monitorów aktywności. W dni, gdy chodzisz na siłownię, pokonujesz średnio około 15 000 kroków, a w pozostałe dni – około 5 000. Na siłownię chodzisz w 40% dni. Przyjmijmy, że liczba kroków w danym dniu jest zmienną losową o rozkładzie Poissona ze średnią \(\lambda\) zależną od tego, czy danego dnia odwiedzasz siłownię.
Dla uproszczenia załóżmy, że gdy pokonujesz ponad 10 000 kroków, masz 80% szans na utratę 0,5 kg i 20% szans na przybranie 0,5 kg. Gdy pokonujesz mniej niż 8 000 kroków, prawdopodobieństwa są odwrócone. W pozostałych przypadkach szanse na utratę i przybranie na wadze są równe. Korzystając z tych danych, oblicz prawdopodobieństwo utraty wagi w ciągu miesiąca.
To ćwiczenie jest częścią kursu
Symulacje statystyczne w Pythonie
Instrukcje do ćwiczenia
- Zasymuluj
stepsjako zmienną losową o rozkładzie Poissona dla danego dnia na podstawie wartościlam. - Ustaw
probna[0.2, 0.8], jeślisteps > 10000, lub na[0.8, 0.2], jeślisteps < 8000. Zsumuj całkowitą utratę lub przyrost wagi w ciągu miesiąca i zapisz wynik ww. - Oblicz i wypisz ułamek symulacji, w których łączna zmiana wagi w miesiącu zapisana w
outcomesjest mniejsza od 0. Zapisz wynik jakoweight_loss_outcomes_fraci użyj go do wyświetlenia rezultatów.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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(____))