第7 章 MCMC 算法 本章将介绍的马氏链蒙特卡罗(MCMC)方法是用来生成近似服从f 分布的随机变量X 的样本,从而估计关于X 的函数的期望
1 Metropolis-Hastings 算法 Metropolis-Hastings 算法是一种非常通用的构造马氏链的方法
这个方法从t=0 开始,取ᵄ(0) = ᵆ(0),其中ᵆ(0)是从某个初始分布g 中随机抽取的样本使得满足f(ᵆ(0)) > 0
给定ᵄ(ᵆ) = ᵆ(ᵆ),下面的算法用于产生ᵄ(ᵆ+1)
(1)由某提案密度ᵅ(∙ |ᵆ(0))产生一个候选值ᵄ∗
(2)计算Metropolis-Hastings 比率R(ᵆ(ᵆ), ᵄ∗),其中 ᵄ(ᵆ, ᵆ) = ᵅ(ᵆ)ᵅ(ᵆ|ᵆ)ᵅ(ᵆ)ᵅ(ᵆ|ᵆ) (7
1) 注意R(ᵆ(ᵆ), ᵄ∗) 总是有定义的,因为只有f(ᵆ(ᵆ)) > 0且ᵅ(ᵆ∗|ᵆ(ᵆ)) > 0时才有ᵄ∗ = ᵆ∗
(3)根据下式抽取ᵄ(ᵆ+1): ᵄ(ᵆ+1) = {ᵄ∗, 以概率min{R(ᵆ(ᵆ), ᵄ∗), 1},ᵆ(ᵆ), 否则
2) (4)增加 t,返回第1 步
我们将第t 步迭代称作产生ᵄ(ᵆ) = ᵆ(ᵆ)的过程
通过 Metropolis-Hastings 算法构造得到的链满足马氏性,因为ᵄ(ᵆ+1)仅依赖于ᵄ(ᵆ)
而是否是非周期不可约的则取决于提案分布的选取,需要自己去检验是否满足这些条件
如果满足了,那么这样生成的链具有唯一的极限平稳分布
1 独立链 假设选取Metropolis-Hastings 算法的提案分布为某个固定的密度函数使得ᵅ(ᵆ∗|ᵆ(ᵆ)) = ᵅ(ᵆ∗)
此时 Metropolis-Hastings 比率为 ᵄ(ᵆ(ᵆ), ᵄ∗) = ᵅ(ᵄ∗)ᵅ(ᵆ(ᵆ))ᵅ(ᵆ(ᵆ))ᵅ(ᵄ∗) (7
4) 如果ᵅ(ᵆ) > 0,则有