有多个版本的自适应 Metropolis Hastings 算法。一种是在package的功能Metro_Hastings
中实现,见这里。那里列出的参考资料,Spiegelhalter 等人。(2002),不幸的是,据我所知,它不包含任何自适应算法的描述。但是,该算法在从我考虑的模型的后验分布中采样时表现非常好,这就是我想了解它的细节的原因。R
MHadaptive
Metro_Hastings
我对算法进行了一些逆向工程。有人认识这种自适应 MH 算法吗?这就是它的作用:
让为目标密度。初始化.
为了迭代做:
- 提出.
- 接受有概率. 如果接受,设置。如果拒绝:。
如果,其中定义了一个向量,使得的任何元素(默认迭代的间距),并且没有元素(默认),做:
- 选择(默认)。
- 更新:其中是假设多元正态的方差协方差矩阵的最大似然估计量。
步骤 1 和 2 是标准 MH。发生的适应,并使用过去的更新为过去迭代的协方差矩阵。