Un ejemplo práctico para MCMC


14

Estaba pasando por algunas conferencias relacionadas con MCMC. Sin embargo, no encuentro un buen ejemplo de cómo se usa. ¿Alguien puede darme un ejemplo concreto? Todo lo que puedo ver es que corren una cadena de Markov y dicen que su distribución estacionaria es la distribución deseada.

Quiero un buen ejemplo donde la distribución deseada es difícil de probar. Entonces creamos una cadena de Markov. Quiero saber cómo seleccionar la matriz de transición para que su distribución estacionaria de la cadena de Markov sea la distribución objetivo Gracias


La teoría básica de la cadena de Markov se utiliza para mostrar que un esquema de muestreo particular tendrá una distribución estacionaria que es la distribución conjunta deseada. Para el ejemplo más simple, la muestra de Vanilla Gibbs simula a partir de distribuciones condicionales completas. Los núcleos de transición correspondientes, tomados en conjunto, si satisfacen las condiciones para la convergencia (a menudo sencillo de mostrar) se puede demostrar fácilmente que tienen la distribución conjunta como la distribución estacionaria. De manera similar para Metropolis Hastings, y así sucesivamente. Parece que las conferencias que estás viendo no explican cómo MCMC es una cadena de Markov
Glen_b -Reinstate a Monica el

Respuestas:


3

Un buen ejemplo de una distribución que es difícil de probar es el modelo Hard-Core, consulte esta página para obtener una descripción general:

http://www.mathematik.uni-ulm.de/stochastik/lehre/ss06/markov/skript_engl/node34.html

Este modelo define una distribución sobre cuadrículas para algunos n fijos , donde en cada punto de la cuadrícula puede tener un valor de uno o cero. Para que una cuadrícula sea admisible bajo el modelo de núcleo duro, no hay dos puntos adyacentes en la cuadrícula que puedan tener un valor de 1.n×nn

La imagen a continuación muestra un ejemplo de configuración admisible para una cuadrícula de bajo el modelo de núcleo duro. En esta imagen, los puntos se muestran como puntos negros y los ceros como blancos. Tenga en cuenta que no hay dos puntos negros adyacentes.8×8

Ejemplo de configuración admisible para una cuadrícula de $ 8 \ times 8 $ bajo el modelo de núcleo duro

Creo que la inspiración para este modelo proviene de la física, puede pensar en cada posición en la cuadrícula como una partícula, y el valor en esa posición representa la carga eléctrica o giro.

Queremos muestrear uniformemente de la población de cuadrículas admisibles, es decir, si es el conjunto de cuadrículas admisibles, queremos muestrear e E de manera queEeE

p(e)=1|E|

donde es el número de todas las configuraciones admisibles posibles.|E|

Esto ya presenta un desafío, dado que estamos considerando cuadrículas, ¿cómo podemos determinar | E | la cantidad de cuadrículas admisibles? n×n|E|

Una de las cosas buenas de MCMC es que le permite tomar muestras de distribuciones donde la constante de normalización es difícil o imposible de evaluar.

Le dejaré leer el documento sobre los detalles de cómo implementar MCMC para este problema, pero es relativamente sencillo.



2

Otro tema desalentador en las estadísticas. La pregunta es antigua, pero los ejemplos introductorios en línea son difíciles de encontrar. Así que permítanme simplificar dos excelentes ejemplos en caso de que alguien que sigue el recorrido aleatorio de Markov de las tierras de PageRank aquí esté aturdido por MCMC y esté lleno de anticipación para una respuesta fácil de seguir. ¿Qué tan probable? Esa podría ser una pregunta de seguimiento.

FIRST EXAMPLE:

N(0,1)

La dificultad está en darse cuenta de que después de seguir todos los pasos mecánicos, solo hay un truco mágico: la decisión binaria de aceptar o rechazar un valor propuesto .

xmean0sd 1rnorm(10000)

epsϵxixi+1runif(1, - eps, eps)xi

Por lo tanto, cada valor propuesto diferiría del valor anterior de manera aleatoria y dentro de los límites de [- eps,+ eps].

ii+1

N(0,1)xi+1xi

min(1, dnorm(candidate_value)/dnorm(x))1N(0,1) pdfxi+1ximin(1, ...)dnorm

min(1, dnorm(candidate_value)/dnorm(x))runif(1)01x[i+1]x[i]

sd10

0x = 0; vec[1] = x

SECOND EXAMPLE:

Esto es más emocionante y hace referencia a la estimación de los parámetros de una curva de regresión lineal al calcular las probabilidades de registro para parámetros aleatorios dados un conjunto de datos . Sin embargo, la exégesis de las líneas de código se construye en la simulación condensada guardada aquí , siguiendo pasos muy similares al primer ejemplo.


Se necesitan algunas correcciones menores: "las tierras aquí aturdidas por los CMCM " ... necesitan cambiar . " Rosenbluth-Hatings " ... probablemente necesita una "s" adicional allí. Yo diría que el primer ejemplo no es exactamente "difícil de probar" (como pregunta la pregunta). Ambos ejemplos parecen ser Metropolis-Hastings (lo cual es ciertamente importante), pero MCMC más que eso. Solo como un ejemplo, muchas personas usan el muestreo de Gibbs, a menudo a través de JAGS / BUGS / etc. No hay una decisión relacionada con la aceptación del paso propuesto allí: siempre se muda.
Glen_b -Reinstate Monica

Corregí la "s" que faltaba, la ortografía isomérica del CMCM. Se deshizo del hipervínculo posiblemente injustificado a YouTube que aborda el problema del nombre. Explicaba por qué elegí el primer ejemplo para elaborar a pesar de la solicitud específica de la pregunta (antigua). Le agradezco que haya señalado todos estos problemas. No estoy seguro de las implicaciones de su última línea.
Antoni Parellada

Es simplemente una referencia a la línea " solo hay un truco mágico: la decisión binaria de aceptar o rechazar un valor propuesto "; para señalar que no es una propiedad de todos los algoritmos MCMC. Eso no significa en sí mismo que haya un problema con su respuesta; puede considerarlo como una aclaración si lo desea. El bit isomérico fue bueno.
Glen_b -Reinstate Monica

1

Este video de Youtube es una visualización realmente agradable de un problema simple que se resuelve usando MCMC.

La distribución de interés es la distribución posterior sobre posibles pendientes e intersecciones en una regresión lineal (panel superior derecho). Algunas combinaciones de pendientes e intersecciones son muy probables (es decir, tienen una alta probabilidad de producir los puntos de datos observados y son consistentes con nuestras expectativas a priori ), por lo que deben tomarse muestras con frecuencia. Otras combinaciones son improbables (p. Ej., Si corresponden a una línea azul que no atraviesa la nube de puntos de datos), y deberían muestrearse con menos frecuencia.

El panel grande en la esquina inferior izquierda muestra el camino tomado por la cadena de Markov a través de un espacio bidimensional de pendientes e intersecciones. Los histogramas muestran resúmenes unidimensionales del progreso de la cadena hasta el momento. Una vez que la cadena ha funcionado lo suficiente, tenemos muy buenas estimaciones de las distribuciones para los posibles valores de la pendiente y la intersección.

En este caso, MCMC es excesivo, pero hay algunos problemas en los que es difícil escribir una solución y tiene mucho sentido explorar las posibilidades con una cadena de Markov en lugar de tratar de resolverla directamente.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.