Existem várias versões dos algoritmos adaptáveis do Metropolis Hastings. Um é implementado na função Metro_Hastings
do R
pacote MHadaptive
, veja aqui . A referência listada lá, Spiegelhalter et al. (2002), infelizmente, não contém uma descrição de nenhum algoritmo adaptativo, até onde posso ver. No entanto, o Metro_Hastings
algoritmo funciona muito bem na amostragem da distribuição posterior do modelo que considero, e é por isso que quero entender seus detalhes.
Eu fiz engenharia reversa do algoritmo um pouco. Alguém reconhece esse algoritmo adaptativo de MH? Isto é o que faz:
Seja a densidade alvo. Inicialize .θ 0 , i = 0 , Σ
Para iterações faça:{ i = 1 , . . . , n }
- Propor .
- Aceite com probabilidade . Se aceito, defina \ theta_ {0, i}: = \ theta_1 . Se rejeitar: \ theta_ {0, i}: = \ theta_ {0, i-1} . A = min { 1 , q ( θ 1 ) / q ( θ 0 , i ) }θ 0 , i : = θ 0 , i - 1
Se , onde um vector definido de modo que todo o elemento de (padrão ), há uma distância de iterações entre os elementos (padrão ), e nenhum elemento (padrão ), faça:
- Selecione (padrão ).
- Atualização: onde o estimador de probabilidade máxima da matriz de covariância de variâncias de assumindo normalidade multivariada.
Os passos 1 e 2 são MH padrão. As etapas 3 e 4 são as adaptações que ocorrem nas etapas e usam as iterações anteriores para atualizar na matriz de covariância das iterações anteriores.j - k Σ