初识beta分布

本文通过生动的例子,深入浅出地介绍了Beta分布的由来及其与二项式分布的关系。通过对一个具体问题的数学推导,揭示了Beta分布作为概率的概率分布的本质。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Demon看神奇的Beta分布与二项式分布

前言

最近几日一直在研究统计学的各种分布,看的云里雾里。这次主要总结几个问题,第一,Beta分布的前生今世,它是用来干嘛?第二,Beta分布和二项式分布有什么关系。这期间参考的资料有很多:

上述几篇博文还是讲的比较通俗易懂的,本文对它们重新整理一遍,并加入自己的思考,希望能从中挖出精髓。在阅读此文之前,仅需知道二项式分布的基本概念即可,以及简单的概率论知识。

Beta分布的由来

先思考一个问题,该问题摘自博文LDA-math-认识Beta/Dirichlet分布(1),对该问题的求解重新解读。

Question1:

有一天你被魔鬼撒旦抓走了,撒旦说:”你们人类很聪明,而我是很仁慈的,和你玩一个游戏,赢了就可以走,否则把灵魂出卖给我。游戏的规则很简单,我有一个魔盒,上面有一个按钮,你每按一下按钮,就均匀的输出一个[0,1]之间的随机数,我现在按10下,我手上有10个数,你猜第7大的数是什么,偏离不超过0.01就算对。“ 你应该怎么猜呢?

这个问题说的是什么,我一开始没搞明白,如何根据题目所提供信息去求解第七大的数?有点被它的问法给忽悠了。与其直接求解第七大数是什么,还不如去猜测它的分布是什么。

首先明确一些已知条件:
1. [0,1]之间能够产生均匀分布的随机数,我们记作 θ (先验分布),倘若 θ 可以当作一个随机变量,则 θR(0,1) R(0,1) 表示[0,1]之间的任意实数符合均匀分布。
2. 猜测第7大的数是什么?明确告诉你10个数里有6个数比这第七大的数大!的确是,但需要注意的是,这是一道数学题,进行了抽象,而现实生活中我们能够观察到的,并不是说第七大的是什么,而是在N次实验中成功次数为X次,最终抽象到数学是一样的。(但提法不一样,的确这问法误导我了,一时半会没想通。)

我们把问题重新定义下:

有一天你被魔鬼撒旦抓走了,撒旦说:”你们人类很聪明,而我是很仁慈的,和你玩一个游戏,赢了就可以走,否则把灵魂出卖给我。游戏的规则很简单,我找了一头妖精,在长为1米的桌子上抛球A,使此球落在桌面上任何一处有同等机会。记A的横坐标为 θ ,则有A服从台面上的均匀分布,可知 θ 服从[0,1]区间上的均匀分布 R(0,1) 。过A作一直线垂直于桌面的长边,它与长边之交点即为 θ 。然后妖精再向台面上抛掷9个球,每个球的位置服从台面上的均匀分布且各次抛掷独立,妖怪数清楚了这9次球中,处在虚线左边的个数为6个,并告诉了愚蠢的人类。问9次里有6次落在 θ 的左侧,能否估计出参数 θ 的值。

解法1:

想法:
θ 是我们待求的参数,思考一个问题, θ 在妖精抛掷到桌面上后是否已经确定了?答案是肯定的, θ 在第一个球抛出的一刹那已经确定,但我们并不知道,可能是在[0,1]的任意之间, θ 确定,那么10次里出现在 θ 左侧的次数基本上也不会有太大的偏差。也就是说 θ 决定了观察次数X。我们现在需要根据观察次数X,求解参数 θ

这是一件很荒唐的事情,试想一下,不同的妖精,扔在桌上0-1之间的概率都是均匀的?难道不会出现某个妖精在某个区间如[0.5-0.6]之间有大量的球集中,那么这种均匀分布的模型将失效了。但贝叶斯在对这个问题上的态度是,既然我们无从知道妖精是怎么扔的,也没有历史数据去验证,那么对于这第一次的实验,我们假设参数 θ 符合均匀分布。这就是贝叶斯学派所提出的无信息先验分布。意思是:既然对参数 θ 之值绝对一无所知,那么设定的先验分布,就应该避免可能的倾向性,因而包含的关于 θ 的信息是越少越好。其极端情况,信息少到为0,就是无信息先验分布。

