Ref: http://blog.csdn.net/xianlingmao/article/details/7768833html
一般,咱们会遇到不少问题没法用分析的方法来求得精确解,例如因为式子特别,真的解不出来;算法
通常遇到这种状况,人们常常会采用一些方法去获得近似解,已经近似程度。post
本文要谈的随机模拟就是这么一类近似求解的方法。url
它的诞生虽然最先能够追溯到18xx年法国数学家蒲松的投针问题(用模拟的方法来求解\pi的问题),可是真正的大规模应用仍是被用来解决二战时候美国生产原子弹所碰到的各类难以解决的问题而提出的蒙特卡洛方法(Monte Carlo),今后一发不可收拾。.net
其基本思路就是要把待解决的问题转化为一种能够经过某种采样方法能够解决的问题,至于怎么转化,仍是挺有创造性,没有定法。htm
所以,随机模拟方法的核心就是:如何对一个几率分布获得样本,即抽样(sampling)。blog
略。get
又简称拒绝抽样,直观地理解,为了获得一个分布的样本,咱们经过某种机制获得了不少的初步样本,而后其中一部分初步样本会被做为有效的样本(即要抽取的分布的样本),一部分初步样本会被认为是无效样本舍弃掉。数学
这个算法的基本思想是:咱们须要对一个分布f(x)进行采样,可是却很难直接进行采样,因此咱们想经过另一个容易采样的分布g(x)的样本,用某种机制去除掉一些样本,从而使得剩下的样本就是来自与所求分布f(x)的样本。it
重要性采样 和 蒙特卡洛积分 密切相关。
给每一个样本赋予了一个权重,g(xi)大意味着几率大,那么N里面含有这样的样本xi就多,即这些样本的权重大,因此称为重要性抽样。
不管是拒绝抽样仍是重要性采样,都是属于独立采样,即样本与样本之间是独立无关的,这样的采样效率比较低,如拒绝采样,所抽取的样本中有很大部分是无效的,这样效率就比较低。
MCMC方法是关联采样,即下一个样本与这个样本有关系,从而使得采样效率高。
MCMC方法的基本思想是:经过构建一个markov chain使得该markov chain的稳定分布是咱们所要采样的分布f(x)。
当markov chain达到稳定状态,那么来自这个chain的每一个样本都是f(x)的样本,从而实现抽样的目的。
这里存在一个核心问题,如何构建知足要求的markov chain?
见:[Bayes] dchisq: Metropolis-Hastings Algorithm
暂略。
固然不管是metropolis-hasting算法仍是gibbs算法,都有一个burn in的过程,在burn in过程当中产生的样本都须要被舍弃。
能够证实Gibbs算法是metropolis-hasting算法的一个特例,即比率\alpha(x,y) = 1的一个特列。具体证实,此处略。
End.