蒙特卡洛积分法在贝叶斯推断中的后验期望估计
题目描述
在贝叶斯推断中,参数θ的后验分布通常难以直接计算其期望(如后验均值),尤其当模型复杂或维度较高时。假设后验分布为\(p(\theta \mid D)\),目标是计算后验期望\(\mathbb{E}[\theta \mid D] = \int \theta \cdot p(\theta \mid D) \, d\theta\)。由于后验分布可能非标准形式(如涉及复杂似然函数),解析积分不可行。试设计一种基于蒙特卡洛积分的数值方法,通过随机采样逼近该期望,并分析其关键步骤与误差控制。
解题过程
- 问题转化
后验期望的积分形式可视为函数\(f(\theta) = \theta\)关于后验分布\(p(\theta \mid D)\)的期望。蒙特卡洛积分的核心思想是用样本均值近似积分:
\[ \mathbb{E}[\theta \mid D] \approx \frac{1}{N} \sum_{i=1}^N \theta^{(i)}, \quad \theta^{(i)} \sim p(\theta \mid D) \]
其中\(\theta^{(i)}\)是从后验分布中独立抽取的样本,\(N\)为样本量。
-
后验采样方法选择
- 若后验分布有解析形式(如共轭先验),可直接采样(如正态分布、Gamma分布)。
- 对于复杂后验,需采用马尔可夫链蒙特卡洛(MCMC)方法(如Metropolis-Hastings算法或Gibbs采样)生成近似独立的样本。
- 关键步骤:
a. 初始化参数\(\theta^{(0)}\)。
b. 迭代生成候选样本\(\theta^*\)(如从提议分布中抽取),以接受概率\(\min\left(1, \frac{p(\theta^* \mid D)}{p(\theta^{(i)} \mid D)}\right)\)决定是否接受新样本。
c. 丢弃前\(M\)个“燃烧期”样本以减少初始值影响,保留后续\(N\)个样本用于计算。
- 关键步骤:
-
蒙特卡洛估计实现
- 用保留的样本计算均值:
\[ \hat{\theta}_N = \frac{1}{N} \sum_{i=M+1}^{M+N} \theta^{(i)} \]
- 方差估计:蒙特卡洛估计的误差由样本方差衡量:
\[ \text{Var}(\hat{\theta}_N) \approx \frac{1}{N} \hat{\sigma}^2, \quad \hat{\sigma}^2 = \frac{1}{N-1} \sum_{i=1}^N (\theta^{(i)} - \hat{\theta}_N)^2 \]
标准误差为$ \hat{\sigma} / \sqrt{N} $,随$ N $增大而减小。
- 收敛性诊断与误差控制
- 自相关检查:若MCMC样本间存在自相关,需增大采样间隔或调整提议分布以确保样本近似独立。
- 多链比较:运行多条独立MCMC链,检查链间方差与链内方差的比值(Gelman-Rubin统计量)接近1,确认收敛。
- 精度控制:通过增加样本量\(N\)降低标准误差,或采用方差缩减技术(如对偶变量法)。
实例演示
假设简单模型:数据\(D \sim \mathcal{N}(\theta, 1)\),先验\(\theta \sim \mathcal{N}(0, 1)\),则后验为\(\theta \mid D \sim \mathcal{N}\left( \frac{D}{2}, \frac{1}{2} \right)\)。
- 直接采样:从\(\mathcal{N}(D/2, 1/\sqrt{2})\)生成\(N=1000\)个样本,计算样本均值。
- 若用MCMC(如随机游走Metropolis),提议分布设为\(\mathcal{N}(\theta^{(i)}, 0.5)\),燃烧期\(M=200\),后续样本的均值应接近真实后验均值\(D/2\)。
总结
蒙特卡洛积分通过随机采样将积分问题转化为统计估计问题,适用于高维贝叶斯后验期望计算。关键在于高效生成后验样本(尤其依赖MCMC),并通过诊断工具确保估计的收敛性与精度。