Beta分布

2024-05-11 12:45

1. Beta分布

用一句话来说,beta分布可以看作一个概率的概率分布,当你不知道一个东西的具体概率是多少时,它可以给出了所有概率出现的可能性大小。
  
 举一个简单的例子,熟悉棒球运动的都知道有一个指标就是棒球击球率(batting average),就是用一个运动员击中的球数除以击球的总数,我们一般认为0.266是正常水平的击球率,而如果击球率高达0.3就被认为是非常优秀的。
  
 现在有一个棒球运动员,我们希望能够预测他在这一赛季中的棒球击球率是多少。你可能就会直接计算棒球击球率,用击中的数除以击球数,但是如果这个棒球运动员只打了一次,而且还命中了,那么他就击球率就是100%了,这显然是不合理的,因为根据棒球的历史信息,我们知道这个击球率应该是0.215到0.36之间才对啊。
  
 对于这个问题,我们可以用一个二项分布表示(一系列成功或失败),一个最好的方法来表示这些经验(在统计中称为先验信息)就是用beta分布,这表示在我们没有看到这个运动员打球之前,我们就有了一个大概的范围。beta分布的定义域是(0,1)这就跟概率的范围是一样的。
  
 接下来我们将这些先验信息转换为beta分布的参数,我们知道一个击球率应该是平均0.27左右,而他的范围是0.21到0.35,那么根据这个信息,我们可以取α=81,β=219
                                          
 之所以取这两个参数是因为:
  
 beta分布的均值是αα+β=8181+219=0.27αα+β=8181+219=0.27
   从图中可以看到这个分布主要落在了(0.2,0.35)间,这是从经验中得出的合理的范围。
  
 在这个例子里,我们的x轴就表示各个击球率的取值,x对应的y值就是这个击球率所对应的概率。也就是说beta分布可以看作一个概率的概率分布。
  
 那么有了先验信息后,现在我们考虑一个运动员只打一次球,那么他现在的数据就是”1中;1击”。这时候我们就可以更新我们的分布了,让这个曲线做一些移动去适应我们的新信息。beta分布在数学上就给我们提供了这一性质,他与二项分布是共轭先验的(Conjugate_prior)。所谓共轭先验就是先验分布是beta分布,而后验分布同样是beta分布。结果很简单:
   Beta(α0+hits,β0+misses)
   Beta(α0+hits,β0+misses)
   其中α0α0和β0β0是一开始的参数,在这里是81和219。所以在这一例子里,αα增加了1(击中了一次)。ββ没有增加(没有漏球)。这就是我们的新的beta分布Beta(81+1,219)Beta(81+1,219),我们跟原来的比较一下:
                                          
 可以看到这个分布其实没多大变化,这是因为只打了1次球并不能说明什么问题。但是如果我们得到了更多的数据,假设一共打了300次,其中击中了100次,200次没击中,那么这一新分布就是:
   beta(81+100,219+200)
                                          
 一个有趣的事情是,根据这个新的beta分布,我们可以得出他的数学期望为:αα+β=82+10082+100+219+200=.303αα+β=82+10082+100+219+200=.303 ,这一结果要比直接的估计要小 100100+200=.333100100+200=.333 。你可能已经意识到,我们事实上就是在这个运动员在击球之前可以理解为他已经成功了81次,失败了219次这样一个先验信息。
  
 因此,对于一个我们不知道概率是什么,而又有一些合理的猜测时,beta分布能很好的作为一个表示概率的概率分布。

Beta分布

2. 如何通俗理解beta分布

beta分布介绍
相信大家学过统计学的都对 正态分布 二项分布 均匀分布 等等很熟悉了,但是却鲜少有人去介绍beta分布的。

用一句话来说,beta分布可以看作一个概率的概率分布,当你不知道一个东西的具体概率是多少时,它可以给出了所有概率出现的可能性大小。

