健身目标
让我们用现代健身追踪器来建模活动水平如何影响减重。去健身房的日子,您平均大约走 15k 步;不去时大约 5k 步。您有 40% 的时间会去健身房。把一天的步数建模为 Poisson 随机变量,其均值 \(\lambda\) 取决于您是否去健身房。
为简单起见,若您当天步数超过 10k,则有 80% 的概率减重 1lb、20% 的概率增重 1lb;当步数少于 8k 时,概率反转。否则,增减 1lb 的概率各一半。基于以上信息,求一个月内减重的概率。
本练习是课程的一部分
Python 中的统计模拟
练习说明
- 根据
lam的取值,将某一天的steps按 Poisson 随机变量进行模拟。 - 若
steps > 10000,将prob设为[0.2, 0.8];若steps < 8000,将prob设为[0.8, 0.2]。把一个月内记录在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(____))