MCMC算法的收敛监测与自适应调整
1. 引言
MCMC算法在一般条件下是收敛的,因为其生成的链具有遍历性。然而,理论上的收敛性并不能告诉我们何时停止算法,以及何时可以有足够的信心得出估计结果。理想情况下,我们希望有清晰的收敛标志能嵌入到R程序中,但实际上这几乎不可能,通常需要多次运行程序,直到对结果满意或耗尽时间和耐心。
本章介绍的技术大多是经验性的,由于只是近似模拟目标密度,存在更多困难。不同技术的理论依据和实用性差异很大,评估结果也有一定主观性,并非万无一失。历史上,20世纪90年代末有很多关于收敛诊断的研究,包括开发了R包coda,但后来热度降低,因为没有绝对的判断标准。单纯基于少量链的实现来控制马尔可夫链的流动和评估其收敛行为是不现实的,总会有情况使任意诊断失效,问题的随机性也无法保证诊断性能。
2. 监测内容与原因
在介绍监测工具之前,需要明确监测的目标,即三种不同类型的收敛评估。
2.1 收敛到平稳分布
MCMC算法收敛的首要要求是链 $(x(t))$ 的分布应为平稳分布 $f$。但评估给定 $t$ 时 $x(t)$ 恰好服从 $f$ 并不容易,尤其是当 $f$ 复杂时,且仅考虑马尔可夫链的单个实现时理论上也不可能。可以通过基于相同转移核的多次链实现,实验性地评估与起始点 $x(0)$ 的独立性来解决这些问题。
在标准统计设置中,如果 $f$ 的支持集大致已知,初始值 $x(0)$ 可近似看作从 $f$ 分布生成。但在高维情况下,$f$ 的支持集通常未知,这个假设难以维持。运行MCMC算法时,重要的是 $f$ 支持集的探索速度和 $x(t)$ 之间的相关性,但平稳性仍需测试。 <