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,∀k≠j,Θ)∼Poisson(eθj+∑j≠kθkjxk)
p(X1|X2=x2,θ,α)∼Poisson(eθ+αx2)
p (X2El |X1=X1, θ , α ) ∼ Po i s s o n (miθ + α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) =e x p ( θ (X1+X2) + 2X1X2α )Z( θ , α )=e x p ( 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.
X′H(X′,α′,θ′|X,α,θ)
mcmc
y el comandometrop
tambié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 .Respuestas:
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.
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 ...
fuente
¿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.
fuente
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.t t Γ Γ
rt()
fuente