Beta分布与共轭

Beta分布

引入

有一个魔盒,上面有一个按钮,你每按一下按钮,就均匀的输出一个[0,1]之间的随机数,我现在按10下,我手上有10个数,你猜第7大的数是什么,偏离不超过0.01就算对.

数学抽象如下:

  • X1,X2,,XniidUniform(0,1)X_1,X_2,\cdots,X_n {\stackrel{\mathrm{iid}}{\sim}} Uniform(0,1)

  • 把这nn个随机变量排序后得到顺序统计量X(1),X(2),X(n)X_{(1)},X_{(2)},\cdots, X_{(n)}

  • 然后求解X(k)X_{(k)}的分布是什么

==很重要的题外话: 在概率统计学中, 几乎所有重要的概率分布都可以从均匀分布Uniform(0,1)Uniform(0,1)中生成出来. 尤其是在统计模拟中, 所有统计分布的随机样本都是通过均匀分布产生的.==

对于上面的游戏而言, n=10,k=7n=10,k=7, 如果我们能求出X(7)X_{(7)}的分布的概率密度, 用概率密度的极值点去做猜测就是最好的策略.

推导得到Beta分布

尝试计算X(k)X_{(k)}落在一个区间[x,x+Δx][x, x+\Delta x]的概率, 即求:

P(xX(k)x+Δx)=?P( x \le X_{(k)} \le x+\Delta x) = ?

[0,1][0,1]分成三段: [0,x),[x,x+Δx],(x+Δx,1][0,x), [x,x+\Delta x], (x+\Delta x,1]. 先考虑简单的情形: 假设nn个数中只有一个落在了区间[x,x+Δx][x, x+\Delta x]内, 则[0,x)[0,x)中应该有k1k-1个数, (x,1](x,1]中应该有nkn-k个数. 构造一个符合上述要求的事件EE:

则有:

o(Δx)o(\Delta x)表示Δx\Delta x高阶无穷小.

继续考虑稍微复杂一点情形, 假设nn个数中有两个数落在了区间[x,x+Δx][x, x+\Delta x]中, 对应的事件为:

则有:

P(E)=xk2(1xΔx)nk(Δx)2=o(Δx)P(E’) = x^{k-2}(1-x-\Delta x)^{n-k}(\Delta x)^2 = o(\Delta x)

因此只要落在[x,x+Δx][x, x+\Delta x]内的数字超过一个, 则对应的事件的概率就是o(Δx)o(\Delta x). 于是有:

其中P(E)P(E)前面的系数产生的原因为: nn个数中有一个落在[x,x+Δx][x, x+\Delta x]区间的有nn种取法, 余下n1n-1个数中有k1k-1个落在[0,x)[0,x)中的有(n1k1)\binom{n-1}{k-1}种组合, 所以跟事件EE等价的事件一共有n(n1k1)n\binom{n-1}{k-1}个.

根据上式, 可以得到X(k)X_{(k)}概率密度函数为:

利用Gamma函数, 可以把f(x)f(x)表达为:

f(x)=Γ(n+1)Γ(k)Γ(nk+1)xk1(1x)nkf(x) = \frac{\Gamma(n+1)}{\Gamma(k)\Gamma(n-k+1)}x^{k-1}(1-x)^{n-k}

α=k,β=nk+1\alpha=k, \beta=n-k+1, 得到:

这个就是一般意义上的Beta分布.

Beta-Binomial共轭

引入

对于上面的游戏, 再给5个[0,1]之间的随机数, 告诉这5个数中的每一个和第7大的数相比, 谁大谁小, 然后继续猜第7大的数是多少.

数学形式为:

  • X1,X2,,XniidUniform(0,1)X_1,X_2,\cdots,X_n {\stackrel{\mathrm{iid}}{\sim}}Uniform(0,1), 对应的顺序统计量是X(1),X(2),X(n)X_{(1)},X_{(2)},\cdots, X_{(n)}, 我们要猜测p=X(k)p=X_{(k)}

  • Y1,Y2,,YmiidUniform(0,1)Y_1,Y_2,\cdots,Y_m {\stackrel{\mathrm{iid}}{\sim}}Uniform(0,1), YiY_i中有m1m_1个比pp小, m2m_2个比pp

  • P(pY1,Y2,,Ym)P(p|Y_1,Y_2,\cdots,Y_m)的分布是什么

