
En estadística y física estadística , el algoritmo de Metropolis-Hastings es un método de Monte Carlo de cadena de Markov (MCMC) para obtener una secuencia de muestras aleatorias de una distribución de probabilidad de la que es difícil obtener un muestreo directo. Las nuevas muestras se añaden a la secuencia en dos pasos: primero se propone una nueva muestra basándose en la anterior; luego, la muestra propuesta se añade a la secuencia o se rechaza según el valor de la distribución de probabilidad en ese punto. La secuencia resultante puede utilizarse para aproximar la distribución (por ejemplo, para generar un histograma ) o para calcular una integral (por ejemplo, un valor esperado ).
Los algoritmos de Metropolis-Hastings y otros algoritmos MCMC se utilizan generalmente para el muestreo de distribuciones multidimensionales, especialmente cuando el número de dimensiones es elevado. Para distribuciones unidimensionales, suelen existir otros métodos (por ejemplo, el muestreo por rechazo adaptativo ) que pueden devolver directamente muestras independientes de la distribución, y estos no presentan el problema de las muestras autocorrelacionadas inherente a los métodos MCMC.
Historia
El algoritmo recibe su nombre en parte de Nicholas Metropolis , primer coautor de un artículo de 1953 titulado « Cálculos de la ecuación de estado mediante máquinas de computación rápidas» , junto con Arianna W. Rosenbluth , Marshall Rosenbluth , Augusta H. Teller y Edward Teller . Durante muchos años, el algoritmo se conoció simplemente como el algoritmo de Metropolis . [ 1 ] [ 2 ] El artículo propuso el algoritmo para el caso de distribuciones de propuesta simétricas, pero en 1970, W. K. Hastings lo extendió al caso más general. [ 3 ] El método generalizado acabó siendo conocido por ambos nombres, aunque no está claro el origen del término «algoritmo de Metropolis-Hastings».
Existe cierta controversia respecto a la autoría del desarrollo del algoritmo de Metropolis. Metropolis, quien estaba familiarizado con los aspectos computacionales del método, acuñó 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 de 1952. Sin embargo, antes de 2003 no existía un relato detallado del desarrollo del algoritmo. Poco antes de su muerte, Marshall Rosenbluth asistió a una conferencia en LANL en 2003 que conmemoraba el 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". [ 4 ] Gubernatis ofrece una aclaración histórica adicional en un artículo de revista de 2005 [ 5 ] que relata la conferencia del 50 aniversario. Rosenbluth deja claro que él y su esposa Arianna fueron quienes realizaron el trabajo, y que Metropolis no desempeñó ningún papel en el desarrollo más allá de proporcionar tiempo de ordenador.
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)". [ 6 ] En contraste, el relato detallado de Rosenbluth le atribuye a Teller una sugerencia crucial pero temprana de "aprovechar la mecánica estadística y tomar promedios de conjunto en lugar de seguir la cinemática detallada ". Esto, dice Rosenbluth, lo hizo pensar en el enfoque generalizado de Monte Carlo, un tema que dice haber discutido a menudo con John Von Neumann . Arianna Rosenbluth relató (a Gubernatis en 2003) que Augusta Teller comenzó el trabajo informático, pero que Arianna misma lo tomó al mando y escribió el código desde cero. En una historia oral grabada poco antes de su muerte, [ 7 ] Rosenbluth nuevamente le atribuye a Teller el planteamiento del problema original, a él mismo la resolución y a Arianna la programación de la computadora.
Descripción
El algoritmo de Metropolis-Hastings puede extraer muestras de cualquier distribución de probabilidad con densidad de probabilidad, siempre que conozcamos una funciónproporcional a la densidady los valores dese puede calcular. El requisito de queEl hecho de que deba ser proporcional a la densidad, en lugar de ser exactamente igual a ella, hace que el algoritmo de Metropolis-Hastings sea particularmente útil, ya que elimina la necesidad de calcular el factor de normalización de la densidad, lo cual suele ser extremadamente difícil en la práctica.
El algoritmo de Metropolis-Hastings genera una secuencia de valores de muestra de tal manera que, a medida que se producen más y más valores de muestra, la distribución de valores se aproxima más a la distribución deseada. Estos valores de muestra se producen iterativamente de tal manera que la distribución de la siguiente muestra depende solo del valor de muestra actual, lo que convierte la secuencia de muestras en una cadena de Markov . Específicamente, en cada iteración, el algoritmo propone un candidato para el siguiente valor de muestra basándose en el valor de muestra actual. Luego, con cierta probabilidad, el candidato es aceptado, en cuyo caso el valor candidato se utiliza en la siguiente iteración, o es rechazado, en cuyo caso el valor candidato se descarta y el valor actual se reutiliza en la siguiente iteración. La probabilidad de aceptación se determina comparando los valores de la funciónde los valores de muestra actuales y candidatos con respecto a la distribución deseada.
El método utilizado para proponer nuevos candidatos se caracteriza por la distribución de probabilidad.(a veces escrito)) de una nueva muestra propuestadada la muestra anteriorEsto se denomina densidad de propuesta , función de propuesta o distribución de salto . Una opción común paraes una distribución gaussiana centrada en, de modo que los puntos más cercanos aes más probable que se visiten a continuación, lo que convierte la secuencia de muestras en un paseo aleatorio gaussiano . En el artículo original de Metropolis et al. (1953),Se sugirió que fuera una distribución uniforme limitada a una distancia máxima deTambién son posibles funciones de propuesta más complejas, como las de Monte Carlo hamiltoniano , Monte Carlo de Langevin o Crank-Nicolson precondicionado .
A modo de ejemplo, a continuación se describe el algoritmo de Metropolis, un caso especial del algoritmo de Metropolis-Hastings en el que la función propuesta es simétrica.
- Algoritmo de Metropolis (distribución de propuestas simétricas)
Dejarsea una función que sea proporcional a la función de densidad de probabilidad deseada(también conocida como distribución objetivo). [ a ]
- Inicialización: Elija un punto arbitrarioser la primera observación en la muestra y elegir una función de propuesta. En esta sección,se supone que es simétrico; en otras palabras debe satisfacer.
- Para cada iteración t :
- Proponga un candidatopara la siguiente muestra seleccionando de la distribución.
- Calcular el índice de aceptación, que se utilizará para decidir si se acepta o se rechaza al candidato. [ b ] Debido a que f es proporcional a la densidad de P , tenemos que.
- Aceptar o rechazar :
- Generar un número aleatorio uniforme.
- Si, luego acepte al candidato estableciendo,
- Si, luego rechazar al candidato y estableceren cambio.
Este algoritmo procede intentando moverse aleatoriamente por el espacio muestral , a veces aceptando los movimientos y a veces permaneciendo en el mismo lugar.en un punto específicoes proporcional a las iteraciones que el algoritmo dedica al punto. Nótese que la tasa de aceptaciónindica cuán probable es la nueva muestra propuesta con respecto a la muestra actual, según la distribución cuya densidad es. Si intentamos movernos a un punto que sea más probable que el punto existente (es decir, un punto en una región de mayor densidad decorrespondiente a un), siempre aceptaremos el movimiento. Sin embargo, si intentamos movernos a un punto menos probable, a veces rechazaremos el movimiento, y cuanto mayor sea la caída relativa en la probabilidad, más probable será que rechacemos el nuevo punto. Por lo tanto, tenderemos a permanecer en (y devolver un gran número de muestras de) regiones de alta densidad de, mientras que solo ocasionalmente visita regiones de baja densidad. Intuitivamente, esta es la razón por la que este algoritmo funciona y devuelve muestras que siguen la distribución deseada con densidad.
En comparación con un algoritmo como el muestreo de rechazo adaptativo [ 8 ] que genera directamente muestras independientes de una distribución, Metropolis-Hastings y otros algoritmos MCMC tienen una serie de desventajas:
- Las muestras están autocorrelacionadas . Aunque a largo plazo sí siguen correctamenteUn conjunto de muestras cercanas estará correlacionado entre sí y no reflejará correctamente la distribución. Esto significa que el tamaño efectivo de la muestra puede ser significativamente menor que el número de muestras tomadas realmente, lo que conlleva grandes errores.
- Aunque la cadena de Markov finalmente converge a la distribución deseada, las muestras iniciales pueden seguir una distribución muy diferente, especialmente si el punto de partida se encuentra en una región de baja densidad. Por consiguiente, suele ser necesario un período de calentamiento [ 9 ] , durante el cual se descarta un número inicial de muestras.
Por otro lado, la mayoría de los métodos de muestreo por rechazo simples sufren la " maldición de la dimensionalidad ", donde la probabilidad de rechazo aumenta exponencialmente en función del número de dimensiones. El método de Metropolis-Hastings, junto con otros métodos MCMC, no presenta este problema en tal grado y, por lo tanto, suele ser la única solución disponible cuando el número de dimensiones de la distribución a muestrear es elevado. En consecuencia, los métodos MCMC suelen ser los más utilizados para generar muestras a partir de modelos bayesianos jerárquicos y otros modelos estadísticos de alta dimensionalidad empleados actualmente en numerosas disciplinas.
En las distribuciones multivariadas , el algoritmo clásico de Metropolis-Hastings, como se describió anteriormente, implica elegir un nuevo punto de muestra multidimensional. Cuando el número de dimensiones es alto, encontrar la distribución de salto adecuada puede ser difícil, ya que las diferentes dimensiones individuales se comportan de maneras muy distintas, y el ancho de salto (ver arriba) debe ser "justo" para todas las dimensiones a la vez para evitar una mezcla excesivamente lenta. Un enfoque alternativo que suele funcionar mejor en tales situaciones, conocido como muestreo de Gibbs , implica elegir una nueva muestra para cada dimensión por separado de las demás, en lugar de elegir una muestra para todas las dimensiones a la vez. De esa manera, el problema del muestreo de un espacio potencialmente de alta dimensión se reducirá a un conjunto de problemas de muestreo de baja dimensionalidad. [ 10 ] Esto es especialmente aplicable cuando la distribución multivariada está compuesta por un conjunto de variables aleatorias individuales en las que cada variable está condicionada solo a un pequeño número de otras variables, como es el caso en la mayoría de los modelos jerárquicos típicos . Las variables individuales se muestrean entonces una a una, con cada variable condicionada a los valores más recientes de todas las demás. Se pueden utilizar varios algoritmos para elegir estas muestras individuales, dependiendo de la forma exacta de la distribución multivariada: algunas posibilidades son los métodos de muestreo de rechazo adaptativo , [ 8 ] el algoritmo de muestreo de Metropolis de rechazo adaptativo, [ 11 ] un paso de Metropolis-Hastings unidimensional simple o muestreo por rebanadas .
Derivación formal
El propósito del algoritmo de Metropolis-Hastings es generar una colección de estados de acuerdo con una distribución deseada.Para lograr esto, el algoritmo utiliza un proceso de Markov , que alcanza asintóticamente una distribución estacionaria única.de tal manera que. [ 12 ]
Un proceso de Markov se define de forma única por sus probabilidades de transición., la probabilidad de transición desde cualquier estado dadoa cualquier otro estado determinadoTiene una distribución estacionaria única.cuando se cumplen las dos condiciones siguientes: [ 12 ]
- Existencia de distribución estacionaria : debe existir una distribución estacionaria.. Una condición suficiente pero no necesaria es el equilibrio detallado , que requiere que cada transiciónes reversible: para cada par de estados, la probabilidad de estar en estadoy la transición al estadodebe ser igual a la probabilidad de estar en estadoy la transición al estado,.
- Unicidad de la distribución estacionaria : la distribución estacionariadebe ser único. Esto está garantizado por la ergodicidad del proceso de Markov, que requiere que cada estado debe (1) ser aperiódico: el sistema no regresa al mismo estado en intervalos fijos; y (2) ser recurrente positivo: el número esperado de pasos para regresar al mismo estado es finito.
El algoritmo de Metropolis-Hastings implica diseñar un proceso de Markov (construyendo probabilidades de transición) que cumpla las dos condiciones anteriores, de modo que su distribución estacionariaes elegido para serLa derivación del algoritmo comienza con la condición de balance detallado :
que se reescribe como
El enfoque consiste en separar la transición en dos subetapas: la propuesta y la aceptación-rechazo. La distribución de la propuestaes la probabilidad condicional de proponer un estadodadoy la distribución de aceptaciónes la probabilidad de aceptar el estado propuestoLa probabilidad de transición se puede escribir como el producto de ellas:
Insertando esta relación en la ecuación anterior, tenemos
El siguiente paso en la derivación es elegir una razón de aceptación que cumpla la condición anterior. Una opción común es la elección de Metropolis:
Para esta tasa de aceptación de Metropolis, cualquieraoy, en cualquier caso, la condición se cumple.
El algoritmo de Metropolis-Hastings se puede escribir, por lo tanto, de la siguiente manera:
- Inicializar
- Elige un estado inicial.
- Colocar.
- Iterar
- Generar un estado candidato aleatoriode acuerdo a.
- Calcular la probabilidad de aceptación.
- Aceptar o rechazar :
- generar un número aleatorio uniforme;
- si, luego acepta el nuevo estado y establece;
- siLuego, rechaza el nuevo estado y copia el estado anterior..
- Incremento : establecer.
Siempre que se cumplan las condiciones especificadas, la distribución empírica de estados guardadosse acercará. El número de iteraciones () necesario para estimar eficazmentedepende de la cantidad de factores, incluida la relación entrey la distribución de la propuesta y la precisión de estimación deseada. [ 13 ] Para la distribución en espacios de estados discretos, debe ser del orden del tiempo de autocorrelación del proceso de Markov. [ 14 ] Una explicación accesible de la teoría de convergencia para Metropolis-Hastings se da en. [ 15 ]
Es importante señalar que no está claro, en un problema general, qué distribuciónSe debe utilizar o el número de iteraciones necesarias para una estimación adecuada; ambos son parámetros libres del método, que deben ajustarse al problema particular en cuestión.
Uso en integración numérica
Un uso común del algoritmo de Metropolis-Hastings es el cálculo de una integral. Específicamente, consideremos un espacioy una distribución de probabilidadencima,. Metropolis-Hastings puede estimar una integral de la forma de
dóndees una función (medible) de interés.
Por ejemplo, consideremos una estadísticay su distribución de probabilidad, que es una distribución marginal . Supongamos que el objetivo es estimarparaen la cola deFormalmente,se puede escribir como
y, por lo tanto, estimandoEsto se puede lograr estimando el valor esperado de la función indicadora., que es 1 cuandoy cero en caso contrario. Porqueestá en la cola de, la probabilidad de sacar un estadoconen la cola dees proporcional a, que es pequeño por definición. El algoritmo de Metropolis-Hastings se puede utilizar aquí para muestrear estados (raros) más probables y, por lo tanto, aumentar el número de muestras utilizadas para estimaren las colas. Esto se puede hacer, por ejemplo, utilizando una distribución de muestreo.para favorecer a esos estados (por ejemplocon).
Instrucciones paso a paso

