马尔可夫链蒙特卡洛(Markov Chain Monte Carlo)

MCMC方法的许多应用是关于贝叶斯统计分析问题的,这些贝叶斯统计分析中常常需要计算后验分布的一些数字特征,如后验期望、后验方差、后验众数、后验分位数等。

蒙特卡洛抽样方法 \textbf{蒙特卡洛抽样方法} 蒙特卡洛抽样方法

p ( x ∣ θ ) p(\boldsymbol{x}|\theta) p(xθ)表示样本的概率函数(或称为参数 θ \theta θ 的似然函数), π ( θ ) \pi(\theta) π(θ) θ \theta θ 的先验分布,则 θ \theta θ 的后验分布为
π ( θ ∣ x ) = p ( x ∣ θ ) π ( θ ) ∫ p ( x ∣ θ ) π ( θ ) d θ ( 1 ) \pi(\theta|\boldsymbol{x}) =\frac{p(\boldsymbol{x}|\theta)\pi(\theta)}{\int p(\boldsymbol{x}|\theta)\pi(\theta) d\theta } \qquad(1) π(θx)=p(xθ)π(θ)dθp(xθ)π(θ)(1)我们的目标是函数 h ( θ ) h(\theta) h(θ)的后验期望
E [ h ( θ ) ∣ x ] = ∫ h ( θ ) π ( θ ∣ x ) = ∫ h ( θ ) p ( x ∣ θ ) π ( θ ) d θ ∫ p ( x ∣ θ ) π ( θ ) d θ ( 2 ) E[h(\theta)|\boldsymbol{x}]=\int h(\theta)\pi(\theta|\boldsymbol{x})=\frac{\int h(\theta)p(\boldsymbol{x}|\theta)\pi(\theta)d\theta}{\int p(\boldsymbol{x}|\theta)\pi(\theta) d\theta} \qquad(2) E[h(θ)x]=h(θ)π(θx)=p(xθ)π(θ)dθh(θ)p(xθ)π(θ)dθ(2)
h ( θ ) = θ h(\theta)=\theta h(θ)=θ时,上式表示 θ \theta θ的后验期望;
h ( θ ) = [ θ − E ( θ ∣ x ) ] 2 h(\theta)=[\theta-E(\theta|\boldsymbol{x})]^2 h(θ)=[θE(θx)]2,上式表示 θ \theta θ的后验方差。

对于一些复杂问题式(2)没有显式表达,除了使用分析逼近方法或者数值积分方法之外,蒙特卡洛抽样方法是一个可选用的有效计算方法。

因此对于式(2)应用蒙特卡洛抽样方法,从后验分布 π ( θ ∣ x ) \pi(\theta|\boldsymbol{x}) π(θx)中产生i.i.d.观测值 θ 1 , θ 2 , … , θ m \theta_1,\theta_2,\dots,\theta_m θ1,θ2,,θm,则由大数定律:
h ˉ m = 1 m ∑ i = 1 m h ( θ i ) ( 3 ) \bar{h}_m=\frac{1}{m}\sum_{i=1}^m h(\theta_i) \qquad(3) hˉm=m1i=1mh(θi)(3)
这种用式(3)去逼近式(2)的方法被称为蒙特卡洛抽样方法
很多时候从后验分布 π ( θ ∣ x ) \pi(\theta|\boldsymbol{x}) π(θx)中产生i.i.d.观测值很困难, 而从与后验分布非常接近的分布 g g g中抽样比较容易,从而在蒙特卡洛方法中引入重要性函数的概念。

