开始使用免费开始使用

无安打出现的频率有多高?

现代美国职业棒球大联盟(1901-2015 年)中每次无安打之间所经历比赛的场次数,已存储在数组 nohitter_times 中。

如果假设无安打事件服从泊松过程,那么无安打之间的时间服从指数分布。正如您所见,指数分布只有一个参数,我们记为 $\tau\(,表示典型的间隔时间。使指数分布最符合数据的参数 \)\tau$ 的取值,就是无安打之间的平均间隔时间(时间单位为比赛场数)。

请根据数据计算该参数的值。然后,使用 np.random.exponential(),以您求得的 \(\tau\) 为参数,从指数分布中抽取无安打间隔时间来"重现"大联盟的历史,并将所得的直方图绘制为 PDF 的近似。

NumPy、pandas、matplotlib.pyplot 和 seaborn 已分别以 nppdpltsns 的名称为您导入。

本练习是课程的一部分

Python 统计思维(第 2 部分)

查看课程

练习说明

  • 使用 42 为随机数生成器设定种子。
  • 计算无安打之间的平均时间(单位为比赛场数)。
  • 从参数为您根据无安打间隔均值计算得到的指数分布中抽取 100,000 个样本。
  • 使用 plt.hist() 绘制理论 PDF。请使用关键字参数 bins=50normed=Truehisttype='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()
编辑并运行代码