Cadena de Markov Monte Carlo - Markov chain Monte Carlo

En estadística , los métodos de Markov Chain Monte Carlo ( MCMC ) comprenden una clase de algoritmos para el muestreo de una distribución de probabilidad . Al construir una cadena de Markov que tenga la distribución deseada como distribución de equilibrio , se puede obtener una muestra de la distribución deseada registrando los estados de la cadena. Cuantos más pasos se incluyan, más se acercará la distribución de la muestra a la distribución deseada real. Existen varios algoritmos para construir cadenas, incluido el algoritmo Metropolis-Hastings .

Dominios de aplicación

Los métodos MCMC se utilizan principalmente para calcular aproximaciones numéricas de integrales multidimensionales , por ejemplo, en estadística bayesiana , física computacional , biología computacional y lingüística computacional .

En la estadística bayesiana, el desarrollo reciente de métodos MCMC ha hecho posible calcular grandes modelos jerárquicos que requieren integraciones de cientos a miles de parámetros desconocidos.

En el muestreo de eventos raros , también se utilizan para generar muestras que pueblan gradualmente la región de fallas raras.

Explicación general

Convergencia del algoritmo Metropolis-Hastings . La cadena de Markov Monte Carlo intenta aproximar la distribución azul con la distribución naranja.

Los métodos de Monte Carlo de la cadena de Markov crean muestras a partir de una variable aleatoria continua , con densidad de probabilidad proporcional a una función conocida. Estas muestras se pueden utilizar para evaluar una integral sobre esa variable, como su valor esperado o varianza .

En la práctica, generalmente se desarrolla un conjunto de cadenas, partiendo de un conjunto de puntos elegidos arbitrariamente y suficientemente distantes entre sí. Estas cadenas son procesos estocásticos de "caminantes" que se mueven aleatoriamente según un algoritmo que busca lugares con una contribución razonablemente alta a la integral para pasar a la siguiente, asignándoles mayores probabilidades.

Los métodos de paseo aleatorio de Monte Carlo son una especie de simulación aleatoria o método de Monte Carlo . Sin embargo, mientras que las muestras aleatorias del integrando utilizadas en una integración de Monte Carlo convencional son estadísticamente independientes , las utilizadas en MCMC están autocorrelacionadas . Las correlaciones de muestras introducen la necesidad de utilizar el teorema del límite central de la cadena de Markov al estimar el error de los valores medios.

Estos algoritmos crean cadenas de Markov de tal manera que tienen una distribución de equilibrio que es proporcional a la función dada.

Reducir la correlación

Si bien los métodos MCMC se crearon para abordar problemas multidimensionales mejor que los algoritmos genéricos de Monte Carlo, cuando aumenta el número de dimensiones, también tienden a sufrir la maldición de la dimensionalidad : las regiones de mayor probabilidad tienden a estirarse y perderse en un volumen de espacio cada vez mayor. que aporta poco a la integral. Una forma de abordar este problema podría ser acortar los pasos del caminante, de modo que no intente salir continuamente de la región de mayor probabilidad, aunque de esta manera el proceso sería altamente autocorrelacionado y costoso (es decir, se requerirían muchos pasos para una resultado exacto). Métodos más sofisticados como el Hamiltoniano Montecarlo y el algoritmo de Wang y Landau utilizan varias formas de reducir esta autocorrelación, al tiempo que logran mantener el proceso en las regiones que dan una mayor contribución a la integral. Estos algoritmos generalmente se basan en una teoría más complicada y son más difíciles de implementar, pero generalmente convergen más rápido.

Ejemplos de