接下来,我们一步步求解参数 θ 。首先,参数 θ 是一个具体的可求解的定值吗?显然,对于 θ 本身而言,我们无法给出一个具体的数,或者说找不到这样的方法去确定唯一的 θ 值。既然这样,就把这当作一个随机变量吧,随机变量无非就是求解它的概率密度函数,找到概率密度最集中的地方,自然是 θ 可能的值区间了。(这里,对 θ 的求解问题是如何转换到概率论中去的,有待研究,着实令人不解为何。)

步骤1.

描述事件,上述问题可以定义如下事件:

[0,1] 区间分为三段 [0,x),[x,x+Δx],(x+Δx,1] ,我们先考虑简单的情形,假设上帝的第一球球只有一个落在了区间 [x,x+Δx] 内,(此球决定了该事件!)那么在 n 次抛球的过程中,有k1个球落在了区间 [0,x] nk 个球落在了区间 (x+Δx,1] ,不失一般性,我们先考虑如下符合上述要求的事件E:

E={X1[x,x+Δx],Xi[0,x,i=2,...,k,Xj(x+Δx,1],j=k+1,..,n}

alt text

刚才说了,参数 θ 是一个取值区间,并不是唯一确定的一个值。既然有范围,我们有理由给 θ 设定一个范围,即在描述上述事件时我们用到了区间 [x,x+Δx] ,也就是区间 [θ,θ+Δθ] 。为何要借用 Δx 来解决这个问题,这真的是一件值得思考的事情。

这里实在想不出为何能够利用 Δθ 来求解该问题,我的一个想法是 Δθ 的出现,使得桌子可以分为三块,从而使得该问题转化到了离散域去求解。如果直接用连续的方法,无法进行建模。

所以有了 Δθ ,该事件的概率就很好估算了。如球落在区间 [0,x) 之间的概率即为x,因为桌子的长度符合均匀分布。同理能够得出另外两个区间的概率。


P(E)=i=1nP(Xi)=xk1(1xΔx)nkΔx=xk1(1x)nkΔx+o(Δx)

o(Δx) 表示 Δx 的高阶无穷小。显然,由于不同的排列组合,即n个数中有一个落在 [x,x+Δx] 区间的有n种取法,余下 n1 个数中有 k1 个落在 [0,x) 的有 (n1k1) 种组合,所以和事件E等价的时间一共有 n(n1k1) 个。继续考虑稍微复杂一点情形,假设 n 个数中有两个数落在了区间[x,x+Δx],则
E={X1,X2[x,x+Δx],Xi[0,x)(i=3,,k),Xj(x+Δx,1](j=k+1,,n)}

alt text
针对事件 E ,有
P(E)=xk2(1xΔx)nk(Δx)2=o(Δx)

以上分析我们很容易看出,只要落在 [x,x+Δx] 内的数字超过一个,则对应的事件的概率就是 o(Δx) 。于是
P(xX(k)x+Δx)=n(n1k1)P(E)+o(Δx)=n(n1k1)xk1(1x)nkΔx+o(Δx)

所以,可以得到 X(k) 的概率密度函数为
f(x)=limΔx0P(xX(k)x+Δx)Δx=n(n1k1)xk1(1x)nk=n!(k1)!(nk)!xk1(1x)nkx[0,1]

咦,到这里我们发现数学推导的思路是相当的清晰的,重新整理下思路。原先我们是要求解参数 θ 的值,发现 θ 它是个“范围”,具有不确定性,因此想到了用概率的方法来求解 θ 的可能分布,但在进一步的求解过程中发现,假设 θ 是随机变量这个大前提条件成立,它属于连续的实数域,如何用目前离散的概率求解方法呢?想到的一个办法就是让 θ 隶属于一个范围,即引入了 Δθ 这样一个中间变量。有了这个,即把桌子分成三段,每段区间的概率因此能够求出来,从而能够描述事件E,并用概率中的加减乘除法则,完成了全事件的概率计算,但这还不够,要从离散域再变成实数域,求个数学极限,得到了关于 θ 的概率密度函数,实在是高啊!

细心的同学发现了,上述的表达式看上去有点像二项式分布,但又稍微有些区别。没错,如果上述式子中的 k1 ,都是 k 的话,就是标准的二项式分布了。然这奇怪的式子,为何多出了一个“-1”吗?看到这里如果能够回答这问题,那就不需要往下看了,相信你已经明白什么是Beta分布了。

Demon看Beta分布


这里我们就不从历史上去求证二项式分布和Beta分布到底谁先被发明出来,咱们照着这道题的思路来讲讲Beta分布,纯属个人想法。现在为了区分,上述问题求解出来的分布而二项式分布,咱们得重新定义一个分布,咱就叫Beta分布。

我们在上式中取α=k,β=nk+1,我们可以把 f(x) 表达为:

f(x)=Γ(α+β)Γ(α)Γ(β)xα1(1x)β1

其中,我们可以把Gamma函数看作阶乘,即:
Γ(n)=(n1)!

现在我们把 f(x) 定义为最一般意义上的Beta分布!来考虑Beta分布的物理意义吧。还记得问题一开始,上帝让妖精扔过第一个球,用来确定事件吧,而剩下的9个球中有6个球在第一个球的左边。实际上, α=7,β=4 是指,排除第一次确定事件的那个球之外,剩下的抛球次数 n 中,有α1个球在第一个球的左侧,而有 β1 个球在第一个球的右侧。那么第一个球的作用是什么呢?不恰当地来说,“-1”表示的便是第一个球的分布,什么分布,贝叶斯学派的终极假设,参数 θ 符合均匀分布。我们用个公式表达吧,
p(θ|x)=Beta(1,1)+Beta(α1,β1)=Beta(α,β)

贝叶斯公式的提出主要是为了求解逆概问题,何谓逆概,我的理解是根据某些实验现象来推得参数 θ 。频率学派和贝叶斯学派最大的矛盾在于,它们认为 θ 是在还未实验之前就已经定了,它不属于任何分布。而贝叶斯则认为,参数 θ 以可以看作是一个分布,即概率的概率分布。所以参数 θ 在某些实验现象下的概率分布是可以用数学形式化地表达出来,也就是上述式子不准确地表达。 p(θ|x) 即表示在某个实验现象下的 θ 分布,该分布的确定主要分为两大部分,第一部分为先验知识,第二部分为后验知识,分别对应上式的 Beta(1,1) Beta(α1,β1) ,所以物理含义已经很清晰了。在妖精投掷了9个球把6个球分布在第一个球的左侧这个现象告诉我们后,这属于后验知识,而第一个球可以在桌子 [0,1] 之间的任何地方,这是最先的先验知识。这两部分“相加”,就成了一个富含知识的另外一个Beta分布了。该Beta分布又可以进一步做该参数 p(θ) 的概率分布!

所谓的共轭分布,无非想表达的意思是,二项式分布在贝叶斯公式下,由先验的Beta分布,求出来的结果还是一个Beta分布。符合这种情况的两个分布属于共轭分布。

上述式子的求解过程,比较数学化,因此物理含义还是很难显现出来,尤其对于参数 θ 符合均匀分布的先验假设,看得不够透彻。利用这第一个球,来当作先验分布的假设着实不好理解。接下来我用传统的贝叶斯方法以另外一个角度重新求解,该物理含义则相当明确,容易理解。


贝叶斯解法

解法2

还记得贝叶斯公式么? P(A|B)P(B)=P(B|A)P(A) ,在这里,我把上述问题表示为:

p(θ|X)=p(θ)p(X|θ)p(X)

分别地, p(θ|X) 表示在给定实验N次实验次数中出现X次时,参数 θ 的概率分布,属于我们待求的。这里也体现了贝叶斯公式的一个好处,如果我们想不出如何直接求解等式右边的分布,我们可以利用贝叶斯,对等式左边进行求解。 p(θ) 就是传说中的先验概率,这里的 θ 为贝叶斯的终极假设,均匀分布。所以 p(θ)=1 p(X) 是在N次实验中出现次数为X次的概率,它的求解很简单,是对 p(X|θ) θ 积分,求个全概率即可。

p(X|θ) 我们得好好说一下,因为知道了它,就相当于把等式右边的所有概率求解出来了。上帝投掷的球,在9个里有6个出现在区间 [0,θ] 的范围内,即每一次球投掷相互独立,且出现在左区间的概率为 θ ,同理出现在右区间的概率为 1θ ,注意,这里不在有 Δθ 这个概念。所以上述这个问题,就类似于一般的二项式分布(如掷硬币实验),所以有:

p(X|θ)=(nk)θk(1θ)nk=n!k!(nk)!θk(1θ)nk,k=0,1,...,N

对于这道问题, n=9,k=6 。好了,其实到这里如果我们不去考虑p(X)的概率的话,那么参数 θ 的极值我们就可以估计出来了,右边是个似然方程,对其求导,算出的 θ 即为该问题最有可能的解。

然贝叶斯假设考虑了对参数 θ 的先验分布,所以我们还是有必要求解一下,所以得

p(X)=10p(X|θ) dθ=10CNKθK(1θ)NK dθ=(N+1)1

这公式是在数理统计学简史中找到的,至于如何求解出来的,我还未找到相应的推导公式,日后补上。于是,等式的左边全部求解完毕了,得:
p(θ|X)=1(NK)θK(1θ)NK(N+1)1=(N+1)!K!(NK)!θK(1θ)NK

我们把N= 9,K = 6代入上式得,
p(θ|X=6)=10!6!(3)!θ6(1θ)3

发现没有,和解法1求出来的答案是一致的。无法在这里, α=K+1,β=NK+1 ,把 KNK 代入得,
p(θ|X)=Γ(α+β)Γ(α)Γ(β)xα1(1x)β1

同样得到了,上述Beta分布。但此处Beta分布的含义就相当清楚了,参数 θ 在某个实验现象X下的概率分布由三部分组成:先验知识,即 θ 的先验分布,贝叶斯认为在对参数 θ 一无所知的情况下,我们认为它应该符合均匀分布;其次是似然函数,即 p(X|θ) ,我们知道了该模型的本质(符合二项式分布),则我们可以建立随机变量X的分布;最后为事件X发生的全概率, p(X)

所以说大家都说Beta分布是用来描述概率的概率分布是有一定道理的,因为根据贝叶斯公式求得的 p(θ|X) 本身还属于参数 θ 的概率分布,无非由原先的均匀分布加入了后验知识后,得到了一个校正后的概率分布,该分布为 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(很好奇这个数字是怎么来的?应该是根据历史信息统计得来的,而并非由简单的0.21和0.35预估出的。)
alt text

之所以取这两个参数是因为:

  • beta分布的均值是 αα+β=8181+219=0.27
  • 从图中可以看到这个分布主要落在了(0.2,0.35)间,这是从经验中得出的合理的范围。

在这个例子里,我们的x轴就表示各个击球率的取值,x对应的y值就是这个击球率所对应的概率。也就是说beta分布可以看作一个概率的概率分布。

那么有了先验信息后,现在我们考虑一个运动员只打一次球,那么他现在的数据就是”1中;1击”。这时候我们就可以更新我们的分布了,让这个曲线做一些移动去适应我们的新信息。beta分布在数学上就给我们提供了这一性质,他与二项分布是共轭先验的(Conjugate_prior)。所谓共轭先验就是先验分布是beta分布,而后验分布同样是beta分布。结果很简单:

其中 α0 β0 是一开始的参数,在这里是81和219。所以在这一例子里, α 增加了1(击中了一次)。 β 没有增加(没有漏球)。这就是我们的新的beta分布Beta(81+1,219),我们跟原来的比较一下:
alt text
可以看到这个分布其实没多大变化,这是因为只打了1次球并不能说明什么问题。但是如果我们得到了更多的数据,假设一共打了300次,其中击中了100次,200次没击中,那么这一新分布就是:

Beta(81+100,219+200)
alt text

注意到这个曲线变得更加尖,并且平移到了一个右边的位置,表示比平均水平要高。

一个有趣的事情是,根据这个新的beta分布,我们可以得出他的数学期望为:,这一结果要比直接的估计要小 。你可能已经意识到,我们事实上就是在这个运动员在击球之前可以理解为他已经成功了81次,失败了219次这样一个先验信息。

因此,对于一个我们不知道概率是什么,而又有一些合理的猜测时,Beta分布能很好的作为一个表示概率的概率分布。

参考文献

1.LDA-math-认识Beta/Dirichlet分布(1)
2.知乎 - 如何通俗理解beta分布?
3.数理统计学简史. 陈希孺 著. 湖南教育出版社

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值