在MCMC(二)马尔科夫链中我们讲到给定一个概率平稳分布ππ, 很难直接找到对应的马尔科夫链状态转移矩阵PP。而只要解决这个问题,我们就可以找到一种通用的概率分布采样方法,进而用于蒙特卡罗模拟。本篇我们就讨论解决这个问题的办法:MCMC采样和它的易用版M-H采样。
1. 马尔科夫链的细致平稳条件
在解决从平稳分布ππ, 找到对应的马尔科夫链状态转移矩阵PP之前,我们还需要先看看马尔科夫链的细致平稳条件。定义如下:
如果非周期马尔科夫链的状态转移矩阵PP和概率分布π(x)π(x)对于所有的i,ji,j满足:
π(i)P(i,j)=π(j)P(j,i)π(i)P(i,j)=π(j)P(j,i)
则称概率分布π(x)π(x)是状态转移矩阵PP的平稳分布。
证明很简单,由细致平稳条件有:
∑i=1∞π(i)P(i,j)=∑i=1∞π(j)P(j,i)=π(j)∑i=1∞P(j,i)=π(j)∑i=1∞π(i)P(i,j)=∑i=1∞π(j)P(j,i)=π(j)∑i=1∞P(j,i)=π(j)
将上式用矩阵表示即为:
πP=ππP=π
即满足马尔可夫链的收敛性质。也就是说,只要我们找到了可以使概率分布π(x)π(x)满足细致平稳分布的矩阵PP即可。这给了我们寻找从平稳分布ππ, 找到对应的马尔科夫链状态转移矩阵PP的新思路。
不过不幸的是,仅仅从细致平稳条件还是很难找到合适的矩阵PP。比如我们的目标平稳分布是π(x)π(x),随机找一个马尔科夫链状态转移矩阵QQ,它是很难满足细致平稳条件的,即:
π(i)Q(i,j)≠π(j)Q(j,i)π(i)Q(i,j)≠π(j)Q(j,i)
那么如何使这个等式满足呢?下面我们来看MCMC采样如何解决这个问题。
2. MCMC采样
由于一般情况下,目标平稳分布π(x)π(x)和某一个马尔科夫链状态转移矩阵QQ不满足细致平稳条件,即
π(i)Q(i,j)≠π(j)Q(j,i)π(i)Q(i,j)≠π(j)Q(j,i)
我们可以对上式做一个改造,使细致平稳条件成立。方法是引入一个α(i,j)α(i,j),使上式可以取等号,即:
π(i)Q(i,j)α(i,j)=π(j)Q(j,i)α(j,i)π(i)Q(i,j)α(i,j)=π(j)Q(j,i)α(j,i)