Caminata aleatoria

  • Algoritmo Metropolis-Hastings : este método genera una cadena de Markov usando una densidad de propuesta para nuevos pasos y un método para rechazar algunos de los movimientos propuestos. En realidad, es un marco general que incluye como casos especiales el primer y más simple MCMC (algoritmo de Metropolis) y muchas alternativas más recientes que se enumeran a continuación.
    • Muestreo de Gibbs : este método requiere que se muestreen exactamente todas las distribuciones condicionales de la distribución objetivo. Cuando no es sencillo extraer de las distribuciones condicionales completas, se utilizan otros muestreadores dentro de Gibbs (por ejemplo, ver). El muestreo de Gibbs es popular en parte porque no requiere ningún "ajuste". La estructura del algoritmo del muestreo de Gibbs se parece mucho a la de la inferencia variacional de ascenso de coordenadas en que ambos algoritmos utilizan las distribuciones condicional completo en el procedimiento de actualización.
    • Algoritmo de Langevin ajustado por Metrópolis y otros métodos que se basan en el gradiente (y posiblemente en la segunda derivada) de la densidad del objetivo logarítmico para proponer pasos que tienen más probabilidades de estar en la dirección de una densidad de probabilidad más alta.
    • Metropolis pseudo-marginal-Hastings : este método reemplaza la evaluación de la densidad de la distribución objetivo con una estimación insesgada y es útil cuando la densidad objetivo no está disponible analíticamente, por ejemplo, modelos de variables latentes .
  • Muestreo por rebanadas : este método depende del principio de que se puede muestrear de una distribución muestreando uniformemente de la región bajo la gráfica de su función de densidad. Alterna un muestreo uniforme en la dirección vertical con un muestreo uniforme del "corte" horizontal definido por la posición vertical actual.
  • Metropolis de múltiples intentos: este método es una variación del algoritmo Metropolis-Hastings que permite múltiples intentos en cada punto. Al hacer posible dar pasos más grandes en cada iteración, ayuda a abordar la maldición de la dimensionalidad.
  • Salto-reversible : este método es una variante del algoritmo Metropolis-Hastings que permite propuestas que cambian la dimensionalidad del espacio. Los métodos de Monte Carlo de la cadena de Markov que cambian la dimensionalidad se han utilizado durante mucho tiempo en aplicaciones de física estadística , donde para algunos problemas se utiliza una distribución que es un gran conjunto canónico (por ejemplo, cuando el número de moléculas en una caja es variable). Pero la variante de salto reversible es útil cuando se realizan muestreos de cadena de Markov Monte Carlo o Gibbs sobre modelos bayesianos no paramétricos , como los que involucran el proceso de Dirichlet o el proceso de restaurante chino , donde el número de componentes de mezcla / clústeres / etc. se infiere automáticamente de los datos.
  • Montecarlo hamiltoniano (o híbrido) (HMC): intenta evitar el comportamiento de caminar aleatorio introduciendo un vector de impulso auxiliar e implementando la dinámica hamiltoniana , por lo que la función de energía potencial es la densidad objetivo. Las muestras de impulso se descartan después del muestreo. El resultado final de Hybrid Monte Carlo es que las propuestas se mueven a través del espacio muestral en pasos más grandes; por lo tanto, están menos correlacionados y convergen a la distribución objetivo más rápidamente.

Métodos de partículas interactivas

Las metodologías de MCMC interactivas son una clase de métodos de partículas de campo medio para obtener muestras aleatorias a partir de una secuencia de distribuciones de probabilidad con un nivel creciente de complejidad de muestreo. Estos modelos probabilísticos incluyen modelos de estado de espacio de trayectoria con horizonte de tiempo creciente, distribuciones posteriores con secuencia de observaciones parciales, conjuntos de niveles de restricción crecientes para distribuciones condicionales, programas de temperatura decrecientes asociados con algunas distribuciones de Boltzmann-Gibbs y muchos otros. En principio, cualquier muestreador Monte Carlo de la cadena Markov se puede convertir en un muestreador Monte Carlo de la cadena Markov interactuando. Estos muestreadores de Monte Carlo de la cadena de Markov que interactúan se pueden interpretar como una forma de ejecutar en paralelo una secuencia de muestreadores de Monte Carlo de la cadena de Markov. Por ejemplo, los algoritmos de recocido simulado que interactúan se basan en movimientos independientes de Metropolis-Hastings que interactúan secuencialmente con un mecanismo de tipo selección-remuestreo. A diferencia de los métodos tradicionales de Monte Carlo de cadena de Markov, el parámetro de precisión de esta clase de muestreadores de Monte Carlo de cadena de Markov que interactúan solo está relacionado con el número de muestreadores de Monte Carlo de cadena de Markov que interactúan. Estas metodologías de partículas avanzadas pertenecen a la clase de modelos de partículas de Feynman-Kac, también llamados métodos de filtro de partículas o Monte Carlo secuencial en las comunidades de procesamiento de señales e inferencia bayesianas . La interacción de los métodos de Monte Carlo de la cadena de Markov también se puede interpretar como un algoritmo de partículas genéticas de selección de mutaciones con mutaciones de Monte Carlo de la cadena de Markov.

