0、前言
蒙特卡罗方法(Monte Carlo Simulation)是一种随机模拟(或者统计模拟)方法。给定一个概率分布p(x),如何让计算机生成满足这个概率分布的样本。 这个问题就是统计模拟中研究的重要问题–采样(Sampling)。
MCMC(Markov Chain Monte Carlo)算法是其中一种重要的采样方法。
1、马尔科夫链、马尔科夫稳态
马尔科夫链的数学定义如下:
P(Xt+1=x|Xt,Xt−1,…)=P(Xt+1=x|Xt)
状态转移的概率只依赖于前一个状态。
引入一个典例:
给定初始概率转移矩阵(PS:行坐标表示各当前状态,列坐标表示各下一个状态):
解释:拿第一行来讲,(1,1)位置表示处在第一个状态时转移到第一个状态概率P11=0.65,(1,2)位置表示处在第一个状态转移到第二个状态概率P12=0.28,(1,3)位置表示处在第一个状态转移到第三个状态概率P13=0.07,其他各行同理。
假设初始概率分布为π0=[0.21,0.68,0.11],也即当前处在各个状态的概率。计算转移前n词的分布状况如下:
(PS:实际就是矩阵相乘,公式为πn=π0Pn,Pn表示转移概率矩阵的第n列概率)