¿De dónde vienen los condicionales completos en el muestreo de Gibbs?

15

Los algoritmos MCMC como el muestreo de Metropolis-Hastings y Gibbs son formas de muestreo de las distribuciones posteriores conjuntas.

Creo que entiendo y puedo implementar la aceleración de las metrópolis con bastante facilidad: simplemente elige los puntos de partida de alguna manera y "recorre el espacio de parámetros" al azar, guiado por la densidad posterior y la densidad de propuesta. El muestreo de Gibbs parece muy similar pero más eficiente, ya que actualiza solo un parámetro a la vez, mientras mantiene constantes los demás, recorriendo el espacio de manera ortogonal.

Para hacer esto, necesita el condicional completo de cada parámetro en análisis desde *. ¿Pero de dónde vienen estos condicionales completos? Para obtener el denominador necesita marginar la articulación sobre . Parece mucho trabajo analítico si hay muchos parámetros, y podría no ser manejable si la distribución conjunta no es muy "agradable". Me doy cuenta de que si usa conjugación en todo el modelo, los condicionales completos pueden ser fáciles, pero debe haber una mejor manera para situaciones más generales. x1

P(x1|x2, , xn)=P(x1, , xn)P(x2, , xn)
x1

Todos los ejemplos de muestreo de Gibbs que he visto en línea usan ejemplos de juguetes (como el muestreo de una normal multivariada, donde los condicionales son simplemente normales), y parecen esquivar este problema.

* ¿O necesita los condicionales completos en forma analítica? ¿Cómo lo hacen programas como winBUGS?

cespinoza
fuente
1
El muestreo de Gibbs suele ser menos eficiente que Metropolis-Hastings porque va una dimensión a la vez ...
Xi'an
El muestreo de Gibbs es más eficiente en cada paso individual, pero puede necesitar una horrible muchos más pasos para converger - y terminan menos eficiente para un buen resultado global.
Lutz Prechelt

Respuestas:

7

Sí, tiene razón, la distribución condicional debe encontrarse analíticamente, pero creo que hay muchos ejemplos en los que la distribución condicional completa es fácil de encontrar y tiene una forma mucho más simple que la distribución conjunta.

La intuición para esto es la siguiente, en la mayoría de las distribuciones conjuntas "realistas" , la mayoría de las X i son generalmente condicionalmente independientes de la mayoría de las otras variables aleatorias. Es decir, algunas de las variables tienen interacciones locales , por ejemplo, X i depende de X i - 1 y X i + 1 , pero no interactúa con todo, por lo tanto, las distribuciones condicionales deberían simplificarse significativamente como P r (P(X1,,Xn)XiXiXi1Xi+1Pr(Xi|X1,,Xi)=Pr(Xi|Xi1,Xi+1)

gabgoh
fuente
Para agregar a esta respuesta, no necesita marginar las otras variables como se indicó originalmente en la pregunta. Todo lo que necesita hacer es 'reorganizar' modo que reconozca el resultado como un pdf conocido y haya terminado. Siempre y cuando pueda reorganizar todo lo anterior (es decir, todas las demás constantes, la integral en el denominador, etc.) será igual a la constante apropiada para que el pdf se integre a 1.Pr(Xi|Xi1,Xi+1)
33
No necesitan ser encontrados analíticamente. Todos los condicionales completos son proporcionales a la distribución conjunta, por ejemplo. Y eso es todo lo que se necesita para Metropolis-Hastings.
Tristan
1
@Tristan, por supuesto. Sin embargo, estoy hablando del muestreo de Gibbs.
gabgoh
1
No necesitan encontrarse analíticamente para Gibbs Sampling. Solo necesita poder muestrear, de alguna manera, desde el condicional; si puede escribir cómo hacer esto en una declaración bastante analítica no es relevante.
invitado
1
En realidad, no es necesario un condicional analítico completo: todo lo que se requiere para implementar el muestreo de Gibbs es la capacidad de simular a partir de los condicionales completos.
Xi'an
11

Creo que te has perdido la principal ventaja de algoritmos como Metropolis-Hastings. Para el muestreo de Gibbs, deberá tomar muestras de los condicionales completos. Tienes razón, eso rara vez es fácil de hacer. La principal ventaja de los algoritmos de Metropolis-Hastings es que aún puede muestrear un parámetro a la vez, pero solo necesita conocer los condicionales completos hasta la proporcionalidad. Esto se debe a que los denominadores se cancelan en la función de criterios de aceptación

PAG(X1El |X2,...,Xnorte)PAG(X1,...,Xnorte)

Los programas como WinBugs / Jags generalmente toman Metropolis-Hastings o pasos de muestreo de corte que solo requieren los condicionales hasta la proporcionalidad. Estos son fácilmente disponibles desde el DAG. Dada la conjugación, a veces también toman pasos directos de Gibbs o paradas de bloqueo elegantes.

Tristan
fuente
1
¡Hey gracias! Creo que ese punto acerca de no necesitar la constante de normalización para el hostigamiento de las metrópolis es exactamente la información que necesitaba para dar sentido a todo esto. Creo que, debido a que GS en WinBUGS significa muestreo de gibbs, tenía la impresión de que gibbs reemplazó a MH y que el software estaba usando gibbs exclusivamente.
cespinoza el
33
El término muestreo de Gibbs se usa a menudo para implicar que muestreas un parámetro a la vez, incluso si no usas la idea original de muestreo directamente de los condicionales completos. Todo el software muestrea parámetros individuales o bloques de parámetros en secuencia, pero el tipo de paso real varía mucho según lo que funcione mejor.
Tristán el
2
Casi siempre que pueda implementar Gibbs, también puede implementar alternativas de Metropolis-Hastings. Una mayor eficiencia proviene de mezclar ambos enfoques.
Xi'an
En mi opinión, esta debería ser la respuesta aceptada.
NoBackingDown