首页 > 编程知识 正文

beta分布性质,beta分布参数的意义

时间:2023-05-03 10:23:46 阅读:222509 作者:2564

原作者:DavidRobinson    原文链接:http://varianceexplained.org/statistics/beta_distribution_and_baseball/

像正态分布、二项分布和均匀分布这样的一些分布,在统计学习当中往往会结合一些现实世界中的实际应用来解释,因此对于统计学的初学者来说也很容易清晰地理解这些分布。但是我发现Beta分布就很少会用这样可以凭直觉感知的方法来解释它的用处在哪里,而且Beta分布经常会和一些复杂的概念一起出现,比如“共轭先验”和“顺序统计量”。我对此感到羞愧,因为Beta分布背后的直观感受非常酷。

简而言之,Beta分布可以理解为它表示概率的概率分布——也就是在我们不知道一件事的概率是多少的时候,它能表示一个概率的所有可能值。下面这个例子是我最喜欢的解释:

懂棒球的人都会对棒球的安打率(击球率)很熟悉,简单来说就是他击中球的次数除以出手次数(译者表示自己不懂棒球,暂且这样解释,欢迎懂棒球的朋友指正),所以说击球率应该是一个0到1之间的数。通常认为平均的击球率是0.266,如果能达到0.300就非常棒了。

想象一下有一个棒球运动员,我们想要预测他这个赛季的击球率。你可能会说,我们就用他到目前为止的击球率就可以了。但如果是在赛季初做出的预测,结果会非常差!如果一个运动员刚出手一次就击中了,那他的击球率就是1.000了,如果他这次没有击中那击球率就是0.000。就算出手次数达到5到6次,他也很可能非常幸运地拿到1.000的击球率,或者非常不幸地得到一个0。无论是这两种情况中的哪一种都远远算不上对该运动员本赛季表现的很好的预测。

为什么用前几次击球的结果来预测最终的击球率就不好呢?当一个运动员的第一次出手没有击中的情况下,为什么没人预测他整个赛季一次都不会击中呢?因为我们有先前的期望,我们了解以往的情况,在一个赛季当中,大多数的击球率都是在0.215到0.360之间浮动的,只有极少数的情况下会出现极端的高或低的结果。我们都知道,假如一个运动员在最开始的几次失手,这可能意味着他最终的击球率会稍稍低于平均水平,但是不会偏离这个范围太远。

给定了这个击球率的问题,它可以用一个二项分布来表示(击球成功或失败)。用来表示这些先前的期望(统计学中叫先验概率)的最好的方法是Beta分布,就是说在我们看到这个运动员第一次挥棒以前,我们就能大致推测他的击球率是多少。Beta分布的定义域是(0,1),和概率的区间一样,所以我们已经知道我们的方向是对的,但是想让这个分布恰当地解决这个问题到这里还远远不够。

译注:这里稍微补充一点,使用Beta分布是因为Beta分布是二项分布的共轭先验分布,关于Beta-Binomial共轭,意思就是,数据符合二项分布的时候,参数的先验分布和后验分布都能保持Beta分布的形式,这种形式不变的好处是,我们能够在先验分布中赋予参数很明确的物理意义,这个物理意义可以延续到后验分布中进行解释,同时从先验变换到后验过程中从数据中补充的知识也容易有物理解释。(此处参考:http://cos.name/2013/01/lda-math-beta-dirichlet/)

我们预期这个运动员一个赛季的击球率大约是0.27,但在0.21到0.35之间都是合理的。这种情况可以用一个参数α=81和 β=219的Beta分布来表示:


我出于以下两个原因选择了这两个参数:

1.      平均数(期望)是α/(α+β)=81/(81+219)=0.270

2.      从图中你就可以看出来,这个分布几乎全部分布在(0.2,0.35)这个范围之间,也就是击球率的合理范围。

(关于参数的选取,参考:http://stats.stackexchange.com/questions/47916/bayesian-batting-average-prior/47921#47921)

在这个Beta分布密度图中,x轴代表的是他的击球率。因此请注意在这个实例当中,不仅y轴是概率(或者更准确地说是概率密度),x轴也是(击球率就是一次击球击中的概率)。这个Beta分布表示了一个概率的概率分布。

译注:这里有个小问题,概率跟概率密度的概念不等同,y轴代表的是概率密度。由于本文最初发表于http://stats.stackexchange.com/a/47782/8373,作为一个提问的答案。从原文评论来看作者是为了对应提问者的问题的表述(现在已经修改)才说y轴和x轴都表示概率。

但是为什么Beta分布会如此合理呢?想象一下如果这个运动员击中一次,他在本赛季的记录就是“击中一次,出手一次”。我们就需要更新我们的概率——我们想要将整个曲线稍稍移动一点来反映我们刚刚得到的信息。其中的数学原理可以参考这里,结果很简单。新的Beta分布如下:

Beta (α0+击中的次数,β0+未击中的次数)

其中α0 和 β0是初始参数,即81和219。因此在上述情况下,α增加1,β不变,也就是我们新的Beta分布为Beta(81+1,219)。让我们和之前的图像做个比较:


可以看到几乎没什么变化,这点改变几乎是用眼睛看不到的,这是因为一次击中代表不了什么。

然而,随着这个运动员在本赛季击中次数增加,这条曲线就会不断偏移调整来拟合新的信息,并且当我们的信息越多,基于实际情况调整后的曲线就会越窄。假设到赛季中期,运动员已经出手300次,其中100次击中。新的分布就是Beta(81+100,219+200):


可以看到,跟以前相比,曲线现在变得更“瘦”了,并且向右(更高的击中率)移动了,我们对于该运动员的集中率有了更好的感受。

我们最感兴趣的结果之一就是Beta分布的期望,也就是你最新的估计。复习一下,Beta分布的期望值是α/(α+β)。因此,在300次出手击中100次的情况下,新的Beta分布的期望值就是(82+100)/(82+100+219+200)=0.303,比单纯计算概率来估计击球率的方法100/(100+200)=0.333要低,但是比赛季初所做的预测0.270高了。其实这种方法相当于先赋予一个运动员击中和未击中的次数——也就是让他以81次击中和219次未击中的数据来作为该赛季的初始数据。

可以看到,Beta分布是表示概率的概率分布的最佳方式——我们可能无法提前知道一件事的概率,但是我们可以做一些合理的猜测。


该文章发布于2014年12月20日

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。