推导

我们容易推理得到p=X(k)p=X_{(k)}X1,X2,,Xn,Y1,Y2,,YmiidUniform(0,1)X_1,X_2,\cdots,X_n,Y_1,Y_2,\cdots,Y_m {\stackrel{\mathrm{iid}}{\sim}} Uniform(0,1)(m+n)(m+n)个独立随机变量中是第k+m1k+m_1大的, 根据上一个小节的推理, 此时p=X(k)p=X_{(k)}概率密度函数符合Beta分布, 为Beta(pk+m1,nk+1+m2)Beta(p|k+m_1,n-k+1+m_2), 得到了问题的答案.

根据贝叶斯推理的逻辑, 把以上过程整理如下:

  • p=X(k)p=X_{(k)}是我们要猜测的参数, 推导出pp的分布为f(p)=Beta(pk,nk+1)f(p) = Beta(p|k,n-k+1), 称为pp的先验分布

  • 数据YiY_i中有m1m_1个比pp小, m2m_2个比pp大, YiY_i相当于是做了mm贝努利实验, 所以m1m_1服从二项分布B(m,p)B(m,p)

  • 在给定了来自数据提供的(m1,m2)(m_1,m_2)的知识后, pp的后验分布变为f(pm1,m2)=Beta(pk+m1,nk+1+m2)f(p|m_1,m_2)=Beta(p|k+m_1,n-k+1+m_2)

贝叶斯参数估计的基本过程是先验分布 + 数据的知识 = 后验分布, 以上贝叶斯分析过程的简单直观的表述就是:

Beta(pk,nk+1)+Count(m1,m2)=Beta(pk+m1,nk+1+m2)Beta(p|k,n-k+1) + Count(m_1,m_2) = Beta(p|k+m_1,n-k+1+m_2)

其中(m1,m2)(m_1,m_2)对应的是二项分布B(m1+m2,p)B(m_1+m_2,p)的计数.

更一般的, 对于非负实数α,β\alpha,\beta, 有如下关系:

这个式子实际上描述的就是Beta-Binomial共轭.

==共轭的意思就是==: 此处, 数据符合二项分布的时候, 参数的先验分布和后验分布都能保持Beta分布的形式. 这种形式不变的好处是, 我们能够在先验分布中赋予参数很明确的物理意义, 同时从先验变换到后验过程中从数据中补充的知识也容易有物理解释.

Beta分布中的参数α,β\alpha,\beta都可以理解为物理计数, 这两个参数经常被称为伪计数(pseudo-count). 因为我们可以把一个Beta分布Beta(pα,β)Beta(p|\alpha,\beta)写成下式来理解:

Beta(p1,1)+Count(α1,β1)=Beta(pα,β)Beta(p|1,1) + Count(\alpha-1,\beta-1) = Beta(p|\alpha,\beta)

其中Beta(p1,1)Beta(p|1,1)恰好就是均匀分布Uniform(0,1)Uniform(0,1).

Beta分布性质

把Beta分布的概率密度画成图, 会发现它是个百变星君, 它可以是凹的, 凸的, 单调上升的, 单调下降的, 可以是曲线也可以是直线.

均匀分布也是特殊的Beta分布.

由于Beta 分布能够拟合如此之多的形状, 因此它在统计数据拟合中被广泛使用.

另外, 如果pBeta(tα,β)p\sim Beta(t|\alpha,\beta), 则有:

上式右边的积分对应到概率分布Beta(tα+1,β)Beta(t|\alpha+1,\beta), 对于这个分布我们有:

01Γ(α+β+1)Γ(α+1)Γ(β)tα(1t)β1dt=1\int_0^1 \frac{\Gamma(\alpha+\beta+1)}{\Gamma(\alpha+1)\Gamma(\beta)} t^{\alpha}(1-t)^{\beta-1}dt = 1

带入上式得到:

这说明对于Beta 分布的随机变量, 其均值可以用αα+β\frac{\alpha}{\alpha+\beta}来估计.

这个结论很重要, 例如在LDA数学推导中就需要使用到这个结论.

最后更新于

这有帮助吗?