5 votos

¿Cómo reducir la autocorrelación en el algoritmo Metropolis?

He estado usando una Metrópoli/muestreador de Gibbs combinación para generar un conjunto de densidad para algunos parámetros(se trata de un modelo jerárquico, con $y_i\sim Poisson(\lambda_i)$, $\lambda_i\sim Gamma(\alpha,\beta)$). ¿Qué técnicas puedo utilizar para bajar de autocorrelación(está presente en $\alpha$ e $\beta$)? He estado usando el adelgazamiento, pero incluso cuando yo uso el enorme gal(4950, que está alcanzando el límite de memoria en mi computadora para usar) no es todavía significativo de la autocorrelación. ¿Hay algo que yo podía hacer con mi paso de la distribución de tamaño para ayudar con esto? He sido la elaboración de los nuevos valores de $\alpha$ e $\beta$ a partir de una distribución normal, con media el valor de parámetro actual, y una desviación estándar de 1. Gracias!

5voto

Sam Puntos 21

En primer lugar, por el modelo jerárquico, usted necesita hyperpriors para $\alpha$ e $\beta$ (como ya se ha explicado por Procrastinador). Por el bien de la simplicidad, supongamos uniforme de los priores en la parte positiva del eje real. Así que tener un modelo jerárquico de la siguiente manera: $$y_{i}| \lambda_{i}\sim Poisson(\lambda_{i})$$ $$\lambda_{i}|\alpha, \beta \sim Gamma(\alpha,\beta)$$ $$\pi(\alpha,\beta)\propto1_{[0,+\infty]}$$

Ahora usted tiene dos grupos de parámetros: {$\lambda_{i}$}$_{i=1,N}$ y {$\alpha, \beta$}. Usted necesita para extraer muestras aleatorias de estos dos grupos de parámetros a partir de su distribución posterior. Aunque el modelo en sí no es muy complicado, usted puede ser atrapado con muy lentamente la mezcla de cadenas para usted parámetros, especialmente si su $N$ es muy grande (digamos 1000). Usted puede elegir como su propuesta de distribución normal (sólo recuerde para rechazar correctamente negativo de la propuesta de valores) para todo el conjunto de parámetros, en cuyo caso sería necesario ($N+2$)-variable de la distribución normal como una propuesta, o usted podría utilizar N-de la variable aleatoria normal distirbution de lambda y bivariado normalidad de la distribución de $\alpha$ e $\beta$.
Yo sugeriría primero de todo ir por separado proponiendo lambda y gamma de parámetros - es decir, el uso de Metrópolis dentro de muestreador de Gibbs. Esto le permitiría separar ligeramente thouse cadenas. En esta investigación el paso que me gustaría utilizar una matriz de covarianza con ninguna de las autocorrelaciones (es decir, la diagonal de la matriz) por $N$-variable de la distribución normal.
Si eso no funciona, me gustaría introducir para la propuesta de distribución de la matriz de covarianza, donde las correlaciones no son iguales a cero, esto debe mejorar la mezcla. Y si esto no produce bien la mezcla de cadenas, me iría a la Hamiltoniana de Monte Carlo. Pero primero de todo se trata de jugar con las diferentes matrices de normal multivariante de la propuesta. También me gustaría sugerir a modificar el modelo: en lugar de Poisson de intensidad $\lambda_{i}$ uso de $exp(\lambda_{i})$ y, a continuación, utilizar la distribución normal para $\lambda_{i}$ con desconocidos media y la varianza de los parámetros.

2voto

bhagyas Puntos 101

Parece que no puede averiguar cómo agregar un comentario, así que esto es parte parte del comentario respuesta:

En primer lugar, los sonidos de los comentarios que usted está usando un Paseo Aleatorio Metrópoli paso a la actualización de $\alpha$ e $\beta$ conjunto (o, posiblemente, por separado) y, a continuación, un Gibbs paso a la actualización de cada una de las $\lambda_i$ condicional en los valores actuales de $\alpha$ e $\beta$.

Usted dice que usted está utilizando una Normal truncada propuesta en la (random walk) Metropolis paso: probablemente no te va a hacer mucha diferencia en su caso, pero, técnicamente, creo que es necesario proponer a partir de un total de Gauss, no se trunca - de lo contrario su propuesta de distribución no es simétrica, por lo $q(y|x) \neq q(x|y) \: \forall x,y$, por lo que la Metrópoli de aceptación de la relación de no producir una cadena de Markov que convergen a la densidad deseada. Alternativamente, usted puede mantener el trunca $q$ y la utilización de la totalidad de Metropolis-Hastings aceptación de la relación.

En segundo lugar, como Procrastinador dice, que presumiblemente tienen por lo tanto un posterior para $(\alpha, \beta)$, por lo que debe tener un previo de estos. ¿Qué es? Gamma priores fijo hyperparameters (algo así como la forma=1, la tasa de=0.001) haría probablemente hacer el truco).

Ahora, a intentar contestar a algunas de tus pregunta: suponiendo que se ha hecho todo a la derecha y usted está consiguiendo grandes de autocorrelación porque cada una de las $(\alpha^{(i)},\beta^{(i)})$ es altamente correalated con cada una de las $(\alpha^{(i-1)},\beta^{(i-1)})$, entonces tal vez la Caminata Aleatoria Metrópolis no es el mejor método para dibujar $\alpha$ e $\beta$. Desde su MH paso consiste en sólo dos dimensiones, una independencia sampler podría funcionar mejor. Un poco más avanzados métodos como el de la Metrópoli-ajustado Langevin algoritmo y Hamiltoniana de Monte Carlo también están diseñados para reducir la auto-correlación, pero que podría ser una exageración aquí. Así que quizá se trate de una independencia sampler (no se olvide de utilizar la totalidad de Metropolis-Hastings relación $\min\left(1,\frac{\pi(y)q(x|y)}{\pi(x)q(y|x)} \right)$ de aceptación).

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X