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

提议分布Q表示随机游走下一状态的可能位置

梅特罗波利斯-黑斯廷斯算法(英語:Metropolis–Hastings algorithm)是统计学统计物理中的一种马尔科夫蒙特卡洛(MCMC)方法,用于在难以直接采样时从某一概率分布中抽取随机样本序列。得到的序列可用于估计该概率分布或计算积分(如期望值)等。梅特罗波利斯-黑斯廷斯或其他MCMC算法一般用于从多变量(尤其是高维)分布中采样。对于单变量分布而言,常会使用自适应判别采样(adaptive rejection sampling)等其他能抽取独立样本的方法,而不会出现MCMC中样本自相关的问题。

该算法的名称源于美国物理学家尼古拉斯·梅特罗波利斯[1]与加拿大统计学家W·K·黑斯廷斯英语W. K. Hastings[2]

算法

假设为目标概率分布。梅特罗波利斯-黑斯廷斯算法的过程为:

  1. 初始化
    1. 选定初始状态
  2. 迭代过程
    1. 生成: 从某一容易抽样的分布中随机生成候选状态[註 1]
    2. 计算: 计算是否采纳候选状态的概率
    3. 接受或拒绝
      1. 的均匀分布中生成随机数
      2. ,则接受该状态,并令
      3. ,则拒绝该状态,并令(复制原状态);
    4. 增量:

注释

  1. ^ 该分布称为提议分布(proposal distribution),当其对称时(即满足),是梅特罗波利斯-黑斯廷斯算法的一类特例,称为梅特罗波利斯算法(Metropolis algorithm)。

参考文献

  1. ^ Metropolis, N.; Rosenbluth, A.W.; Rosenbluth, M.N.; Teller, A.H.; Teller, E. Equations of State Calculations by Fast Computing Machines. Journal of Chemical Physics. 1953, 21 (6): 1087–1092. Bibcode:1953JChPh..21.1087M. doi:10.1063/1.1699114. 
  2. ^ Hastings, W.K. Monte Carlo Sampling Methods Using Markov Chains and Their Applications. Biometrika. 1970, 57 (1): 97–109. JSTOR 2334940. Zbl 0219.65008. doi:10.1093/biomet/57.1.97. 
  • Bernd A. Berg. Markov Chain Monte Carlo Simulations and Their Statistical Analysis. Singapore, World Scientific, 2004.
  • Siddhartha Chib and Edward Greenberg: "Understanding the Metropolis–Hastings Algorithm". American Statistician, 49(4), 327–335, 1995
  • David D. L. Minh and Do Le Minh. "Understanding the Hastings Algorithm." Communications in Statistics - Simulation and Computation, 44:2 332-349, 2015
  • Bolstad, William M. (2010) Understanding Computational Bayesian Statistics, John Wiley & Sons ISBN 0-470-04609-0