对于式(2)最右边项的分子:
∫ h ( θ ) p ( x ∣ θ ) π ( θ ) d θ = ∫ { h ( θ ) p ( x ∣ θ ) π ( θ ) g ( θ ) } ⋅ g ( θ ) d θ = E g { h ( θ ) p ( x ∣ θ ) π ( θ ) g ( θ ) } ( 4 ) \int h(\theta)p(\boldsymbol{x}|\theta)\pi(\theta)d\theta =\int \left\{\frac{h(\theta)p(\boldsymbol{x}|\theta)\pi(\theta)}{g(\theta)} \right\}\cdot g(\theta) d\theta=E_g\left\{\frac{h(\theta)p(\boldsymbol{x}|\theta)\pi(\theta)}{g(\theta)} \right\} \\\qquad(4) h(θ)p(xθ)π(θ)dθ={g(θ)h(θ)p(xθ)π(θ)}g(θ)dθ=Eg{g(θ)h(θ)p(xθ)π(θ)}(4)
同样对于分母:
∫ p ( x ∣ θ ) π ( θ ) d θ = ∫ { p ( x ∣ θ ) π ( θ ) g ( θ ) } ⋅ g ( θ ) d θ = E g { p ( x ∣ θ ) π ( θ ) g ( θ ) } ( 5 ) \int p(\boldsymbol{x}|\theta)\pi(\theta) d\theta= \int \left\{\frac{p(\boldsymbol{x}|\theta)\pi(\theta)}{g(\theta)} \right\}\cdot g(\theta) d\theta=E_g\left\{\frac{p(\boldsymbol{x}|\theta)\pi(\theta)}{g(\theta)} \right\} \qquad(5) p(xθ)π(θ)dθ={g(θ)p(xθ)π(θ)}g(θ)dθ=Eg{g(θ)p(xθ)π(θ)}(5)因此从式(2),(4),(5)可知, E [ h ( θ ) ∣ x ] E[h(\theta)|\boldsymbol{x}] E[h(θ)x]
可表示为:
E [ h ( θ ) ∣ x ] = E g { h ( θ ) p ( x ∣ θ ) π ( θ ) g ( θ ) } E g { p ( x ∣ θ ) π ( θ ) g ( θ ) } ( 6 ) E[h(\theta)|\boldsymbol{x}]=\frac{E_g\left\{\frac{h(\theta)p(\boldsymbol{x}|\theta)\pi(\theta)}{g(\theta)} \right\}}{E_g\left\{\frac{p(\boldsymbol{x}|\theta)\pi(\theta)}{g(\theta)}\right\}} \qquad(6) E[h(θ)x]=Eg{g(θ)p(xθ)π(θ)}Eg{g(θ)h(θ)p(xθ)π(θ)}(6) θ 1 , θ 2 , … , θ m \theta_1,\theta_2,\dots,\theta_m θ1,θ2,,θm,为从分布 g ( ⋅ ) g(\cdot) g()中生成的i.i.d.观测值,则由大数定律可知

E g { h ( θ ) p ( x ∣ θ ) π ( θ ) g ( θ ) } = E g { h ( θ ) ω ( θ ) } ≈ 1 m ∑ i = 1 m h ( θ i ) ω ( θ i ) E_g \left\{\frac{h(\theta)p(\boldsymbol{x}|\theta)\pi(\theta)}{g(\theta)}\right\} =E_g \left\{h(\theta)\omega(\theta)\right\} \approx \frac{1}{m}\sum_{i=1}^m h(\theta_i)\omega(\theta_i) Eg{g(θ)h(θ)p(xθ)π(θ)}=Eg{h(θ)ω(θ)}m1i=1mh(θi)ω(θi)
E g { p ( x ∣ θ ) π ( θ ) g ( θ ) } = E g { ω ( θ ) } ≈ 1 m ∑ ω ( θ i ) E_g\left\{\frac{p(\boldsymbol{x}|\theta)\pi(\theta)}{g(\theta)}\right\}=E_g\{\omega(\theta)\} \approx \frac{1}{m} \sum \omega(\theta_i) Eg{g(θ)p(xθ)π(θ)}=Eg{ω(θ)}m1ω(θi)
其中 ω ( θ ) = p ( x ∣ θ ) π ( θ ) g ( θ ) \omega(\theta)=\frac{p(\boldsymbol{x}|\theta)\pi(\theta)}{g(\theta)} ω(θ)=g(θ)p(xθ)π(θ)
因此 E [ h ( θ ) ∣ x ] E[h(\theta)|\boldsymbol{x}] E[h(θ)x]的另一个估计为
m ^ = ∑ i = 1 m h ( θ i ) ω ( θ i ) ∑ i = 1 m ω ( θ i ) ( 7 ) \hat{m}=\frac{\sum_{i=1}^m h(\theta_i)\omega(\theta_i)}{\sum_{i=1}^m \omega(\theta_i)} \qquad(7) m^=i=1mω(θi)i=1mh(θi)ω(θi)(7)
由大数定律, h ^ m \hat{h}_m h^m几乎处处收敛到 E [ h ( θ ) ∣ x ] E[h(\theta)|\boldsymbol{x}] E[h(θ)x],故 h ^ m \hat{h}_m h^m E [ h ( θ ) ∣ x ] E[h(\theta)|\boldsymbol{x}] E[h(θ)x]的一个蒙特卡洛逼近。

在式(4),式(5)中引进的函数 g ( θ ) g(\theta) g(θ)称为重要函数(importance function),上述这种引进重要函数的方法称为蒙特卡洛重要性抽样.

关于重要性函数的选取,它的选择一般来说应当满足下列条件:首先从分布 g g g中抽样要容易方便,使模拟容易实现;其次以式(1)为例,选择 g g g应该尽可能接近后验分布,以便提高蒙特卡洛逼近的效果。

