複製鏈接
請複製以下鏈接發送給好友

梅特羅波利斯-黑斯廷斯算法

鎖定
梅特羅波利斯-黑斯廷斯算法(英語:Metropolis–Hastings algorithm)是統計學與統計物理中的一種馬爾科夫蒙特卡洛(MCMC)方法,用於在難以直接採樣時從某一概率分佈中抽取隨機樣本序列。
中文名
梅特羅波利斯-黑斯廷斯算法
外文名
Metropolis–Hastings algorithm
領    域
統計學

梅特羅波利斯-黑斯廷斯算法簡介

梅特羅波利斯-黑斯廷斯算法(英語:Metropolis–Hastings algorithm)是統計學與統計物理中的一種馬爾科夫蒙特卡洛(MCMC)方法,用於在難以直接採樣時從某一概率分佈中抽取隨機樣本序列。得到的序列可用於估計該概率分佈或計算積分(如期望值)等。梅特羅波利斯-黑斯廷斯或其他MCMC算法一般用於從多變量(尤其是高維)分佈中採樣。對於單變量分佈而言,常會使用自適應判別採樣(adaptive rejection sampling)等其他能抽取獨立樣本的方法,而不會出現MCMC中樣本自相關的問題。
該算法的名稱源於美國物理學家尼古拉斯·梅特羅波利斯與加拿大統計學家W·K·黑斯廷斯。 [1] 

梅特羅波利斯-黑斯廷斯算法算法

假設
為目標概率分佈。梅特羅波利斯-黑斯廷斯算法的過程為:
1.初始化:
選定初始狀態
;令
2.迭代過程:
生成:從某一容易抽樣的分佈
中隨機生成候選狀態
計算:計算是否採納候選狀態的概率
接受或拒絕:
的均勻分佈中生成隨機數
,則接受該狀態,並令
,則拒絕該狀態,並令
(複製原狀態);
增量:
. [2] 

梅特羅波利斯-黑斯廷斯算法馬爾科夫蒙特卡洛

馬爾科夫蒙特卡洛(英語:Markov chain Monte Carlo,MCMC)方法(含隨機遊走蒙特卡洛方法)是一組用馬氏鏈從隨機分佈取樣的算法,之前步驟的作為底本。步數越多,結果越好。
創建一個具有期望屬性的馬氏鏈並非難事,難的是如何決定通過多少步可以達到在許可誤差內的穩定分佈。一個好的馬氏鏈具有快速混合——從開始階段迅速獲得的一個穩定狀態——請參考馬氏鏈最大時間。
因於初始樣本,最常見的MCMC取樣只能近似得到分佈。複雜的MCMC改進算法如過往耦合,但是會消耗更多的計算資源和時間。
典型用法是模擬一個隨機行走的行人來進行路徑優化等。每一步都算作是一個狀態。而統計經過次數最多的地方將在下一步中更有可能為目的地。馬氏蒙特卡洛方法是一種結合了蒙特卡羅法的解決方案。但不同於以往的蒙特卡洛integration是統計獨立的,MCMC中的是統計相關的
本方法的相關應用包括:貝葉斯統計、計算物理、計算生物以及計算語言學,此外還有Gill先生的一些著作。 [3] 

梅特羅波利斯-黑斯廷斯算法參見

參考資料
  • 1.    R. Y. Rubinstein and D. P. Kroese. Simulation and the Monte Carlo Method(second edition). New York: John Wiley & Sons, 2007. ISBN 978-0470177945
  • 2.    Bolstad, William M.(2010)Understanding Computational Bayesian Statistics, John Wiley ISBN 0-470-04609-8
  • 3.    Press, WH; Teukolsky, SA; Vetterling, WT; Flannery, BP, Section 15.8. Markov Chain Monte Carlo, Numerical Recipes: The Art of Scientific Computing 3rd, New York: Cambridge University Press, 2007, ISBN 978-0-521-88068-8