¿Qué algoritmo adaptativo de Metropolis Hastings se implementa en el paquete R MHadaptive?

7

Existen múltiples versiones de algoritmos adaptativos de Metropolis Hastings. Uno se implementa en la función Metro_Hastingsde Rpaquete 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_Hastingsalgoritmo 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 .qθ0,i=0,Σ

Para iteraciones hacer:n{i=1,...,n}

  1. Proponga .θ1N(θ1|θ0,i1,Σ)
  2. Acepte con probabilidad . Si acepta, configure \ theta_ {0, i}: = \ theta_1 . Si rechaza: \ theta_ {0, i}: = \ theta_ {0, i-1} .θ1A=min{1,q(θ1)/q(θ0,i)}θ0,i:=θ1θ0,i:=θ0,i1

Si i=j , donde j un vector definido de modo que cualquier elemento de j>x (predeterminado x=100 ), existe un espaciado de iteraciones y entre los elementos (predeterminado y=20 ), y ningún elemento j>z (predeterminado z=0.75n ), hacer:

  1. Seleccione θ~={θ0k,...,θ0,i} (predeterminado k=0.5i ).
  2. Actualización: Σ:=S(θ~) donde S 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.jjkΣ

tomka
fuente
1
perdón por la pregunta tonta, pero ¿trataste de contactar al propietario del paquete (primero) y a David Spiegelhalter (segundo)? El propietario del paquete dejó McGill hace unos años, por lo que es 'completamente posible que la dirección de correo electrónico en el paquete ya no se controle. Sin embargo, con solo un poco de Google-fu puede encontrar fácilmente sus contactos actuales (por supuesto, no lo comparto aquí porque no sé si le gustaría). Si no puede ponerse en contacto con él, David Spiegelhalter es un tipo muy agradable, y creo que le responderá si le envía un correo.
DeltaIV
@DeltaIV Me puse en contacto con él pero no recibí una respuesta. No he considerado escribirle a Spiegelhalter en su lugar, ya que simplemente se le cita (incorrectamente en mi humilde opinión) y no estoy seguro de si él sabe sobre el paquete. Me puse en contacto con el autor en la dirección de correo electrónico indicada en el paquete. Aparentemente todavía está activo y, por lo tanto, no he considerado encontrarlo en otro lugar. Intentaré esto
tomka
Estoy de acuerdo en que es poco probable que Spiegelhalter conozca los paquetes: por eso sugerí contactar primero al propietario del paquete. Sin embargo, él puede conocer el algoritmo que usted describe (o tal vez no, si fue citado incorrectamente como sospecha). Si logras obtener una respuesta a tu pregunta, avísanos, tengo curiosidad.
DeltaIV
1
@DeltaIV No puedo identificar una dirección de correo electrónico en su institución actual. Probablemente tendré que dejarlo así a menos que pueda señalarme.
tomka
claro, hablemos de esto en el chat . Espero que esté claro que quiero ayudar, solo estaba preocupado por la privacidad del propietario del paquete.
DeltaIV

Respuestas:

1

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.

Heisenberg
fuente