举一个简单的例子,熟悉棒球运动的都知道有一个指标就是棒球击球率(batting average),就是用一个运动员击中的球数除以击球的总数,我们一般认为0.266是正常水平的击球率,而如果击球率高达0.3就被认为是非常优秀的。

现在有一个棒球运动员,我们希望能够预测他在这一赛季中的棒球击球率是多少。你可能就会直接计算棒球击球率,用击中的数除以击球数,但是如果这个棒球运动员只打了一次,而且还命中了,那么他就击球率就是100%了,这显然是不合理的,因为根据棒球的历史信息,我们知道这个击球率应该是0.215到0.36之间才对啊。

对于这个问题,我们可以用一个二项分布表示(一系列成功或失败),一个最好的方法来表示这些经验(在统计中称为先验信息)就是用beta分布,这表示在我们没有看到这个运动员打球之前,我们就有了一个大概的范围。beta分布的定义域是(0,1)这就跟概率的范围是一样的。

接下来我们将这些先验信息转换为beta分布的参数,我们知道一个击球率应该是平均0.27左右,而他的范围是0.21到0.35,那么根据这个信息,我们可以取α=81,β=219

3. 如何理解Beta分布和Dirichlet分布

1. 如果给你一个硬币,投这个硬币有\theta的概率抛出Head,有(1-\theta)的概率抛出Tail。如果在未来抛了五次这个硬币,有三次是Head,有两次是Tail,这个\theta最有可能是多少呢?如果你必须给出一个确定的值,并且你完全根据目前观测的结果来估计\theta,那么\theta = 3/5。


2. 如果未来抛出五次硬币,全部都是Head。那么按照1中的逻辑,你将估计\theta为1。也就是说,你估计这枚硬币不管怎么投,都朝上!

3. 可是,你想这或许是巧合:世界上没有这么屌的硬币,硬币还是有一定可能抛出Tail的。就算观测到再多次的Head,抛出Tail的概率还是不可能为0。

4. 这时候,Bayesian公式横空出世。我们在估计\theta时,心中先有一个估计,即先验概率。这个估计,表现在Probability中,就是一个概率分布。通俗得来讲,我们不再认为\theta是个固定的值了。
5. 在上面的Bayesian公式中,p(\theta)就是个概率分布。这个概率分布可以是任何概率分布,比如高斯分布,比如我们想要说的Beta Distribution。下图是Beta(5,2)的概率分布图。如果我们将这个概率分布作为p(\theta),那么我们在还未抛硬币前,便认为\theta很可能接近于0.8,而不大可能是个很小的值或是一个很大的值。即,我们在抛硬币前,便估计这枚硬币更可能有0.8的概率抛出正面。
6. 虽然p(\theta)可以是任何种类的概率分布,但是如果使用Beta Distribution,会让之后的计算更加方便。我们接着继续看便知道这是为什么了。况且,通过调节Beta Distribution中的a和b,你可以让这个概率分布变成各种你想要的形状!Beta Distribution已经很足够表达你事先对\theta的估计了。

7. 现在我们已经估计好了p(\theta)为一个Beta Distribution,那么p(X|\theta)是多少呢?其实就是个二项分布。继续以1中抛5次硬币抛出3次Head为例,X=抛5次硬币抛出3个Head的事件。


8. Bayesian公式下的p(X)是个Normalizer,或者叫做marginal probability。在\theta离散的情况下,p(X)就是\theta为不同值的时候,p(X|\theta)的求和。比如,如果我们事先估计硬币抛出正面的概率只可能是0.5或者0.8,那么p(X) = p(X|\theta=0.5)+p(X|\theta=0.8),计算时分别将\theta=0.5和\theta=0.8代入到7中的公式中。而如果我们用Beta Distribution,\theta的概率分布在[0,1]之间是连续的,所以要用积分。

9. p(\theta)是个Beta Distribution,那么在观测到X=抛5次硬币中有3个head的事件后,p(\theta|X)依旧是个Beta Distribution!只是这个概率分布的形状因为观测的事件而发生了变化。

如何理解Beta分布和Dirichlet分布