开始使用免费开始使用

健身目标

让我们用现代健身追踪器来建模活动水平如何影响减重。去健身房的日子,您平均大约走 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(____))
编辑并运行代码