Metropolis–Hastings algorithm: Difference between revisions

Content deleted Content added
Citation bot (talk | contribs)
Add: s2cid, author pars. 1-1. Removed parameters. Some additions/deletions were actually parameter name changes. | You can use this bot yourself. Report bugs here. | Suggested by SemperIocundus | via #UCB_webform
Mostly undo WP:SELFCITE drop from November 2015, but keep 1992 and 1995 references that appear independent.
Line 44:
On the other hand, most simple [[rejection sampling]] methods suffer from the "[[curse of dimensionality]]", where the probability of rejection increases exponentially as a function of the number of dimensions. Metropolis–Hastings, along with other MCMC methods, do not have this problem to such a degree, and thus are often the only solutions available when the number of dimensions of the distribution to be sampled is high. As a result, MCMC methods are often the methods of choice for producing samples from [[hierarchical Bayesian model]]s and other high-dimensional statistical models used nowadays in many disciplines.
 
In [[multivariate distribution|multivariate]] distributions, the classic Metropolis–Hastings algorithm as described above involves choosing a new multi-dimensional sample point. When the number of dimensions is high, finding the suitable jumping distribution to use can be difficult, as the different individual dimensions behave in very different ways, and the jumping width (see above) must be "just right" for all dimensions at once to avoid excessively slow mixing. An alternative approach that often works better in such situations, known as [[Gibbs sampling]], involves choosing a new sample for each dimension separately from the others, rather than choosing a sample for all dimensions at once. This is especially applicable when the multivariate distribution is composed of a set of individual [[random variable]]s in which each variable is conditioned on only a small number of other variables, as is the case in most typical [[hierarchical Bayesian model|hierarchical models]]. The individual variables are then sampled one at a time, with each variable conditioned on the most recent values of all the others. Various algorithms can be used to choose these individual samples, depending on the exact form of the multivariate distribution: some possibilities are the [[adaptive rejection sampling]] methods,<ref name=":0" /><ref>{{Cite journal |title = Concave-Convex Adaptive Rejection Sampling |journal = Journal of Computational and Graphical Statistics |date = 2011-01-01 |issn = 1061-8600 |pages = 670–691 |volume = 20 |issue = 3 |doi = 10.1198/jcgs.2011.09058 |first1 = Dilan |last1 = Görür |first2 = Yee Whye |last2 = Teh|s2cid = 55033266 }}</ref><ref>{{Cite journal |title = A Rejection Technique for Sampling from T-concave Distributions |journal = ACM Trans. Math. Softw. |date = 1995-06-01 |issn = 0098-3500 |pages = 182–193 |volume = 21 |issue = 2 |doi = 10.1145/203082.203089 |first = Wolfgang |last = Hörmann|citeseerx = 10.1.1.56.6055|s2cid = 592740 }}</ref><ref>{{Cite journal|title = A generalization of the adaptive rejection sampling algorithm |journal = Statistics and Computing |date = 2010-08-25 |issn = 0960-3174 |pages = 633–647 |volume = 21 |issue = 4 |doi = 10.1007/s11222-010-9197-9 |first1 = Luca |last1 = Martino |first2 = Joaquín |last2 = Míguez |hdl = 10016/16624|s2cid = 1415606 |hdl-access = free }}</ref> the adaptive rejection Metropolis sampling algorithm<ref>{{Cite journal |title = Adaptive Rejection Metropolis Sampling within Gibbs Sampling |jstor = 2986138 |journal = Journal of the Royal Statistical Society. Series C (Applied Statistics) |date = 1995-01-01 |pages = 455–472 |volume = 44 |issue = 4 |doi = 10.2307/2986138 |first1 = W. R. |last1 = Gilks |first2 = N. G. |last2 = Best |author2-link= Nicky Best |first3 = K. K. C. |last3 = Tan}}</ref> or its improvements<ref>{{Cite journal |title = Independent Doubly Adaptive Rejection Metropolis Sampling Within Gibbs Sampling |journal = IEEE Transactions on Signal Processing |date = 2015-06-01 |issn = 1053-587X |pages = 3123–3138 |volume = 63 |issue = 12 |doi = 10.1109/TSP.2015.2420537 |first1 = L. |last1 = Martino |first2 = J. |last2 = Read |first3 = D. |last3 = Luengo |arxiv = 1205.5494 |bibcode = 2015ITSP...63.3123M|s2cid = 204900753 }}</ref><ref>{{Cite journal |title = Adaptive rejection Metropolis sampling using Lagrange interpolation polynomials of degree 2 |journal = Computational Statistics & Data Analysis |date = 2008-03-15 |pages = 3408–3423 |volume = 52 |issue = 7 |doi = 10.1016/j.csda.2008.01.005 |first1 = Renate |last1 = Meyer |first2 = Bo |last2 = Cai |first3 = François |last3 = Perron}}</ref> (see [http://a2rms.sourceforge.net matlab code]), a simple one-dimensional Metropolis–Hastings step, or [[slice sampling]].
 
==Formal derivation==
Line 207:
* [https://web.archive.org/web/20110405024000/http://www.quantiphile.com/2010/11/01/metropolis-hastings/ Matlab implementation of Random-Walk Metropolis]
* [http://blog.abhranil.net/2014/02/08/r-code-for-multivariate-random-walk-metropolis-hastings-sampling/ R implementation of Random-Walk Metropolis]
* [http://a2rms.sourceforge.net IA2RMS] is a Matlab code of the ''Independent Doubly Adaptive Rejection Metropolis Sampling'' method for drawing from the full-conditional densities within a Gibbs sampler.
* [https://github.com/kirill77/SimpleMetropolisCheck unbiased Metropolis sampling] Simple Visual C++ project which showcases numerical integration using Metropolis sampling without burn-in samples and without bias. Uses idea from Ph.D. thesis of Eric Veach "ROBUST MONTE CARLO METHODS FOR LIGHT TRANSPORT SIMULATION"