然而很多时候 g g g的选择很难达到满意的逼近效果,很难找到离目标后验分布比较接近的重要性函数。因此,应该从后验分布本身抽样,但是又由于后验分布本身不是标准分布,难以从中直接抽样,因此此时我们引入MCMC方法。在MCMC方法中,以目标后验分布 π ( θ ∣ x ) \pi(\theta|x) π(θx)作为Markov链的稳定分布,生成随机样本,代替从后验分布中直接抽取的样本(即MCMC中的第一个MC),利用前面所述的蒙特卡洛逼近方法(MCMC中的第二个MC),从而获得较为满意的模拟结果.

马尔科夫链(Markov   Chain) \textbf{马尔科夫链(Markov Chain)} 马尔科夫链(Markov Chain)

定义1 { X n , n ≥ 0 } \{X_n,n\geq 0\} {Xn,n0}是只取有限个或可列个值的随机过程,若 X n = i X_n=i Xn=i,表示过程在时刻 n n n的状态处于 i i i S = { 0 , 1 , 2 , ⋯   } S=\{0,1,2,\cdots\} S={0,1,2,}为状态集.若对一切 n n n
P ( X n + 1 = j ∣ X 0 = i 0 , X 1 = i 1 , ⋯   , X n − 1 = i n − 1 ‾ , X n = i ) = P ( X n + 1 = j ∣ X n = i ) P(X_{n+1}=j|\underline{X_0=i_0,X_1=i_1,\cdots,X_{n-1}=i_{n-1}},X_n=i)=P(X_{n+1}=j|X_n=i) P(Xn+1=jX0=i0,X1=i1,,Xn1=in1,Xn=i)=P(Xn+1=jXn=i)
则称 { X n , n ≠ 0 } \{ X_n,n \neq 0 \} {Xn,n=0}是离散时间马尔可夫链,常简称为马式链.
由定义,可以看出将来状态 X n + 1 = j X_{n+1}=j Xn+1=j只与当前状态 X n = i X_{n}=i Xn=i有关,而与过去状态 X k = i k , k ≤ n − 1 X_k=i_k,k\leq n-1 Xk=ik,kn1无关.

条件概率 P ( X n + 1 = j ∣ X n = i ) P(X_{n+1}=j|X_n=i) P(Xn+1=jXn=i)称为马氏链的一步\textbf{转移概率},若转移概率与 n n n无关,且为固定值,则称马式链有平稳转移概率,记为 p i j p_{ij} pij.具有平稳转移概率的马氏链也称为时间齐性马式链。 P = ( p i j ) , ∀ i , j ∈ S \boldsymbol{P}=(p_{ij}),\forall i,j \in S P=(pij),i,jS称为马氏链的转移概率矩阵,满足条件:
p i j ≥ 0 , ∑ i = 0 ∞ p i j = 1 p_{ij} \geq 0, \sum_{i=0}^{\infty}p_{ij}=1 pij0,i=0pij=1

1、平稳性

定义2 设马尔可夫链有转移概率阵 P = ( p i j ) \boldsymbol{P}=(p_{ij}) P=(pij),一个概率分布 π = { π i , i ≥ 0 } \pi=\{\pi_i,i\geq 0\} π={πi,i0}如果满足 π j = ∑ i π i p i j \pi_j=\sum_{i}\pi_ip_{ij} πj=iπipij,则称之为此马尔可夫链的平稳分布(stationary distribution).

2、不可约性

定义3 一个具有可数状态空间 S S S和转移概率矩阵 P = ( p i j ) \boldsymbol{P}=(p_{ij}) P=(pij)的马氏链 { X n } \{X_n\} {Xn}称为是不可约的(irreducible),如果对任意两个状态 i , j ∈ S i,j \in S i,jS,此链从状态i出发转移到状态 j j j的概率为正的,即对某个 n ≥ 1 n\geq 1 n1
p i j n = P ( X n = j ∣ X 0 = i ) > 0 p_{ij}^n=P(X_n=j|X_0=i)>0 pijn=P(Xn=jX0=i)>0

由定义可知,具有不可约性的马氏链意味着从任一状态出发总可到达任一其他状态。

3、非周期性

定义4 一个马氏链的状态 i i i有周期 k k k,如果经过 k k k的倍数步后一定可以返回到状态 i i i,即
k ( i ) = g c d { n : P ( X n = i ∣ X 0 = i ) > 0 } k(i)=gcd\{n:P(X_n=i|X_0=i)>0 \} k(i)=gcd{n:P(Xn=iX0=i)>0}
其中 g c d gcd gcd表示”最大公约数“.如果返回任一状态的次数的最大公约数是1,则称此马氏链是非周期的(aperiodic),非周期的马氏链可以保证不会陷入循环当中.

4、正常返性

