无安打比赛有多常见?
现代美国职业棒球大联盟(1901-2015)中每次无安打之间经历的比赛场次数,已存储在数组 nohitter_times 中。
如果假设无安打事件遵循泊松过程,那么两次无安打之间的时间服从指数分布。正如您所见,指数分布只有一个参数,我们记为 $\tau\(,代表典型间隔时间。使指数分布与数据最匹配的 \)\tau$ 值,就是无安打之间的平均间隔时间(时间单位为比赛场次)。
请根据数据计算该参数的值。然后,使用 np.random.exponential(),以您求得的 \(\tau\) 为参数,从指数分布中抽取两次无安打之间的间隔时间,用以"重现"大联盟的历史,并绘制直方图来近似 PDF。
NumPy、pandas、matplotlib.pyplot 和 seaborn 已分别以 np、pd、plt 和 sns 的名称导入。
本练习是课程的一部分
Python 统计思维(第 2 部分)
练习说明
- 使用
42设置随机数种子。 - 计算无安打之间的平均时间(单位为比赛场次)。
- 从具有该参数的指数分布中抽取 100,000 个样本,该参数由两次无安打间隔的均值得到。
- 使用
plt.hist()绘制理论 PDF。请使用关键字参数bins=50、density=True和histtype='step'。请务必为坐标轴添加标签。 - 显示图表。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Seed random number generator
____
# Compute mean no-hitter time: tau
tau = ____
# Draw out of an exponential distribution with parameter tau: inter_nohitter_time
inter_nohitter_time = ____(____, 100000)
# Plot the PDF and label axes
_ = ____(inter_nohitter_time,
____, ____, ____)
_ = plt.xlabel('Games between no-hitters')
_ = plt.ylabel('PDF')
# Show the plot
plt.show()