什么是 序贯蒙特卡洛(SMC)?
序贯蒙特卡洛(SMC)是一类使用加权粒子逼近一系列概率分布,并通过传播、重加权、重采样及可选再生步骤更新粒子群的算法。
快速了解
| 规范文档 | 官方规范 |
|---|
工作原理
让粒子群依次穿过目标分布
设 pi_0, ..., pi_T 为目标序列,其中 pi_0 易于采样,pi_T 是最终目标。每一阶段通过 Forward Kernel 传播粒子,再用增量 Importance Weight 修正相邻目标与 Proposal 的差异。即使传播后的边缘密度不可计算,也可通过恰当 Backward Kernel 得到可处理权重。
Dai 等人的 SMC Sampler 教程区分了通用固定空间 SMC Sampler 与 Particle Filter:后者的目标通常是随观测时间变化的 Filtering Distribution。
按需重采样并恢复粒子多样性
归一化权重可计算粒子 Effective Sample Size,例如 1 / sum(w_i^2)。当它低于已声明阈值时,Resampling 会删除低权重粒子并复制高权重粒子。这样能控制 Weight Degeneracy,却会产生共享祖先,并不会凭空创造新信息。
重采样后通常使用对当前目标不变的 MCMC Kernel 执行 Mutation,以恢复粒子多样性。Mutation 步数、重采样方法、触发阈值与目标计划都属于估计器契约,必须完整记录。
控制路径、谱系与 Monte Carlo Error
相邻目标差异过大时,权重会在 Mutation 发挥作用前坍缩。过度重采样会造成谱系贫化,重采样不足则让大部分计算消耗在近零权重粒子上;高维问题会让两类故障突然恶化。
应跟踪重采样前 Weight ESS、Unique Ancestors、重采样事件、Mutation 接受与移动、归一化常数增量和独立重复系统的差异。粒子 Weight ESS 不等于基于自相关的 MCMC ESS;当 SMC 使用 MCMC Rejuvenation 时,两者都可能需要。
主要特点
- 用加权粒子群表示每个目标分布
- 沿观测序列或人工桥接分布推进
- 在阶段之间计算增量重要性权重
- 在权重过度集中时重采样粒子
- 可通过 MCMC Mutation 恢复粒子多样性
- 能够附带估计归一化常数比
常见用途
- 非线性非高斯状态空间模型的在线推断
- 从先验到困难后验的回火采样
- 观测到达时的序贯贝叶斯更新
- 估计边际似然与归一化常数
- 稀有事件与受约束分布模拟
示例
Loading code...常见问题
序贯蒙特卡洛与 MCMC 有什么区别?
MCMC 通常让一条或多条相关链逼近固定目标。SMC 让加权粒子群依次经过一系列目标,增加 Resampling 交互,并能估计归一化常数比。
所有序贯蒙特卡洛方法都是 Particle Filter 吗?
不是。Particle Filter 是 SMC 的一个家族,其目标序列通常随观测到达形成 Filtering Distribution。SMC Sampler 还可经过与真实时间无关的固定维回火、部分后验或约束目标。
SMC 为什么需要重采样?
反复重要性加权可能让几乎全部权重集中于少数粒子。重采样把计算重新分配给高权重粒子,但复制祖先会减少多样性,因此仍需 Mutation 与谱系诊断。
粒子 ESS 与 MCMC ESS 相同吗?
不同。粒子 ESS 描述某阶段归一化重要性权重的集中程度;MCMC ESS 描述序列相关对某个估计量的信息损失。带 MCMC Mutation 的 SMC 可能同时需要两种诊断。
什么情况会让 SMC 目标计划失效?
相邻目标重叠不足会造成权重突然坍缩并丢失模态。应监控重采样前 ESS、Unique Ancestors、增量归一化常数、Mutation 移动与独立重复差异,再细化路径或增加资源。