Taxa de aceitação no algoritmo Metropolis – Hastings

9

No algoritmo Metropolis – Hastings para amostragem de uma distribuição de destino, deixe:

  • πEu seja a densidade alvo no estadoEu ,
  • πj é a densidade alvo no estado propostoj ,
  • hEuj é a densidade proposta para a transição para o estadoj dado o estado atualEu ,
  • umaEuj é a probabilidade de aceitação do estado propostoj dado o estado atualEu .

huma

umaEuj=min(1,πjhjEuπEuhEuj).

Se for simétrico, ou seja, , então: h i j = h j i a i j = min ( 1 , π jhhEuj=hjEu

umaEuj=min(1,πjπEu).

Quando é uma distribuição gaussiana centrada no estado tem a mesma variância para todo , é simétrico. Da Wikipedia : i σ 2 i hhEuEuσ2Euh

Se for muito grande, quase todas as etapas do algoritmo MH serão rejeitadas. Por outro lado, se for muito pequeno, quase todas as etapas serão aceitas.σ 2σ2σ2

Eu me pergunto por que a probabilidade de aceitação muda na direção inversa da mudança de variação da densidade da proposta, conforme mencionado na citação acima?

Tim
fonte
Há um problema com sua formulação: você usa um espaço de estado finito para definir destino, proposta e probabilidade de aceitação, mas uma distribuição gaussiana operando em um espaço contínuo como exemplo.
Xian
@ Xi'an: Obrigado! Eu estava ciente da diferença entre o espaço de amostra discreto e contínuo, quando postei a pergunta. Portanto, na minha formulação, existem funções de densidade para as distribuições de destino e proposta, enquanto é provável a distribuição de aceitação. Não consigo ver o que não está correto. Gostaria de saber se você poderia apontá-los?
Tim
Na sua formulação, alvo e proposta parecem funções de massa de probabilidade, não funções de densidade. Ou então é muito confuso para usar símbolos normalmente reservados para números inteiros ... Quer dizer, parece um elemento da matriz. É por isso que sinto que a proposta gaussiana não se encaixa. hEuj
Xian

Respostas:

11

Para conseguir isso e simplificar as coisas, sempre penso primeiro em apenas um parâmetro com distribuição a priori uniforme (de longo alcance), de modo que, neste caso, a estimativa MAP do parâmetro seja a mesma do MLE . No entanto, suponha que sua função de probabilidade seja complicada o suficiente para ter vários máximos locais.

O que o MCMC faz neste exemplo em 1-D é explorar a curva posterior até encontrar valores de probabilidade máxima. Se a variação for muito curta, você certamente ficará preso aos máximos locais, porque sempre terá valores de amostragem próximos: o algoritmo MCMC "pensará" que está preso na distribuição de destino. No entanto, se a variação for muito grande, quando você ficar preso em um máximo local, você rejeitará mais ou menos valores até encontrar outras regiões com probabilidade máxima. Se você propor o valor no MAP (ou uma região similar de probabilidade máxima local maior que as outras), com uma grande variação, você acabará rejeitando quase todos os outros valores: a diferença entre essa região e as outras será muito grande.

Obviamente, todos os itens acima afetarão a taxa de convergência e não a convergência "per se" de suas cadeias. Lembre-se de que, independentemente da variação, desde que a probabilidade de selecionar o valor dessa região máxima global seja positiva, sua cadeia convergirá.

Para contornar esse problema, no entanto, o que se pode fazer é propor diferentes variações em um período de queima para cada parâmetro e visar a determinadas taxas de aceitação que possam satisfazer suas necessidades (por exemplo , , consulte Gelman, Roberts & Gilks, 1995 e Gelman, Gilks ​​e Roberts, 19970,44 para aprender mais sobre a questão de selecionar uma taxa de aceitação "boa" que, é claro, depende da forma de sua distribuição posterior). É claro que, neste caso, a cadeia não é markoviana, portanto você NÃO precisa usá-las como inferência: basta usá-las para ajustar a variação.

Néstor
fonte
+1 Obrigado! (1) Por que "se a variação for muito grande, depois de ficar preso em um máximo local, você rejeitará mais ou menos valores até encontrar outras regiões com probabilidade máxima"? (2) "Se você propor o valor no MAP (ou uma região similar de probabilidade máxima local maior que as outras), com uma grande variação, você acabará rejeitando quase todos os outros valores", quer dizer o ponto proposto que está acontecendo no MAP provavelmente será rejeitado em casos de grande variação? Por se tratar de maximium global, sua probabilidade de aceitação não é sempre 1, independentemente do estado atual?
Tim
@ Tim: (1) Eu estava pensando no caso em que o estado inicial é aleatório. Se for esse o caso, você estará pulando de máximos para máximos, até encontrar uma região de probabilidade máxima local maior que a média. (2) Se você propor um valor próximo ao MAP, provavelmente saltará para esse estado. Quando estiver lá, com uma grande variação, você quase certamente rejeitará qualquer outro valor, porque proporá valores muito fora dessa região de probabilidade máxima.
Néstor
7

Existem duas suposições básicas que levam a esse relacionamento:

  1. A distribuição estacionária π() não muda muito rapidamente (ou seja, possui uma primeira derivada limitada).
  2. A maior parte da massa de probabilidade de está concentrada em um subconjunto relativamente pequeno do domínio (a distribuição é "pico").π()

Vamos considerar o caso "pequeno " primeiro. Seja x i o estado atual da cadeia de Markov ex x jN ( x i , σ 2 ) seja o estado proposto. Como σ 2 é muito pequeno, podemos ter certeza de que x jx i . Combinando isso com nossa primeira suposição, vemos que π ( x j ) π ( x i ) e, portanto, π ( x j )σ2xEuxjN(xEu,σ2)σ2xjxEuπ(xj)π(xEu).π(xj)π(xEu)1

σ295%2σ[xEu-2σ,xEu+2σ]σ2π(xj) freqüentemente será muito pequeno.

ππ(xEu)π(xEu)π(xj)π(xj)π(xEu)<<1 .

Essas duas suposições são verdadeiras para a maioria das distribuições em que provavelmente estamos interessados; portanto, essa relação entre a largura da proposta e a taxa de aceitação é uma ferramenta útil para entender o comportamento dos amostradores de MH.

Desenhou
fonte
σ2π(xEu)π(xj)π(xj)π(xEu)π(xEu)π(xj)
1
σ2xj