贝叶斯统计推断
一、直观理解:先有看法,再用数据更新看法
频率学派把参数看作固定未知常数,随机性来自数据;贝叶斯学派把未知参数看作随机变量,推断的对象是参数的后验分布。
贝叶斯公式的结构是:
其中:
- 是先验:在看数据前对参数的信念;
- 是似然:数据如何依赖参数;
- 是后验:看完数据后更新的信念。
直观比喻:医生在化验前根据病史有一个“患病概率”(先验),化验结果(数据)通过似然更新这个概率,得到诊后判断(后验)。
贝叶斯推断的输出不是单个点,而是整条后验分布,因此天然带有不确定性描述;点估计只是后验的某种概括(均值、中位数、MAP)。
二、适用场景与优缺点
| 类型 | 说明 |
|---|---|
| 适用场景 | 有可信历史信息或专家知识可作为先验;小样本需要正则化;需要直接回答“参数落在某区间的后验概率”;层级模型、缺失数据、状态空间等结构复杂模型;决策分析需要完整后验。 |
| 核心优点 | 推断语句直观;层级建模灵活;小样本下先验可稳定估计;预测分布(后验预测)自然。 |
| 局限与缺点 | 先验选择影响结果,需敏感性分析;计算常依赖 MCMC,有收敛诊断成本;不当先验会造成虚假精确;评审/赛题中需清楚区分主观先验与“无信息”先验。 |
使用前应确认:
- 先验来源是否可辩护(文献、历史数据、物理约束);
- 似然是否与数据生成机制一致;
- 计算是共轭可解析,还是需要 MCMC/变分推断;
- 如何报告后验摘要与模型检验(PPC)。
三、核心原理:先验、似然与后验
1. 后验与贝叶斯定理
分母是边缘似然(证据),用于模型比较(Bayes factor)时重要,点估计时常只需未归一化后验。
2. 共轭先验
若先验与后验属于同一分布族,称为共轭。例如:
- 二项似然 + Beta 先验 → Beta 后验;
- 正态均值(方差已知)+ 正态先验 → 正态后验;
- 泊松 + Gamma → Gamma。
共轭使更新可写成“伪计数 + 样本计数”的直观形式。
Beta–Binomial 例子:先验 ,观测到 次成功、 次失败,则
后验均值
可理解为先验权重 与样本量 的折中。
3. 后验摘要
- 点估计:后验均值、中位数、MAP(最大后验);
- 区间:可信区间(credible interval),如等尾 95% 或 HPD;
- 决策:在损失函数下最小化后验期望风险。
注意:贝叶斯可信区间与频率置信区间的解释不同——前者直接说“参数落在区间内的后验概率为 95%”,其有效性依赖于模型与先验。
4. 计算:MCMC 简述
当后验无解析时,常用 Metropolis–Hastings、Gibbs、HMC 等从后验抽样,用样本均值近似后验期望。建模中必须报告:链是否混合、、有效样本量、轨迹图与自相关。
四、关键决策
1. 先验选多“强”?
- 有历史数据:可做成信息先验,并说明折合样本量;
- 仅有范围约束:用弱信息先验(如参数合理量级上的浅坡先验);
- 做稳健性:换几组先验,看后验结论是否翻转。
2. 点估计选均值还是 MAP?
对称后验差异不大;偏态或有约束时中位数/均值通常比 MAP 更稳;若与优化算法联系紧密,MAP 更像正则化 MLE。
3. 模型检查
后验预测检验(PPC):从后验抽参数再生成复制数据,看统计量是否与真实数据合拍;也可比较 WAIC/LOO 做预测评估。
4. 与频率方法如何对照?
大样本、弱先验下后验均值常接近 MLE,可信区间接近置信区间。小样本或强先验时两者可分道扬镳,必须解释差异来源。
五、MATLAB 示例
Beta–Binomial 共轭更新,并与“扁平先验”对照;另给一个正态均值的共轭更新。
% ===== 1) 投篮命中率:Beta 先验 + 二项数据 =====
a0 = 2; b0 = 2; % 弱信息先验,中心在 0.5
n = 20; y = 14; % 20 投 14 中
a1 = a0 + y; b1 = b0 + n - y;
post_mean = a1 / (a1 + b1);
post_var = a1*b1 / ((a1+b1)^2 * (a1+b1+1));
ci = betainv([0.025, 0.975], a1, b1);
fprintf("后验均值=%.4f, 后验SD=%.4f\n", post_mean, sqrt(post_var));
fprintf("95%% 等尾可信区间=[%.4f, %.4f]\n", ci(1), ci(2));
% 后验概率:命中率 > 0.6 的概率
p_gt = 1 - betacdf(0.6, a1, b1);
fprintf("P(theta>0.6 | data)=%.4f\n", p_gt);
% 先验敏感性:强先验 Beta(20,20) vs 弱先验
for ab = [2, 20]
aa = ab + y; bb = ab + n - y;
fprintf("先验Beta(%d,%d) -> 后验均值=%.4f, CI=[%.4f,%.4f]\n", ...
ab, ab, aa/(aa+bb), betainv(0.025,aa,bb), betainv(0.975,aa,bb));
end
% ===== 2) 正态均值,方差已知 =====
% 先验 mu ~ N(m0, t0^2),数据 ~ N(mu, sigma^2)
m0 = 0; t0 = 2; sigma = 1;
x = [0.8, -0.2, 1.1, 0.3, 0.5]';
n = numel(x);
% 后验精度 = 先验精度 + 数据精度
prec0 = 1/t0^2; prec_data = n/sigma^2;
prec1 = prec0 + prec_data;
m1 = (prec0*m0 + prec_data*mean(x)) / prec1;
t1 = 1/sqrt(prec1);
fprintf("正态后验: mean=%.4f, sd=%.4f\n", m1, t1);
% 后验预测:新观测 x_new 的均值与方差
pred_sd = sqrt(t1^2 + sigma^2);
fprintf("后验预测分布: N(%.4f, %.4f^2)\n", m1, pred_sd);
% 简单图示
theta_grid = linspace(0, 1, 400);
figure;
plot(theta_grid, betapdf(theta_grid, a0, b0), "LineWidth", 1.5); hold on;
plot(theta_grid, betapdf(theta_grid, a1, b1), "LineWidth", 1.5);
legend("先验", "后验"); xlabel("\theta"); ylabel("密度");
title("Beta-Binomial 更新"); grid on;
六、如何解释结果
规范的贝叶斯报告应包括:
- 似然模型与条件独立性假定;
- 先验形式、超参数取值及理由;
- 后验计算方法(共轭公式 / MCMC 设置);
- 后验均值(或中位数)、可信区间、关键事件的后验概率;
- 先验敏感性分析;
- 收敛诊断(若用 MCMC);
- 后验预测检查或与 MLE 对照。
表述示例:“在 Beta(2,2) 先验下,命中率后验均值为 0.67,95% 可信区间为 [0.47,0.83];命中率超过 0.6 的后验概率约为 0.72。将先验改为 Beta(20,20) 后区间明显收缩并向 0.5 拉近,说明当前样本量下先验仍有影响。”
七、常见误区
1. 把可信区间当成不依赖先验的“客观事实”
先验改了,区间可能改;必须做敏感性分析。
2. 用极其尖锐的先验“制造”显著结论
信息先验应有外部依据,否则属于把结论写进假设。
3. MCMC 未收敛就汇总后验
很大、轨迹漂移、有效样本极少时,后验数字不可信。
4. 混淆 MAP 与后验均值
损失为 0–1 或绝对误差时,最优决策分别对应众数与中位数,不宜混用。
5. 忽略模型检查
后验再漂亮,若不能生成与真实数据相似的复制样本,模型仍可能失败。
八、小结
贝叶斯推断的核心是:
先验 × 似然 → 后验,并用后验分布完整描述参数不确定性。
它特别适合小样本、层级结构和需要直接概率陈述的场景。代价是先验与计算都要经得起检验。建模时把先验来源、敏感性与后验预测检查写清楚,贝叶斯结论才站得住。