Supongamos que el valor más reciente muestreado esPara seguir el algoritmo de Metropolis-Hastings, a continuación dibujamos un nuevo estado de propuesta.con densidad de probabilidady calcular un valor
dónde
es la razón de probabilidad (por ejemplo, posterior bayesiana) entre la muestra propuestay la muestra anterior, y
es la relación de la densidad propuesta en dos direcciones (desdeay viceversa). Esto es igual a 1 si la densidad de propuesta es simétrica. Entonces el nuevo estadose elige de acuerdo con las siguientes reglas.
- Si
- demás:
La cadena de Markov se inicia a partir de un valor inicial arbitrario.y el algoritmo se ejecuta durante muchas iteraciones hasta que este estado inicial se "olvida". Estas muestras, que se descartan, se conocen como calentamiento . El conjunto restante de valores aceptados derepresenta una muestra de la distribución.
El algoritmo funciona mejor si la densidad propuesta coincide con la forma de la distribución objetivo., de donde es difícil tomar muestras directamente, es decir. Si una densidad de propuesta gaussianaSe utiliza el parámetro de varianza.debe ajustarse durante el período de rodaje. Esto generalmente se hace calculando la tasa de aceptación , que es la fracción de muestras propuestas que se acepta en una ventana de los últimosmuestras. La tasa de aceptación deseada depende de la distribución objetivo; sin embargo, se ha demostrado teóricamente que la tasa de aceptación ideal para una distribución gaussiana unidimensional es de aproximadamente el 50%, disminuyendo a aproximadamente el 23% para unaDistribución objetivo gaussiana de dimensión . [ 16 ] Estas directrices pueden funcionar bien al muestrear a partir de posteriores bayesianos suficientemente regulares, ya que a menudo siguen una distribución normal multivariada , como se puede establecer utilizando el teorema de Bernstein-von Mises . [ 17 ]
Sies demasiado pequeño, la cadena se mezclará lentamente (es decir, la tasa de aceptación será alta, pero las muestras sucesivas se moverán lentamente por el espacio y la cadena convergerá lentamente a). Por otro lado, sies demasiado grande, la tasa de aceptación será muy baja porque es probable que las propuestas aterricen en regiones de densidad de probabilidad mucho menor, por lo queserá muy pequeño, y nuevamente la cadena convergerá muy lentamente. Normalmente se ajusta la distribución de propuestas para que los algoritmos acepten alrededor del 30% de todas las muestras, en consonancia con las estimaciones teóricas mencionadas en el párrafo anterior.
Inferencia bayesiana
MCMC se puede utilizar para extraer muestras de la distribución posterior de un modelo estadístico . La probabilidad de aceptación viene dada por: dóndees la probabilidad ,la densidad de probabilidad previa yla probabilidad de propuesta (condicional).
Véase también
Referencias
- ^ Kalos, Malvin H.; Whitlock, Paula A. (1986). Métodos Monte Carlo Volumen I: Conceptos básicos . Nueva York: Wiley. págs. 78 a 88. ISBN 978-0471898399.
- ↑ Tierney, Luke (1994). "Cadenas de Markov para explorar distribuciones posteriores" . The Annals of Statistics . 22 (4): 1701– 1762. doi : 10.1214/aos/1176325750 .
- ↑ Hastings, WK (1970). " Métodos de muestreo de Monte Carlo utilizando cadenas de Markov y sus aplicaciones". Biometrika . 57 (1): 97– 109. Bibcode : 1970Bimka..57...97H . doi : 10.1093/biomet/57.1.97 . JSTOR 2334940. Zbl 0219.65008 .
- ↑ Rosenbluth, Marshall N. (2003). "Génesis del algoritmo de Monte Carlo para la mecánica estadística". AIP Conference Proceedings . 690 : 22–30 . Bibcode : 2003AIPC..690...22R . doi : 10.1063/1.1632112 .
- ↑ Gubernatis, JE (2005). "Marshall Rosenbluth y el algoritmo de Metropolis" . Física de plasmas . 12 (5) 057303. Bibcode : 2005PhPl...12e7303G . doi : 10.1063/1.1887186 .
- ↑ Teller, Edward ; Shoolery, Judith L. (2002). Memorias: Un viaje por la ciencia y la política en el siglo XX (Primera edición en rústica ). Oxford: Perseus Press . pág. 382. ISBN 978-0-7382-0778-0.
- ↑ Rosenbluth, Marshall. "Transcripción de la historia oral" . Instituto Americano de Física.
- 1 2 Gilks, WR; Wild, P. (1992-01-01). "Muestreo de rechazo adaptativo para el muestreo de Gibbs". Journal of the Royal Statistical Society. Serie C (Estadística aplicada) . 41 (2): 337– 348. doi : 10.2307/2347565 . JSTOR 2347565 .
- ↑ Gelman, Andrew (2004). Análisis de datos bayesiano (2.ª ed.). Boca Raton, Florida: Chapman & Hall / CRC. ISBN 978-1584883883OCLC 51991499 .
- ↑ Lee, Se Yoon (2021). "Inferencia variacional mediante muestreador de Gibbs y ascenso de coordenadas: una revisión basada en la teoría de conjuntos". Communications in Statistics - Theory and Methods . 51 (6): 1549– 1568. arXiv : 2008.01006 . doi : 10.1080/03610926.2021.1921214 . S2CID 220935477 .
- ↑ Gilks, WR; Best, NG ; Tan, KKC (1995-01-01). "Muestreo de Metropolis con rechazo adaptativo dentro del muestreo de Gibbs". Journal of the Royal Statistical Society. Serie C (Estadística Aplicada) . 44 (4): 455– 472. doi : 10.2307/2986138 . JSTOR 2986138 .
- 1 2 Robert, Christian ; Casella, George (2004). Métodos estadísticos de Monte Carlo . Springer. ISBN 978-0387212395.
- ↑ Raftery, Adrian E. ; Lewis, Steven (13 de septiembre de 1991). ¿Cuántas iteraciones en el muestreador de Gibbs?: (Informe). Fort Belvoir, VA: Centro de Información Técnica de Defensa . doi : 10.21236/ada640705 .
- ^ Newman, MEJ ; Barkema, GT (1999). Métodos de Monte Carlo en Física Estadística . Estados Unidos: Oxford University Press. ISBN 978-0198517979.
- ↑ Hill, SD y Spall, JC (2019), “Estacionariedad y convergencia del algoritmo de Metropolis-Hastings: perspectivas sobre aspectos teóricos”, IEEE Control Systems Magazine, vol. 39(1), pp. 56–67. https://dx.doi.org/10.1109/MCS.2018.2876959
- ↑ Roberts, GO; Gelman, A. ; Gilks, WR (1997). "Convergencia débil y escalado óptimo de algoritmos de Metropolis de paseo aleatorio" . Ann. Appl. Probab. 7 (1): 110– 120. CiteSeerX 10.1.1.717.2582 . doi : 10.1214/aoap/1034625254 .
- ↑ Schmon, Sebastian M.; Gagnon, Philippe (15 de abril de 2022). "Escalado óptimo de algoritmos Metropolis de paseo aleatorio utilizando asintótica bayesiana de muestras grandes" . Statistics and Computing . 32 (2): 28. doi : 10.1007/s11222-022-10080-8 . ISSN 0960-3174 . PMC 8924149. PMID 35310543 .
Notas
- ↑ En el artículo original de Metropolis et al. (1953),Se tomó como distribución de Boltzmann ya que la aplicación específica considerada fue la integración de Monte Carlo de ecuaciones de estado en química física ; la extensión de Hastings se generalizó a una distribución arbitraria..
- ↑ En el artículo original de Metropolis et al. (1953),En realidad, se trataba de la distribución de Boltzmann , aplicada a sistemas físicos en el contexto de la mecánica estadística (por ejemplo, una distribución de entropía máxima de microestados para una temperatura dada en equilibrio térmico). En consecuencia, la razón de aceptación era en sí misma una exponencial de la diferencia entre los parámetros del numerador y el denominador de dicha razón.
Lecturas adicionales
- Berg, Bernd A (octubre de 2004). Simulaciones de Monte Carlo de cadenas de Markov y su análisis estadístico: con código Fortran basado en la web . World Scientific . doi : 10.1142/5602 . ISBN 978-981-238-935-0.
- Chib, Siddhartha; Greenberg, Edward (noviembre de 1995). "Comprendiendo el algoritmo de Metropolis-Hastings" . The American Statistician . 49 (4): 327. doi : 10.2307/2684568 .
- Minh, David DL; Minh, Do Le (Paul) (2015-02-07). "Understanding the Hastings Algorithm" . Communications in Statistics - Simulation and Computation . 44 (2): 332– 349. arXiv : 1408.4438 . doi : 10.1080/03610918.2013.777455 . ISSN 0361-0918 .
- Bolstad, William M. (2010). Comprensión de la estadística bayesiana computacional . Serie Wiley en estadística computacional. Hoboken, NJ: Wiley. ISBN 978-0-470-04609-8.
- métodos de Monte Carlo
- Cadena de Markov Monte Carlo
- Algoritmos estadísticos