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.