梅特罗波利斯-黑斯廷斯算法
梅特罗波利斯-黑斯廷斯算法(英语:Metropolis–Hastings algorithm)是统计学与统计物理中的一种马尔科夫蒙特卡洛(MCMC)方法,用于在难以直接采样时从某一概率分布中抽取随机样本序列。得到的序列可用于估计该概率分布或计算积分(如期望值)等。梅特罗波利斯-黑斯廷斯或其他MCMC算法一般用于从多变量(尤其是高维)分布中采样。对于单变量分布而言,常会使用自适应判别采样(adaptive rejection sampling)等其他能抽取独立样本的方法,而不会出现MCMC中样本自相关的问题。
算法
假设 为目标概率分布。梅特罗波利斯-黑斯廷斯算法的过程为:
- 初始化
- 选定初始状态 ;
- 令 ;
- 迭代过程
- 生成: 从某一容易抽样的分布 中随机生成候选状态 ;[注 1]
- 计算: 计算是否采纳候选状态的概率 ;
- 接受或拒绝
- 从 的均匀分布中生成随机数 ;
- 如 ,则接受该状态,并令 ;
- 如 ,则拒绝该状态,并令 (复制原状态);
- 增量:令 ;
注释
- ^ 该分布称为提议分布(proposal distribution),当其对称时(即满足 ),是梅特罗波利斯-黑斯廷斯算法的一类特例,称为梅特罗波利斯算法(Metropolis algorithm)。
参考文献
- ^ 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.
- ^ 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