贝塔分布 (Beta Distribution) 深度整理与精化笔记
本笔记基于你的手写课堂笔记进行结构化整理、润色与数学修正,并结合 Stanford CS109(计算机科学家的概率论)的核心大纲进行了深度扩展。旨在为你理清贝塔分布的数学本质、贝叶斯更新的直觉以及实际应用。
目录
- 贝塔分布的核心直觉与基本定义
- 数学基础:概率密度函数 (PDF) 与 累积分布函数 (CDF)
- 核心红字问题解答:Γ(a) 与 B(a,b) 的物理及几何意义
- 贝叶斯精髓:如何从“主观信念”走向“全新信念”
- 深度剖析:常数 k=110 是如何推导出来的?
- 参数的直觉:为什么是 a+b−2 次想象中的实验?
- 经典应用例题与详解
- 拓展:用 Python 进行 Beta 分布可视化
1. 贝塔分布的核心直觉与基本定义
1.1 什么是“信念分布”?它有什么用?
📌 手写红字疑问 1: 信念分布是什么?Beta Distribution 有什么用?
- 什么是信念分布 (Belief Distribution)? 在经典的频率学派看来,概率是一个固定的、未知的常数(例如,一枚硬币投出正面的概率 p 是客观存在的某个数,比如 0.5)。 但在贝叶斯学派看来,由于我们掌握的信息有限,我们无法百分之百确定 p 到底是多少。因此,我们把这个“未知的概率 p”本身看作一个随机变量 X。 信念分布就是我们对这个随机变量 X 在区间 [0,1] 上取值的“相信程度”的概率分布。
- Beta 分布有什么用?
- 对“概率”进行概率建模:它是最常用来为“概率、比例、成功率、转化率”建模的连续型概率分布。
- 共轭先验 (Conjugate Prior):在贝叶斯推断中,Beta 分布是二项分布(Binomial)和伯努利分布(Bernoulli)的共轭先验。这意味着:如果你的先验信念是 Beta 分布,在观测到新的成功/失败数据后,你的后验信念依然是 Beta 分布。这使得信念更新的数学计算变得极其简单,只需要“做加法”即可。
1.2 直观理解:对“概率的分布”的分布
📌 手写笔记金句: “β 分布是对概率的分布的分布。比如明天明天下雨的概率是 70%,这个概率也有概率。”
我们可以这样理解:
- 气象台预报说:“明天降水概率为 70%”。
- 这里的“70%”只是一个数字,但实际上气象学家可能对此有不同程度的把握:
- 情况 A(高度自信):基于充足的气象超级计算机数据,他们非常确定明天的降水概率就在 70% 左右,几乎不可能是 20% 或 90%。
- 情况 B(高度不确定):由于气象系统异常复杂,降水概率可能是 70%,但也极有可能是 30% 或 90%。
- Beta 分布正是用来定量描述这种“对 70% 降水概率的确定(或不确定)程度”的。
2. 数学基础:概率密度函数 (PDF) 与 累积分布函数 (CDF)
设随机变量 X∼Beta(a,b),其取值范围(支撑集)为 X∈[0,1]。
2.1 概率密度函数 (PDF)
⚠️ 手写笔记修正: > 原笔记中写为 f(x)=B(a,b)⋅xa−1⋅(1−x)b−1。 修正: 必须除以 B(a,b)。因为 B(a,b) 本身是积分散积的值,除以它才能起到“归一化(使总积分为 1)”的作用。
正确的 PDF 公式为:
f(x)=B(a,b)1⋅xa−1⋅(1−x)b−1,x∈[0,1]
其中:
-
a>0,b>0 是 Beta 分布的两个形状参数。
-
a−1 对应我们观察到(或想象中)的成功次数。
-
b−1 对应我们观察到(或想象中)的失败次数。
-
B(a,b) 是贝塔函数 (Beta Function),作为归一化常数,定义为:
B(a,b)=∫01ta−1(1−t)b−1dt=Γ(a+b)Γ(a)Γ(b)
2.2 累积分布函数 (CDF)
📌 手写红字疑问 2: 什么叫无闭式解?
手写笔记指出,CDF 是一个变上限积分 F(x):
F(x)=P[X≤x]=∫0xf(z)dz=∫0xB(a,b)1za−1(1−z)b−1dz
-
什么是“无闭式解” (No Closed-form Solution)? “闭式解”(或初等函数解)是指能用有限次加、减、乘、除、乘方、开方、指数、对数、三角函数等初等函数表达出来的解。 对于任意的实数 a 和 b,上述积分 F(x) 无法写成初等函数的简单组合。 我们把这个积分定义为一个新的特殊函数——正则不完全贝塔函数 (Regularized Incomplete Beta Function),记作 Ix(a,b):
F(x)=Ix(a,b)
在实际计算机应用中(如 Python、Matlab 或 R),我们需要通过数值逼近算法(如连分数展开)来计算其近似值。
2.3 数学特征值
3. 核心红字问题解答:Γ(a) 与 B(a,b) 的物理及几何意义
📌 手写红字疑问 3: Γ(a) 是什么,B(a,b) 到底表示的是什么?
3.1 伽马函数 Γ(a) 是什么?
3.2 贝塔函数 B(a,b) 到底表示什么?
-
几何意义(面积): 函数 g(x)=xa−1(1−x)b−1 在区间 [0,1] 上会画出一条优美的曲线。 B(a,b) 就是这条曲线与 x 轴围成的图形的总面积:
Area=∫01xa−1(1−x)b−1dx=B(a,b)
为了让概率密度函数 f(x) 满足“总积分为 1”的公理,我们必须把函数值除以这个总面积,即乘以 B(a,b)1。
-
物理意义(排列组合的连续推广): 若 a,b 为正整数,利用 Γ 函数与阶乘的关系,我们可以得到:
B(a,b)=(a+b−1)!(a−1)!(b−1)!=(a+b−1)⋅(a−1a+b−2)1
它本质上和我们在排列组合中计算“在 a+b−2 次选择中,有 a−1 次成功”的可能组合数(二项式系数)的倒数是同源的。
4. 贝叶斯精髓:如何从“主观信念”走向“全新信念”
📌 手写笔记核心思想: “贝叶斯的精髓:如何将主观信念与观测数据结合,升级为全新信念。”
4.1 频率学派 vs 贝叶斯学派的经典冲突
假设你抛了 10 次硬币,得到了 9 次正面 (H),1 次反面 (T)。
- 频率学派(最大似然估计 MLE): 正面概率 P(H)=109=0.9。
- 问题:这显然不符合我们对硬币通常是均匀的常识。如果拿这个去赌博,你会输得很惨。
- 贝叶斯学派: 我们不能仅凭这 10 次的偶然结果就断定概率是 0.9。我们应该把常识(先验信念)和实验数据(观测)结合起来。
- 丢 10 次,9 次正面:我们不会盲目相信概率是 0.9;
- 但如果丢 1000 次,得到了 900 次正面:根据贝叶斯定理,数据量极大,此时我们必须承认,这枚硬币确实有极大可能严重偏向正面,我们的信念也会被纠正为 0.9 左右。
4.2 贝叶斯公式推导
我们想知道在观测到“9 次正面,1 次反面”的条件下,硬币正面向上概率 X 取某个具体值 x 的后验概率密度 f(X=x∣H=9,T=1)。
根据贝叶斯定理:
f(X=x∣data)=P(data)P(data∣X=x)⋅f(X=x)
-
写出似然函数 (Likelihood): 在已知正面概率为 x 的情况下,抛 10 次获得 9 正 1 反的概率(二项分布):
P(data∣X=x)=(910)x9(1−x)1
-
假设无先验偏好 (Uniform Prior): 我们一开始认为硬币是均匀或不均匀的概率是一样的,即 X∼Uni(0,1)。 其先验概率密度为常数:
f(X=x)=1(对于 x∈[0,1])
-
代入贝叶斯公式:
f(X=x∣H=9,T=1)=P(H=9,T=1)(910)x9(1−x)1⋅1=P(H=9,T=1)10⋅x9(1−x)
因为分母 P(H=9,T=1) 和组合数 (910) 对于自变量 x 而言都是常数,我们可以将其统写为一个常数 k:
f(X=x∣H=9,T=1)=k⋅x9(1−x)1
这正是 a=10,b=2 的 Beta 分布的内核形式!
5. 深度剖析:常数 k=110 是如何推导出来的?
📌 手写红字疑问 4: why P(H=9,T=1) 是一个常数?并且要知道如何求 k (why k=110)?
5.1 为什么分母 P(data) 是一个常数?
在贝叶斯分析中,数据一旦观测完毕(比如我们已经确切地数出了 9 正 1 反),数据就是既定事实,不再是变量。 根据全概率公式,分母是将所有可能的 X 值进行积分:
P(H=9,T=1)=∫01P(H=9,T=1∣X=x)⋅f(X=x)dx
这是一个定积分,计算出来的结果必定是一个确定的实常数。它的作用只是一个缩放因子,确保后验 PDF 的面积为 1。
5.2 如何求解 k=110?
根据概率密度函数的性质,其在区间 [0,1] 上的总积分必须等于 1:
∫01k⋅x9(1−x)1dx=1
我们展开积分式:
∫01(x9−x10)dx=[10x10−11x11]01=101−111=11011−10=1101
代回等式:
k⋅(1101)=1⟹k=110
5.3 统一到 Beta 分布
根据 Beta(a,b) 的归一化常数 B(a,b)1: 由于更新后 a=10,b=2,对应的归一化常数为:
B(10,2)1=Γ(10)Γ(2)Γ(12)=9!×1!11!=9!×111×10×9!=110
这与我们微积分积分出来的 k=110 完美契合!
6. 参数的直觉:为什么是 a+b−2 次想象中的实验?
📌 手写红字疑问 5: 那 a 不就是成功,a+b 不就是全部,不就是概率的原始定义吗? 📌 手写笔记重点: “代表了 a+b−2 次想象中实验。若 Beta(1,1) 说明没有实验过。”
这是一步非常精妙的数学跨越:
6.1 为什么说 a+b−2 是“想象中的实验”次数?
对比 Beta(a,b) 的核心部分 xa−1(1−x)b−1 与伯努利观测的似然项 xsuccess(1−x)failure:
- 实际观测的成功次数 success=a−1
- 实际观测的失败次数 failure=b−1
这就意味着:
- 参数 a 实际上代表了:想象中的成功次数+1
- 参数 b 实际上代表了:想象中的失败次数+1
那么,总共“想象中已经做过的实验(先验样本数)”就是:
总先验实验次数=(a−1)+(b−1)=a+b−2
6.2 经典先验状态解读
- Beta(1,1) —— 完全无知(Uniform)
- 想象中成功:1−1=0 次;
- 想象中失败:1−1=0 次;
- 总想象实验:1+1−2=0 次。
- 物理意义:你从未做过实验,对硬币没有任何偏见,其 PDF 是一条水平直线(均匀分布)。
- Beta(2,2) —— 微弱的平衡信念
- 想象中成功:1次;想象中失败:1次。
- 物理意义:你认为它大概率是均匀的(均值 0.5),但因为想象中只做过 2 次实验,信念非常容易被新数据动摇。
- Beta(100,100) —— 极强烈的平衡信念
- 想象中成功:99次;想象中失败:99次。
- 物理意义:你极其坚信硬币是均匀的(想象中抛了 198 次且完美对半开)。此时如果新数据里抛出 9 正 1 反,后验分布几乎不会受到这 10 次异常值的影响。
7. 经典应用例题与详解
例题一:硬币信念更新(基于手写笔记第 2 页)
【题目】 有一枚硬币,我们对其初始状态完全不了解,设其正面向上概率为随机变量 p。
- 请给出初始的先验分布。
- 随后我们进行了 4 次真实的抛掷实验,结果为:1 次正面,3 次反面。请计算并给出更新后的后验概率分布、后验期望值,并对比传统频率学派的预测。
【解答】
-
先验分布:由于完全不了解,采用无信息先验 Beta(1,1)。
- aprior=1,bprior=1。
- 先验期望 E(p)=1+11=0.5。
-
后验更新:
-
观测数据:成功(正面)次数 h=1,失败(反面)次数 t=3。
-
根据共轭先验性质,后验参数为:
apost=aprior+h=1+1=2
bpost=bprior+t=1+3=4
-
因此,后验分布为:p∼Beta(2,4)。
-
后验期望(全新信念的均值):
E(p∣data)=apost+bpostapost=2+42=62≈33.3%
-
对比分析:
- 频率学派预测:p^=41=25%。
- 贝叶斯后验期望:≈33.3%。
- 解释:虽然实验做出了 3 反 1 正,但由于样本量很小(仅 4 次),贝叶斯的先验信念(原本认为是 50% 的均匀分布)会对结果产生“向中心拉拽”的拉普拉斯平滑效应,从而使估计更加稳健,避免了小样本带来的极端结论。
例题二:临床医药疗效评估(基于手写笔记第 4 页,补充完整过程)
【题目】 某生物制药公司研发了一种新药。根据历史同类药物的大数据,此类药物的临床有效率(成功率)中位数在 60% 左右。我们用 Beta(6,4) 来拟合这一历史先验信念(相当于想象中治愈了 5 例,失败了 3 例)。 现在对新药开展小规模临床试验,招募了 6 名患者,试用后有 5 名患者治愈,1 名患者未治愈。
- 求该新药有效率 p 的后验分布。
- 计算更新后新药有效率的期望与方差。
- 假设公司要向药监局汇报,药监局要求“至少有 80% 的把握认为该药有效率大于 50%”,请写出评估这一要求的数学表达方式(无需具体计算积分值)。
【解答】
-
后验分布计算:
-
先验分布:p∼Beta(6,4)(先验成功 a−1=5,失败 b−1=3)。
-
临床观测数据:治愈(成功)数 H=5,未治愈(失败)数 T=1。
-
贝叶斯更新:
apost=6+5=11
bpost=4+1=5
-
后验分布为:p∼Beta(11,5)。
-
期望与方差计算:
-
后验期望:
E(p)=apost+bpostapost=11+511=1611=68.75%
(新药的预期疗效从先验的 60% 提升到了 68.75%)
-
后验方差:
Var(p)=(a+b)2(a+b+1)a⋅b=(16)2×1711×5=256×1755=435255≈0.0126
-
药监局评估要求的数学表达: 药监局要求我们证明:后验概率 P(p>0.5)≥0.80。 利用 CDF 进行表达:
P(p>0.5)=1−P(p≤0.5)=1−F(0.5)=1−I0.5(11,5)
展开为变上限积分即为:
1−∫00.5B(11,5)1z10(1−z)4dz≥0.80
8. 拓展:用 Python 进行 Beta 分布可视化
对于计算机专业的同学,我们可以用一行 Python 代码直接计算和画出上述信念更新的过程:
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import beta
# 设置支持中文字体展示(可选)
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
x = np.linspace(0, 1, 500)
# 1. 初始完全无知先验 Beta(1, 1)
y_prior = beta.pdf(x, 1, 1)
# 2. 进行了 4 次硬币抛掷实验(1正3反),更新为 Beta(2, 4)
y_coin = beta.pdf(x, 2, 4)
# 3. 临床新药实验更新(先验 Beta(6,4),加 5治愈1失败,更新为 Beta(11, 5))
y_drug = beta.pdf(x, 11, 5)
plt.figure(figsize=(10, 6))
plt.plot(x, y_prior, 'r--', label='完全无知先验 Beta(1,1)')
plt.plot(x, y_coin, 'b-', linewidth=2, label='硬币抛掷后验 Beta(2,4) - 均值约33.3%')
plt.plot(x, y_drug, 'g-', linewidth=2, label='新药临床后验 Beta(11,5) - 均值 68.75%')
plt.title('通过 Beta 分布进行贝叶斯信念更新可视化')
plt.xlabel('成功概率 p 的取值')
plt.ylabel('信念概率密度 (PDF)')
plt.legend()
plt.grid(True, alpha=0.3)
plt.show()
总结思考
通过以上的整理,我们可以看到贝叶斯公式在处理二项分布概率估计时的精妙:后验参数 = 先验参数 + 实际观测值。它不仅给出了直观的数学形式,而且完美融合了我们的“历史常识”与“当下观测”。