马尔可夫链蒙特卡洛(MCMC)采样算法的原理与实现步骤
字数 2115 2025-10-31 18:33:05
马尔可夫链蒙特卡洛(MCMC)采样算法的原理与实现步骤
题目描述
马尔可夫链蒙特卡洛(MCMC)是一种通过构建马尔可夫链来对复杂概率分布进行采样的方法。其核心目标是:当目标分布\(p(x)\)难以直接采样时(例如分布非标准或高维),通过构造一个平稳分布为\(p(x)\)的马尔可夫链,并运行该链生成近似服从\(p(x)\)的样本序列。典型应用包括贝叶斯推断中的后验分布采样、统计物理中的系统模拟等。题目要求解释MCMC的基本原理,并逐步推导其核心算法(如Metropolis-Hastings算法)的实现过程。
解题过程
1. 问题背景与核心思想
- 直接采样的困难:许多概率分布(如贝叶斯后验分布\(p(\theta \mid D) \propto p(D \mid \theta)p(\theta)\))可能非标准、高维或包含复杂归一化常数,导致无法直接采样。
- MCMC的替代思路:构造一个马尔可夫链,使其平稳分布(即链长期运行后收敛的分布)恰好等于目标分布\(p(x)\)。通过从任意初始状态开始迭代转移,当链收敛后,其状态序列即可视为\(p(x)\)的近似样本。
- 关键性质:马尔可夫链的收敛性由细致平衡条件(Detailed Balance)保证,即对任意状态\(x\)和\(y\),转移概率\(T(x \to y)\)满足:
\[ p(x)T(x \to y) = p(y)T(y \to x) \]
此条件意味着链在分布\(p(x)\)下保持平衡。
2. Metropolis-Hastings(M-H)算法原理
M-H是MCMC最常用的实现方案,其核心步骤如下:
- 提议分布(Proposal Distribution) \(q(y \mid x)\):给定当前状态\(x\),从\(q\)中生成候选新状态\(y\)。例如可选高斯分布\(q(y \mid x) = \mathcal{N}(y \mid x, \sigma^2)\)。
- 接受概率(Acceptance Probability) \(A(x \to y)\):以概率\(\min\left(1, \frac{p(y)q(x \mid y)}{p(x)q(y \mid x)}\right)\)接受\(y\)作为下一状态,否则保留\(x\)。
- 数学推导:
- 转移概率为\(T(x \to y) = q(y \mid x) A(x \to y)\)。
- 验证细致平衡条件:
\[ p(x)T(x \to y) = p(x)q(y \mid x) \min\left(1, \frac{p(y)q(x \mid y)}{p(x)q(y \mid x)}\right) = \min\left(p(x)q(y \mid x), p(y)q(x \mid y)\right) \]
同理,$ p(y)T(y \to x) = \min\left(p(y)q(x \mid y), p(x)q(y \mid x)\right) $,二者相等,故链收敛到$ p(x) $。
- 优势:仅需计算概率比值\(p(y)/p(x)\),规避了归一化常数(如贝叶斯公式中的证据项)。
3. 算法实现步骤
以从目标分布\(p(x)\)采样为例:
- 初始化:选择初始状态\(x_0\)(可随机设定),设定总迭代次数\(N\)。
- 迭代循环(对于\(t = 0, 1, \dots, N-1\)):
- 生成候选:从提议分布\(q(y \mid x_t)\)采样得到\(y\)。
- 计算接受率:
\[ \alpha = \frac{p(y)q(x_t \mid y)}{p(x_t)q(y \mid x_t)} \]
若$ q $对称(如高斯分布),则$ q(y \mid x_t) = q(x_t \mid y) $,简化为$ \alpha = p(y)/p(x_t) $。
- 决定转移:从均匀分布\(U(0,1)\)采样\(u\),若\(u \leq \min(1, \alpha)\),则接受\(y\)(令\(x_{t+1} = y\));否则拒绝(令\(x_{t+1} = x_t\))。
- 输出样本:丢弃前\(B\)个(Burn-in阶段)样本以消除初始值影响,剩余序列\(\{x_B, x_{B+1}, \dots, x_N\}\)作为近似分布\(p(x)\)的样本。
4. 关键参数与注意事项
- 提议分布的选择:若\(q\)的方差过大,接受率可能过低;若过小,链混合缓慢。通常调整\(q\)使接受率在20%~50%之间。
- 收敛诊断:可通过多条链的轨迹比较、自相关函数等判断链是否收敛。
- 变体扩展:Gibbs采样是M-H的特例(当提议分布为条件分布时,接受率为1)。
通过以上步骤,MCMC将采样问题转化为马尔可夫链的迭代模拟,成为处理复杂概率模型的核心工具。