- A+
有人质疑打击率的作用,但正如C. Trent Rosecrans所说,“尽管如此,打击率相较于其他统计数据而言确实是有历史和背景意义。我们都知道AVG为0.300打者的水平怎么样,我们也知道AVG为0.200打者有多糟,以及AVG为0.400打者有多棒。”
在美国职业棒球大联盟(MLB)中,春季训练是在常规赛季开始之前的一系列练习和表演赛。
我会尝试解决以下两个问题:
-
如何解读2018年春季训练中的打击率
-
怎么比较两名球员的打击率
在进入代码内容之前,我会简要介绍一下Rasmus Bååth在他的视频中所讲的内容。
首先,我们需要三样东西来完成贝叶斯分析。
import matplotlib.pyplot as plt
import numpy as np
mu, sigma = 0, 0.1 # mean and standard deviation
s = np.random.normal(mu, sigma, 1000)
plt.hist(s)
就贝叶斯分析而言,我们会逆向生成模型并尝试用观测数据推断参数。
接着,我们选择一个感兴趣的球员,并对其统计数据进行分析。
纽约大都会队春季训练的统计页面
在我们的例子里,AVG是成功的概率,AB是试验次数,H是成功次数。
先记住这些术语,然后我们来 定义逆向生成模型 。
我们将从定义的均匀分布中随机选取一个概率值,并将此概率用作生成模型的参数。假设我们随机挑选的概率值为0.230,这意味着在二项分布中成功的概率为23%。
试验次数为1(DS有1个AB),如果生成模型的结果与我们观察到的结果相匹配(DS有1个H),那么概率值为0.230保持不变。如果我们重复这个过程并进行过滤,最终将得到一个概率分布,由它所得到的结果与我们观察到的结果相同。
这就是后验概率。
-
可信区间:根据观察数据,AVG的真实值落在可信区间内的概率为95%。
-
置信区间:当我们用这类数据计算置信区间时,有95%的置信区间会包含AVG的真实值。
注意两者的区别,可信区间是在给定固定边界情况下对参数值的概率描述,置信区间是在给定固定参数值情况下的边界概率。
在现实生活中,我们想知道的是真实的参数而不是边界,因此,贝叶斯可信区间是更合适的选择。在这种情况下,我们只对球员的真实AVG感兴趣。
有了上面的后验分布,我有95%的把握断定DS真正的AVG将在0.155到0.987之间。但这个范围太大了。换句话说,在没有先验知识并且在只观察了一次试验的情况下,我不太确定DS的真实AVG是多少。
场景二
对于第二个场景,我们假设知道上一年的春季训练的统计数据。
dominic_smith_spring.iloc[-2:]
posterior(ds_n_trials, ds_k_success, prior_i)
和在场景一中使用均匀分布的先验假设得到的后验结果相比,这里95%的分位数区域已经被缩小了。现在我有95%的把握断定DS的AVG会在0.095到0.340之间。
posterior(ds_n_trials, ds_k_success, prior_i_02)
现在我有95%的把握断定DS的真正AVG将在0.146到0.258之间。虽然范围不是很精确,但与场景一和场景二相比,场景三的可信区间要窄得多。
如果我们用Pymc3中的plot_posterior函数绘制DS_AVG、GC_AVG和DvG (DS_AVG - GC_AVG)的后验分布,我们可以看到图中出现的术语是HPD而不是分位数(quantile)。
最大后验密度(Highest Posterior Density,HPD)区间是我们可以对后验密度函数使用的另一种可信区间。HPD区间会选择包括众数在内的最大后验概率密度值所在的最窄区间。
在Rasmus Bååth的另一篇文章中,比较了分位数区间和最高密度区间,并提供了简单明晰的对比图。以下是六种不同后验分布中的众数和覆盖了95%的概率密度的最高密度区间。
文章链接:
http://www.sumsar.net/blog/2014/10/probable-points-and-credible-intervals-part-one/
可能的点和可信区间,第1部分:图形总结
分位数区间包含中位数,中位数落在区间左侧的概率是50%,落在右侧的概率也是50%,同时以95%的可信区间为例,落在区间任意一侧的概率是2.5%。
可能的点和可信区间,第1部分:图形总结
就DS和GC的AVG来看,它们的众数和中位数看起来并没有多大区别,若实际情况确实如此,两位选手AVG的HPD区间和分位数区间应该也大致相同。让我们看看它们到底长什么样。
pm.summary(trace)