蒙特卡罗法(Monte Carlo Method)也称为统计模拟方法,是通过概率模型的随机抽样进行近似数值计算的方法。
马尔科夫链蒙特卡罗法(Markov Chain Monte Carlo,MCMC)则是以马尔科夫链为概率模型的蒙特卡罗法。MCMC构建一个马尔科夫链,使其平稳分布就是要进行抽样的分布,首先基于该马尔科夫链进行随机游走,产生样本的序列,之后使用该平稳分布的样本进行近似数值计算。
1、蒙特卡罗法
在我浅显的认知里,蒙特卡罗法就是在正方形里随机取点用概率近似求内接圆面积的近似方法。看过《统计学习方法》后的简单介绍后发现自己还是naive,蒙特卡罗法还是很强大的。
蒙特卡罗法要解决的问题是:假设概率分布定义已知,通过抽样获得概率分布的随机样本,并通过得到的随机样本对概率分布的特征进行分析。蒙特卡罗法的核心是随机抽样。
一般的蒙特卡罗法有直接抽样法、接受-拒绝抽样法、重要性抽样法等。后两者适用于概率密度复杂、不能直接抽样的情况。
接受-拒绝法的基本思想如下:假设不可直接抽样,找到一个可以直接抽样的分布,称为建议分布。假设为建议分布的概率密度函数,并且有,其中。按照进行抽样,假设得到结果是,再按照的比例决定是否接受。如下图所示,落到范围内就接受(绿色),否则拒绝(红色)。
具体算法流程如下:
(1)选择概率密度函数为的概率函数作为建议分布,使其对任一满足,其中。
(2)按照建议分布随机抽样得到样本,再按照均匀分布在范围内抽样得到。
(3)若,则将作为抽样结果,否则返回(2)。
(4)直至得到个随机样本,结束。
接受-拒绝法实际是按照的涵盖面积占的涵盖面积的比例进行抽样。其优点是容易实现,缺点是效率可能不高。若涵盖面积占的涵盖面积的比例很低,就会导致拒绝比例很高,抽样效率很低。
一般蒙特卡罗法可以用于数学期望估计。按概率分布独立地抽取个样本,之后计算函数的样本均值:
作为数学期望的近似值。这里可以通过离散的情况简单的理解,比如被抽到次,把和相乘就得到的频率,可用于估计概率,从而上式可视为即期望的近似值。
此外,一般蒙特卡罗法还可以用于积分计算。假设有一个函数,目标是计算该函数积分:
将分解成一个函数和一个概率密度函数的乘积,则有:
于是函数的积分就可以表示为函数关于的期望。实际上给定一个概率密度函数,只要取,即可得到上述形式。接下来,我们用期望的估计即可计算积分:
2、马尔科夫链
马尔科夫链定义:
考虑一个随机变量的序列,这里表示时刻的随机变量,。每个随机变量的取值集合相同,称为状态空间,表示为。随机变量可以是离散的,也可以是连续的。以上随机变量的序列构成随机过程。
假设在时刻的随机变量遵循概率分布,称为初始状态分布。在某时刻的随机变量与前一时刻的随机变量有条件分布。若只依赖于而不依赖于过去的随机变量,这一性质称为马尔可夫性,即:
具有马尔科夫性的随机序列称为马尔科夫链或马尔科夫过程。条件概率分布称为马尔科夫链的转移概率分布。
若马尔科夫链在时刻处于状态,在时刻移动到状态,将转移概率记作:
满足:
马尔科夫链的转移概率可用矩阵表示:
考虑马尔科夫链在时刻的概率分布,称为时刻的状态分布:
其中表示时刻状态为的概率。
马尔科夫链在时刻的状态分布可以由在时刻的状态分布以及转移概率分布决定:
递推得到:
若状态空间上存在一个分布使得:
则称为马尔科夫链的平稳分布。
下面给出几个定义及定理:
(1)不可约:对于任意状态,存在时刻,使得时刻从状态出发,时刻到达状态的概率大于,则称此马尔科夫链是不可约的。否则称马尔科夫链是可约的。
(2)非周期:对任意状态,若时刻从状态出发,时刻返回状态的所有时间长的最大公约数为1,则称此马尔科夫链是非周期的,否则称马尔科夫链是周期的。
(3)正常返:对于任意状态,定义概率为时刻从状态出发,时刻首次转移到状态的概率,若对任意状态都满足:,则称马尔科夫链是正常返的。
(4)可逆:若有一个状态分布,对任意状态,对任意时刻,满足:
则称此马尔科夫链为可逆马尔科夫链。上式称为细致平衡方程。
定理1:不可约且非周期的有限状态马尔科夫链有唯一平稳分布存在。
定理2:不可约、非周期且正常返的马尔科夫链有唯一平稳分布存在。
定理3(遍历定理):不可约、非周期且正常返的马尔科夫链有唯一平稳分布,且转移概率的极限分布式马尔科夫链的平稳分布:
若是定义在状态空间上的函数,,则:
这里:
遍历定理是说,满足相应条件的马尔科夫链,当时间趋于无穷时,马尔科夫链的状态分布趋近于平稳分布,随机变量的函数的样本均值以概率1收敛于该函数的数学期望。
定理4:满足细致平衡方程的状态分布就是该马尔科夫链的平稳分布,即:
证明:
3、马尔科夫链蒙特卡罗法
假设多元随机变量概率密度函数为,为的函数,目标是获得概率分布的样本集合,以及函数的数学期望。
应用马尔科夫链蒙特卡罗法解决这个问题的基本想法是:在随机变量的状态空间上定义一个满足遍历定理的马尔科夫链,使其平稳分布就是抽样的目标分布。然后在这个马尔科夫链上进行随机游走,每个时刻得到一个样本。根据遍历定理,当时间趋于无穷时,样本的分布趋于平稳分布,样本的函数均值趋近于函数的数学期望。
所以,当时间足够长时(时刻大于某个正整数,的时间段称为燃烧期),在之后的时间(时刻小于某个给定正整数,)里随机游走得到的样本集合就是目标概率分布的抽样结果,得到的函数均值就是要计算的期望值:
马尔科夫链蒙特卡罗法可概括为以下三步:
(1)在随机变量的状态空间上定义一个满足遍历定理的马尔科夫链,使其平稳分布就是抽样的目标分布。
(2)从状态空间的某一点出发,用构造的马尔科夫链进行随机游走,产生样本序列。
(3)应用马尔科夫链的遍历定理,确定整数和,得到样本集合,求得函数的均值:
网友评论