定义5 对常返状态 i i i,定义 T i = i n f { n ≥ 1 : X n = i ∣ X 0 = i } T_i=inf \{ n\geq 1:X_n=i|X_0=i\} Ti=inf{n1:Xn=iX0=i}为首次返回状态 i i i的时刻,如果
μ i = E ( T i ) < ∞ \mu_i=E(T_i)<\infty μi=E(Ti)<
则称状态 i i i正常返的(positive recurrent).当 μ i = ∞ \mu_i=\infty μi=,称状态 i i i是零常返的

5、遍历性

定义6 一个马氏链的状态称为遍历的(ergodic),如果它是非周期且正常返的。如果马氏链的所有状态都是遍历的,则称此马氏链是遍历的。

综上所述,我们需要构造的马氏链必须是不可约的、正常返和非周期的.满足这些正则条件的马氏链存在唯一的平稳分布.

马氏链极限定理 \textbf{马氏链极限定理} 马氏链极限定理

定理1 { X n , n ≥ 0 } \{X_n,n\geq 0\} {Xn,n0}为一具有可数状态空间S的马氏链,其转移概率矩阵为 P \boldsymbol{P} P.进一步假设它是不可约、非周期,有平稳分布 π = { π i , i ∈ S } \pi=\{\pi_i,i \in S\} π={πi,iS},则有
∑ j ∈ S ∣ P ( X n = j ) − π j ∣ → 0 \sum_{j \in S}|P(X_n=j)-\pi_j| \rightarrow 0 jSP(Xn=j)πj0 X 0 X_0 X0任意的初始分布 π \pi π成立.也就是在较大的 n n n下, X n X_n Xn的分布将会接近 π \pi π .

定理2(马氏链的大数定律) 假设 { X n , n ≥ 0 } \{X_n,n\geq 0\} {Xn,n0}为一具有可数状态空间S的马氏链,其转移概率矩阵为 P \boldsymbol{P} P.进一步假设它是不可约的且有平稳分布 π = { π i : i ∈ S } \pi=\{\pi_i:i\in S\} π={πi:iS},则对任何有界函数 h h h, S → R S \to \boldsymbol{R} SR以及初始值 X 0 X_0 X0的任意初始分布有
1 n ∑ i = 0 n − 1 h ( X i ) → ∑ j h ( j ) π j , n → ∞ \frac{1}{n} \sum_{i=0}^{n-1} h(X_i) \rightarrow \sum_{j} h(j)\pi_j, n \rightarrow \infty n1i=0n1h(Xi)jh(j)πj,n
依概率成立.当状态空间为不可数,马氏链 { X n , n ≥ 0 } \{X_n,n \geq 0\} {Xn,n0}为不可约且有平稳分布 π \pi π,也有
1 n ∑ i = 0 n − 1 h ( X i ) → ∫ S h ( x ) d π ( x ) , n → ∞ \frac{1}{n}\sum_{i=0}^{n-1}h(X_i) \to \int_Sh(x)d\pi(x) ,n \to \infty n1i=0n1h(Xi)Sh(x)dπ(x),n

MCMC实施

1、初始值

初始值被用来初始化一个马氏链。一般地,选择多个从不同初始值开始的链是推荐的做法(Brooks(1998)以及 Kass et al.(1998))。初始值远离后验后验密度的最高区域或者靠近后验分布的中心位置或似然函数的最大值点都被证明不是一个很好的选择Kass et al.(1998).

2、预烧期

在MCMC方法中用以保证链达到平稳状态所运行的时间称为预烧期(burn-in period),其迭代次数记为B.为避免初始值的影响,预烧期中B个迭代值将被从样本中去除.只要链运行的时间足够长,去除预烧期对后验推断的影响几乎没有。

3、筛选间隔或步长

马氏链产生的样本并不是相互独立的,如果需要独立样本,可以通过监视产生样本的自相关图,然后选择筛选间隔或抽样步长 L > 1 L>1 L>1,使得 L L L步长以后的自相关性很低。这样就可以通过每间隔 L L L个样本抽取一个来获得(近似)独立样本.

4、迭代保持数 T T T

设迭代总次数为 J J J,迭代保持数为迭代总次数去掉预烧期迭代次数后,提供给后验贝叶斯分析用的实际样本数,故有 T = J − B T=J-B T=JB.

5、算法的收敛性

算法的收敛性是指所得到的链是否达到了平稳状态.如果达到了平稳分布,则我们得到的样本可以认为是从目标分布中抽取的样本.一般而言,我们并不清楚必须运行算法多长时间才能认为所得到的链达到了平稳分布.因此监视链的收敛性是MCMC方法中的本质问题.

6、蒙特卡洛误差

在MCMC输出结果分析中,一个必须监控的量就是蒙特卡洛误差。蒙特卡洛误差度量了每一个估计因为随机模拟而导致的波动性.常用的估计蒙特卡洛误差的方法有两种:组平均(batch mean)方法和窗口估计量(window estimator)方法.

你可能感兴趣的:(贝叶斯统计,统计机器学习)