Algoritmo de Metropolis-Hastings


En estadística y física estadística , el algoritmo Metropolis-Hastings es un método de cadena de Markov Monte Carlo (MCMC) para obtener una secuencia de muestras aleatorias a partir de una distribución de probabilidad a partir de la cual el muestreo directo es difícil. Esta secuencia se puede utilizar para aproximar la distribución (p. ej., para generar un histograma ) o para calcular una integral (p. ej., un valor esperado). Metropolis-Hastings y otros algoritmos MCMC se utilizan generalmente para el muestreo de distribuciones multidimensionales, especialmente cuando el número de dimensiones es alto. Para distribuciones unidimensionales, normalmente existen otros métodos (p. ej ., muestreo de rechazo adaptativo ) que pueden devolver directamente muestras independientes de la distribución, y no tienen el problema de las muestras autocorrelacionadas que es inherente a los métodos MCMC.

El algoritmo lleva el nombre de Nicholas Metropolis , autor del artículo de 1953 Equation of State Calculations by Fast Computing Machines junto con Arianna W. Rosenbluth , Marshall Rosenbluth , Augusta H. Teller y Edward Teller . Este artículo proponía el algoritmo para el caso de distribuciones propuestas simétricas, y WK Hastings lo extendió al caso más general en 1970. [1]

Existe cierta controversia con respecto al crédito por el desarrollo del algoritmo. Metropolis, que estaba familiarizado con los aspectos computacionales del método, había acuñado el término "Monte Carlo" en un artículo anterior con Stanisław Ulam , y dirigió el grupo en la División Teórica que diseñó y construyó la computadora MANIAC I utilizada en los experimentos en 1952. Sin embargo, antes de 2003, no hubo una descripción detallada del desarrollo del algoritmo. Luego, poco antes de su muerte, Marshall Rosenbluth asistió a una conferencia de 2003 en LANL con motivo del 50 aniversario de la publicación de 1953. En esta conferencia, Rosenbluth describió el algoritmo y su desarrollo en una presentación titulada "Génesis del Algoritmo de Monte Carlo para Mecánica Estadística".[2] Gubernatis hace una aclaración histórica adicional en un artículo de revista de 2005 [3] que relata la conferencia del 50 aniversario. Rosenbluth deja en claro que él y su esposa Arianna hicieron el trabajo y que Metropolis no desempeñó ningún papel en el desarrollo más que proporcionar tiempo de computadora.

Esto contradice un relato de Edward Teller, quien afirma en sus memorias que los cinco autores del artículo de 1953 trabajaron juntos durante "días (y noches)". [4] Por el contrario, el relato detallado de Rosenbluth acredita a Teller con una sugerencia crucial pero temprana de "aprovechar la mecánica estadística y tomar promedios de conjuntos en lugar de seguir una cinemática detallada". Esto, dice Rosenbluth, lo hizo pensar en el enfoque generalizado de Monte Carlo, un tema que dice que había discutido a menudo con John Von Neumann . Arianna Rosenbluth contó (a Gubernatis en 2003) que Augusta Teller inició el trabajo informático, pero que Arianna misma se hizo cargo y escribió el código desde cero. En una historia oral registrada poco antes de su muerte, [5]Rosenbluth nuevamente le da crédito a Teller por plantear el problema original, él mismo por resolverlo y Arianna por programar la computadora. En términos de reputación, hay pocas razones para cuestionar el relato de Rosenbluth. En una memoria biográfica de Rosenbluth, Freeman Dyson escribe: [6]

Muchas veces acudí a Rosenbluth, le hice una pregunta [...] y recibí una respuesta en dos minutos. Luego, por lo general, me llevaría una semana de arduo trabajo comprender en detalle por qué la respuesta de Rosenbluth era correcta. Tenía una habilidad asombrosa para ver a través de una situación física complicada y llegar a la respuesta correcta mediante argumentos físicos. Enrico Fermi fue el único otro físico que he conocido que fue igual a Rosenbluth en su comprensión intuitiva de la física.


La propuesta de distribución Q propone el siguiente punto al que podría moverse el paseo aleatorio .
El resultado de tres cadenas de Markov que se ejecutan en la función 3D de Rosenbrock utilizando el algoritmo Metropolis-Hastings. El algoritmo toma muestras de regiones donde la probabilidad posterior es alta y las cadenas comienzan a mezclarse en estas regiones. Se ha iluminado la posición aproximada del máximo. Los puntos rojos son los que quedan después del proceso de quemado. Los anteriores han sido descartados.