Cadena de Markov cuasi-Monte Carlo (MCQMC).

Es bien conocida la ventaja de las secuencias de baja discrepancia en lugar de los números aleatorios para el muestreo sencillo e independiente de Monte Carlo. Este procedimiento, conocido como método Quasi-Monte Carlo (QMC), arroja un error de integración que decae a un ritmo superior al obtenido por muestreo IID, por la desigualdad de Koksma-Hlawka . Empíricamente permite la reducción tanto del error de estimación como del tiempo de convergencia en un orden de magnitud. El método Array-RQMC combina la simulación aleatoria de cadenas cuasi-Monte Carlo y de Markov simulando cadenas simultáneamente de manera que la distribución empírica de los estados en cualquier paso dado es una mejor aproximación de la verdadera distribución de la cadena que con MCMC ordinaria. En experimentos empíricos, la varianza del promedio de una función del estado a veces converge a una tasa o incluso más rápido, en lugar de la tasa de Monte Carlo.

Convergencia

Por lo general, no es difícil construir una cadena de Markov con las propiedades deseadas. El problema más difícil es determinar cuántos pasos se necesitan para converger a la distribución estacionaria dentro de un error aceptable. Una buena cadena tendrá una mezcla rápida : la distribución estacionaria se alcanza rápidamente partiendo de una posición arbitraria. Un método empírico estándar para evaluar la convergencia es ejecutar varias cadenas de Markov simuladas independientes y verificar que la relación entre las varianzas entre cadenas e intracadena para todos los parámetros muestreados sea cercana a 1.

Por lo general, el muestreo de Monte Carlo en cadena de Markov solo puede aproximarse a la distribución objetivo, ya que siempre hay algún efecto residual de la posición inicial. Los algoritmos más sofisticados basados ​​en la cadena de Markov basados ​​en Monte Carlo, como el acoplamiento del pasado, pueden producir muestras exactas, a costa de cálculos adicionales y un tiempo de ejecución ilimitado (aunque finito en la expectativa) .

Muchos métodos de Monte Carlo de caminata aleatoria se mueven alrededor de la distribución de equilibrio en pasos relativamente pequeños, sin tendencia a que los pasos avancen en la misma dirección. Estos métodos son fáciles de implementar y analizar, pero desafortunadamente el caminante puede tardar mucho en explorar todo el espacio. El caminante a menudo doblará hacia atrás y cubrirá el terreno ya cubierto.

Una consideración adicional de la convergencia se encuentra en el teorema del límite central de la cadena de Markov . Véase una discusión de la teoría relacionada con la convergencia y la estacionariedad del algoritmo Metropolis-Hastings.

Software

Varios programas de software proporcionan capacidades de muestreo MCMC, por ejemplo:

  • ParaMonte , un software en serie / paralelo de alto rendimiento para simulaciones de Monte Carlo, incluido el MCMC Metrópolis-Hastings adaptativo de rechazo retardado, disponible en
  • El paquete Vandal , Vandal ofrece múltiples opciones de simulación Monte Carlo, como medición de riesgo e histograma de reglas empíricas y muchas más, disponibles en
  • Paquetes que utilizan dialectos del lenguaje modelo BUGS :
  • greta , un paquete R / lenguaje de modelado estadístico bayesiano que usa TensorFlow entre bastidores, similar al uso de PyMC3 de Theano como back-end computacional
  • MCSim
  • PyMC3
  • pymcmcstat
  • R (lenguaje de programación) con los paquetes adaptMCMC, atmcmc, BRugs, mcmc, MCMCpack, ramcmc, rjags, rstan, etc.
  • Stan
  • TensorFlow Probability ( biblioteca de programación probabilística construida sobre TensorFlow )
  • MCL (un algoritmo de clúster para gráficos) y HipMCL (una versión paralelizada)
  • maestro de ceremonias (implementación de Python puro con licencia del MIT del muestreador de ensamble de Monte Carlo de la cadena Affine Invariant Markov de Goodman & Weare)
  • Keanu, una biblioteca de programación probabilística de propósito general construida en Java
  • Zeus es una implementación de Python puro del método Ensemble Slice Sampling
  • Turing.jl , un paquete para programación probabilística de propósito general en Julia
  • Mamba.jl , una plataforma para el método MCMC en Julia

Ver también

Referencias

Citas

Fuentes

Otras lecturas