MCMC para manejar problemas de probabilidad plana

9

Tengo una probabilidad bastante plana de que el muestreador Metropolis-Hastings se mueva a través del espacio de parámetros de forma muy irregular, es decir, no se puede lograr la convergencia sin importar los parámetros de distribución de la propuesta (en mi caso, es gaussiana). No hay una gran complejidad en mi modelo, solo 2 parámetros, pero parece que MH no puede manejar esta tarea. Entonces, ¿hay algún truco en torno a este problema? ¿Hay una muestra que no produzca cadenas de Markov moviéndose muy lejos de las colas posteriores?

Actualización del problema:
intentaré reformular mi pregunta dando más detalles. En primer lugar describiré el modelo.
Tengo un modelo gráfico con dos nodos. Cada nodo se rige por un modelo de Auto-Poisson (Besag, 1974) de la siguiente manera: O, dado que solo hay dos nodos y suponiendo intensidades globales iguales :

p(Xj|Xk=xk,kj,Θ)Poisson(eθj+jkθkjxk)
p(X1|X2=x2,θ,α)Poisson(eθ+αx2)
p(X2|X1=x1,θ,α)Poisson(eθ+αx1)

Como es un campo de Markov, la distribución conjunta (o probabilidad de realización ) es la siguiente: Dado que supuse anteriores planas para y , posterior es entonces proporcional a Dado queX=[x1,x2]

p(X)=exp(θ(x1+x2)+2x1x2α)Z(θ,α)=exp(E(θ,α,X))Z(θ,α)
αθ
π(θ,α|X)exp(E(θ,α,X))Z(θ,α)
Z(θ,α)en general es muy difícil de evaluar (muchas sumas) Estoy usando un método de variable auxiliar debido a J. Moller (2006). De acuerdo con este método, primero dibujo una muestra de datos por la muestra de Gibbs (dado que los condicionales son solo distribuciones de Poisson), luego dibujo una propuesta de la distribución gaussiana y calculo en consecuencia los criterios de aceptación . Y aquí consigo una cadena salvaje de Markov. Cuando impongo algunos límites dentro de los cuales se puede mover la cadena, la muestra parece converger a alguna distribución, pero una vez que muevo al menos un límite, la distribución resultante también se mueve y siempre muestra la transición. Creo que @ Xi'an es wright: la parte posterior puede ser incorrecta.XH(X,α,θ|X,α,θ)
Tomás
fuente
1
Una posibilidad es usar un parámetro de mayor escala para obtener pasos más grandes. Quizás le interese el paquete R mcmcy el comando metroptambién. Probablemente necesitará una muestra adaptable. Este muestreador (el twalk) puede usarse en este tipo de casos dado que es adaptativo (tal vez solo como una "segunda opinión"). Se implementa en R, C y Python. Los códigos se pueden descargar desde una de las páginas web del autor .
@Procrastinator ¿Puedes dar más detalles sobre qué quieres decir con "parámetro de mayor escala"? ¿Significa utilizar parámetros de varianza más grandes para las propuestas?
Tomás
2
Permítanme aclarar primero que, si la probabilidad es plana, realmente no desea que su muestra no "se mueva muy lejos a la cola posterior". Lo que se desea es tomar muestras correctamente de la distribución (ambas, colas y centro). Al utilizar un algoritmo MH con propuestas gaussianas, debe elegir parámetros de escala / matriz de covarianza que determinen la longitud de los pasos. Deben elegirse para 1. Muestreo adecuado de la distribución y 2. Obtención de una tasa de aceptación razonable.
si solo tiene dos parámetros, entonces la integración numérica es probablemente una mejor alternativa
probabilidadislogica
Hay algo mal con la expresión de probabilidad conjunta. Si intenta sumar , obtiene . entonces la probabilidad es incorrecta como está escrita actualmente. x1p(x2|αθ)=g(x2)x1=0exp(x1[θ+2αx2])=
probabilityislogic

Respuestas:

8

Me parece sorprendente que una probabilidad plana produzca problemas de convergencia: ¡generalmente es el caso opuesto lo que causa problemas! La primera verificación habitual para tales situaciones es asegurarse de que su parte posterior sea correcta : de lo contrario, esto explicaría las interminables excursiones en las "colas". Si la parte posterior es realmente adecuada, podría usar propuestas de cola más gruesas como una distribución de Cauchy ... Y un algoritmo adaptativo a la Roberts y Rosenthal.

Si esto todavía "no funciona", sugiero considerar una reparametrización del modelo, utilizando por ejemplo (es decir, si no hay otra parametrización natural) una transformación logística, (con un posible parámetro de escala), que lleva el parámetro al cuadrado de la unidad.

φ(x)=exp(x)/{1+exp(x)}

Con respecto a las respuestas anteriores, el muestreo de Gibbs suena como una solución más probable que aceptar-rechazar, lo que requiere encontrar un límite y escalar la distribución t hacia la parte posterior, lo que no parecía factible para la muestra más robusta de Metropolis-Hastings ...

Xi'an
fuente
@ Xian gracias por los comentarios sobre el voto negativo. ¿Existe realmente alguna situación en la que estaría a favor de aceptar-rechazar sobre MH?
gui11aume
@ gui11aume: si puede producir un algoritmo de aceptación-rechazo con un límite lo suficientemente pequeño como para garantizar una tasa de aceptación razonable, entonces aceptar-rechazar es indudablemente preferible a Metropolis-Hastings. Sin embargo, es poco probable que esto suceda con (a) grandes dimensiones y / o (b) objetivos complejos, posiblemente multimodales ...
Xi'an
2

¿Puedes anotar la distribución de tu primer parámetro condicional en tu segundo parámetro y viceversa? Si es así, el muestreo de Gibbs sería una opción viable. Es solo un par de líneas de código y puede mezclarse casi instantáneamente en muchos casos.

David J. Harris
fuente
1

EDITAR: Vea la respuesta de @ Xi'an y la discusión posterior para ver los problemas con el siguiente enfoque.

Si Metropolis-Hastings falla y su modelo es relativamente simple, podría pensar en usar el algoritmo de aceptación-rechazo con la distribución de Student con un bajo grado de libertad (1-6) para las propuestas.t

Si usa R, puede simular fácilmente una de Student con . Si no tiene una manera fácil de generar variables con su software, pero puede simular un , entonces dibujar la varianza de un gaussiano de un en cada paso y simular un gaussiano con esa varianza es equivalente.trt()tΓΓ

gui11aume
fuente