本页讲解 MCMC(Markov chain Monte Carlo,马尔可夫链蒙特卡洛)——从难以直接采样的后验中构造马尔可夫链,用样本近似后验。
段末注释:MCMC 生成相关样本 $\theta^{(1)}, \theta^{(2)}, \ldots$,使经验分布收敛于目标 $p(\theta \mid D)$;Metropolis-Hastings(MH)为通用接受-拒绝框架。
1. 为何采样(D1–D2)

共轭失效时,后验 $p(\theta \mid D)$ 只有未归一化密度 $\tilde{p}(\theta) = p(D \mid \theta)p(\theta)$。
目标:得到样本 ${\theta^{(s)}}_{s=1}^S$,使
$$
\mathbb{E}[f(\theta)] \approx \frac{1}{S}\sum_{s=1}^S f(\theta^{(s)})
$$
2. Metropolis-Hastings(D3)

- 当前 $\theta$,提议 $\theta’ \sim q(\theta’ \mid \theta)$
- 接受概率:
$$
\alpha = \min!\left(1,\ \frac{\tilde{p}(\theta’), q(\theta \mid \theta’)}{\tilde{p}(\theta), q(\theta’ \mid \theta)}\right)
$$
- 以概率 $\alpha$ 移至 $\theta’$,否则留 $\theta$
只需相对密度,不必算 $p(D)$。
3. HMC 与 NUTS(D3–D4)
HMC(Hamiltonian Monte Carlo)利用梯度模拟物理动力学,提议更远 → 高维效率更高。
| 算法 | 特点 |
|---|---|
| Random Walk MH | 简单,高维慢 |
| Gibbs | 逐维从条件后验采样 |
| HMC / NUTS | Stan、PyMC 默认;需梯度 |
| Slice Sampling | 自适应步长 |
4. 跨领域应用(D7)

| 领域 | 应用 | 说明 |
|---|---|---|
| 贝叶斯回归 | 系数后验区间 | 非共轭先验 |
| 系统发育 | BEAST 进化树 | 高维树空间 |
| 生态学 | 种群动力学 | 非线性 ODE 参数 |
| 天文 | 宇宙学参数 | 多模后验 |
| 计量经济 | DSGE 模型 | 结构参数 |
| 空间统计 | 地统计 Kriging | 超参数后验 |
| 法庭科学 | 匹配概率 | 小样本复杂似然 |
5. 诊断与局限(D8)

| 诊断 | 标准(经验) |
|---|---|
| Trace plot | 链应「毛虫」混合,非卡死 |
| $\hat{R}$(Gelman-Rubin) | $< 1.01$ 较理想 |
| ESS(有效样本量) | 越大越好 |
| 局限 | 说明 |
|---|---|
| 收敛慢 | 高维、多峰 |
| 相关样本 | ESS $\ll$ 名义 $S$ |
| 算力 | 深网每层权重 MCMC 不现实 |
| 模型错设 | 采样再准也错 |
6. 极简 MH 示例(D12)
1 | import numpy as np |
7. 小结
MCMC 是「后验难解析」时的金标准;大模型用 VI,中小模型用 Stan/PyMC。下一篇:07 模型选择。