ARTICLE
吉布斯抽样
吉布斯抽样 (Gibbs Sampling) 吉布斯抽样 (Gibbs Sampling),也称吉布斯采样器 (Gibbs Sampler),是一种从多维概率分布中生成随机样本的马尔可夫链蒙特卡洛 (MCMC) 算法。其核心思想是将高维抽样问题分解为一系列低维(通常为一维)的条件分布抽样步骤:每次仅对参数向量的一个分量进行更新,该分量从给定所有其他分量当前值
吉布斯抽样 (Gibbs Sampling)
吉布斯抽样 (Gibbs Sampling),也称吉布斯采样器 (Gibbs Sampler),是一种从多维概率分布中生成随机样本的马尔可夫链蒙特卡洛 (MCMC) 算法。其核心思想是将高维抽样问题分解为一系列低维(通常为一维)的条件分布抽样步骤:每次仅对参数向量的一个分量进行更新,该分量从给定所有其他分量当前值的全条件分布 (Full Conditional Distribution) 中抽取。经过足够多次迭代后,生成的样本序列收敛到目标联合分布,从而实现对复杂后验分布或高维概率模型的数值推断。
吉布斯抽样的名称源于美国物理学家约西亚·威拉德·吉布斯 (Josiah Willard Gibbs, 1839–1903),但算法本身由 Stuart Geman 和 Donald Geman 于 1984 年在图像处理的随机松弛框架中首次形式化提出,此后迅速成为贝叶斯统计计算的核心工具。
算法原理与步骤
设目标分布为 ,其中 为 维参数向量。吉布斯抽样并不直接从 采样,而是依次从每个分量的全条件分布中抽取:
注意在第 步中,前 个分量已经更新为第 次迭代的值,而后 个分量仍保留第 次迭代的值。这种顺序更新策略称为系统扫描 (Systematic Scan)。
算法流程如下:
- 初始化参数向量 。
- 对 : \begin{enumerate}
- 从 中抽取
- 从 中抽取
- 从 中抽取
\item 舍弃前 次迭代作为预热期 (Burn-in),使用剩余 个样本进行推断。 \end{enumerate}
与 Metropolis-Hastings 算法的关系
吉布斯抽样可视为Metropolis-Hastings算法 (MH) 的一个特殊情形。在 MH 框架中,提议分布 可取任意形式,接受概率为:
若将提议分布取为全条件分布本身——即令 ——则接受概率恒等于 1,所有提议均被接受。因此,吉布斯抽样是 MH 算法中接受率为 100\% 的退化情形。这一特性使其在高维问题中尤为高效:免去了接受-拒绝步骤,避免了因提议分布不当导致的低接受率问题。
然而,这种便利以全条件分布必须易于采样为前提。若全条件分布不具备标准形式(如正态、Gamma、逆 Gamma 等),则吉布斯抽样无法直接应用,此时需借助 MH 步骤或自适应拒绝采样等方法在分量更新中嵌入子循环——这类混合策略通常称为Metropolis-within-Gibbs。
理论性质
吉布斯抽样构造的马尔可夫链在温和正则条件下满足以下性质:
- 不变性:目标分布 是转移核的平稳分布 (Stationary Distribution)。这是由全条件分布的定义直接保证的——每一步更新都精确地保持了联合分布在所更新分量上的条件形式。
- 不可约性与非周期性:在 的支撑集为正区域且全条件密度处处为正的条件下,链是不可约且非周期的,从而保证收敛到唯一的平稳分布。
- 细致平衡:与一般的 MH 算法不同,吉布斯抽样的单分量更新不满足全局细致平衡条件,但每个分量更新步骤单独满足,且乘积转移核仍以 为平稳分布。
收敛速度取决于参数分量之间的相关性。当分量高度相关时,吉布斯链在参数空间中沿坐标轴方向移动,每一步仅改变一个分量,导致缓慢混合 (Slow Mixing)——链需要大量迭代才能充分探索目标分布的支撑区域。极端情形下,两个高度相关的参数会使吉布斯链几乎在参数空间中停滞,此时重参数化 (Reparameterization) 或改用Hamiltonian Monte Carlo (HMC) 是更合适的选择。
应用场景
正态线性回归模型的贝叶斯推断:在共轭先验设定下,回归系数 的全条件后验为多元正态分布,误差方差 的全条件后验为逆 Gamma 分布。吉布斯抽样在这两个标准分布之间交替采样,即可高效生成后验样本。
分层模型 (Hierarchical Models):在多层先验结构的模型中,各层参数的条件独立性使吉布斯抽样成为自然选择。典型如随机效应模型中,组内均值、组间方差和总体超参数的全条件分布通常均为标准形式,可通过吉布斯抽样递推更新。
潜变量模型:在混合模型、隐马尔可夫模型和潜在狄利克雷分配 (LDA) 中,引入离散潜变量后,各参数的条件后验往往具有简洁形式。吉布斯抽样(尤其是折叠吉布斯抽样,Collapsed Gibbs Sampling)在主题模型中被广泛采用:通过解析地积分掉部分参数(如词项分布),仅对主题分配潜变量进行吉布斯更新,显著降低采样维度并改善混合速率。
缺失数据问题:在 EM 算法的贝叶斯对应——数据增强 (Data Augmentation) 框架下,吉布斯抽样在潜数据(缺失值)的条件分布与参数的条件后验之间交替采样,提供了一种统一的缺失数据处理范式。
收敛诊断与实用技巧
由于 MCMC 样本本质上是自相关的,实际应用中需要评估链是否已达到平稳分布:
- 迹图 (Trace Plot):绘制各参数随迭代次数的轨迹,直观判断链是否在稳定区域内波动。
- 多链诊断:从多个分散的初始点独立运行多条链,比较链间方差与链内方差。Gelman-Rubin统计量 () 是最常用的指标,当 (更严格取 1.05)时认为链已收敛。
- 有效样本量 (Effective Sample Size, ESS):考虑自相关后的等效独立样本数。若 ESS 过小,表明混合不良,需增加迭代次数或改进采样策略。
- 预热期选择:预热期的长度应足以使链从初始值到达目标分布的高概率区域。通常取总迭代次数的前 10\%–50\%,但需结合迹图进行判断。
变体与扩展
随机扫描吉布斯抽样 (Random-Scan Gibbs Sampling):每步随机选择更新的分量(而非固定顺序),理论上可保证更好的收敛性质,但实际中系统扫描更为常用。
折叠吉布斯抽样 (Collapsed Gibbs Sampling):通过解析积分消去部分参数(通常利用共轭结构),仅对剩余参数进行吉布斯更新。通过降低采样空间维度,可以有效改善混合速率,在贝叶斯非参数模型和主题模型中表现突出。
分块吉布斯抽样 (Blocked Gibbs Sampling):将高度相关的分量合并为一个块,从联合全条件分布中同时采样。当各分量间的条件独立性结构允许时,分块抽样可显著降低自相关。
切片抽样 (Slice Sampling):当全条件分布非标准时,切片抽样通过引入辅助变量构造可逆跳转,在无需提议调参的情况下实现各分量更新。它与吉布斯抽样的结合形成了处理非共轭模型的实用框架。
吉布斯抽样凭借其概念简洁、实现直观和理论保障完备的特点,与 Metropolis-Hastings 算法和 Hamiltonian Monte Carlo 共同构成了现代贝叶斯计算方法的三大支柱,深刻改变了应用统计学、计量经济学和机器学习领域中复杂模型的经验推断方式。