Existen múltiples versiones de algoritmos adaptativos de Metropolis Hastings. Uno se implementa en la función Metro_Hastings
de R
paquete MHadaptive
, ver aquí . La referencia enumerada allí, Spiegelhalter et al. (2002), desafortunadamente no contiene una descripción de ningún algoritmo adaptativo, por lo que puedo ver. Sin embargo, el Metro_Hastings
algoritmo funciona muy bien en el muestreo de la distribución posterior del modelo que considero, por lo que quiero entender sus detalles.
He realizado ingeniería inversa del algoritmo un poco. ¿Alguien reconoce este algoritmo adaptativo MH? Esto es lo que hace:
Deje ser la densidad objetivo. Inicialice .
Para iteraciones hacer:
- Proponga .
- Acepte con probabilidad . Si acepta, configure \ theta_ {0, i}: = \ theta_1 . Si rechaza: \ theta_ {0, i}: = \ theta_ {0, i-1} .
Si , donde un vector definido de modo que cualquier elemento de (predeterminado ), existe un espaciado de iteraciones entre los elementos (predeterminado ), y ningún elemento (predeterminado ), hacer:
- Seleccione (predeterminado ).
- Actualización: donde el estimador de máxima verosimilitud de la matriz de covarianza de varianza de suponiendo normalidad multivariada.
Los pasos 1 y 2 son MH estándar. Los pasos 3 y 4 son las adaptaciones que ocurren en los pasos y usan las iteraciones pasadas para actualizar a la matriz de covarianza de las iteraciones pasadas.
fuente
Respuestas:
Su descripción suena como el algoritmo adaptativo de Haario et al (1999) . De hecho, la idea es actualizar la matriz de covarianza de la distribución de la propuesta utilizando un número fijo de muestras recientes.
Tenga en cuenta que el algoritmo descrito en Haario et al (1999) funciona bien, pero NO es ergódico. Haario et al (2001) describieron un algoritmo mejorado que es ergódico. La idea es actualizar la matriz de covarianza de la distribución de la propuesta utilizando todas las muestras pasadas.
fuente