Podemos alterar a taxa de aceitação no algoritmo Metropolis de passeio aleatório alterando o parâmetro da distribuição da proposta?

8

Podemos alterar a taxa de aceitação no algoritmo Metropolis de passeio aleatório alterando o parâmetro da distribuição da proposta?

Deixe a distribuição de destino ser . Seja a densidade da proposta para um novo estado no estado atual . A taxa de aceitação é πp(x2|x1)x2x1

α=min(1,π(x2)p(x1|x2)π(x1)p(x2|x1))

Se eu estiver correto, no algoritmo Metropolis de passeio aleatório, a densidade da proposta é simétrica no sentido de que p(x2|x1)=p(x1|x2) , portanto, a taxa de aceitação não depende da densidade da proposta, mas apenas na distribuição de destino π a ser amostrada. Portanto, alterar o parâmetro da distribuição da proposta não alterará a taxa de aceitação α .

Por exemplo, se a distribuição da proposta, no estado atual x1 , for uma distribuição gaussiana centrada no estado atual com uma variação constante, ou seja, N(x1,σ2) , que é simétrico no sentido acima, será alterar a variância σ2 da distribuição da proposta gaussiana não altera a taxa de aceitação α ?

Obrigado!

Tim
fonte

Respostas:

11

Se sua proposta tiver uma variação muito baixa, o novo estado proposto será muito semelhante ao atual, portanto, estará próximo de 1 (no limite, com variação 0, a proposta e o estado atual serão os mesmos e você terá exatamente igual a 1), portanto, a taxa de aceitação será próxima de 100%.π(x2)π(x1)

Se sua proposta tiver alta variação, no entanto, (pelo menos algumas vezes) será muito menor que 1, portanto, sua taxa de aceitação se aproximará cada vez mais de 0%. Portanto, a taxa de aceitação diminui à medida que a variação da proposta aumenta.π(x2)π(x1)

O problema com variações muito baixas (o que aumentará a taxa de aceitação) é que elas levam mais tempo para explorar o espaço posterior, nunca se afastando do estado atual. Métodos adaptativos de MCMC como Haario et Al. tente lidar com esse problema alterando a matriz de variações da proposta rapidamente.

Para ajustar sua taxa de aceitação, você pode apenas tentar aumentar e diminuir a variação, uma abordagem de tentativa e erro. Mas, dependendo da geometria do posterior, a taxa de aceitação pode mudar drasticamente durante o processo de amostragem. Além disso, para modelos multiparâmetros, a matriz de covariância da proposta possui muitos termos de variância e covariância e esse método se torna impraticável.

Existem métodos mais sofisticados para lidar com isso, como o método de metrópole adaptativa descrito no link acima, ou você pode dar uma olhada em outros métodos, como os listados aqui . Você também pode experimentar softwares como Jags e Stan se o Metropolis não funcionar para o seu problema.

random_user
fonte
Obrigado! você pode ver minha postagem atualizada? por "Pr (estado da proposta)", você quer dizer "Pr (estado da proposta | estado atual)"?
Tim
Olá, na sua nova notação, eu quis dizer . Eu não me incomodei com desde que você disse que está trabalhando com uma proposta simétrica e, portanto, a relação deles é constante e igual a 1 para a variação que você escolher. p ( x 1 | x 2 ) / p ( x 2 | x 1 )π(x2)/π(x1)p(x1|x2)/p(x2|x1)
random_user 28/02
Expandimos a resposta um pouco para explicar isso.
random_user 28/02
porque o estado da proposta é uma variável aleatória, está correto que não há como controlar a taxa de aceitação em um intervalo como [0,2,0,5]?
Tim
2
Isso dependerá da geometria do AFAIK posterior. Se sua posterior é uma distribuição normal ou algo próximo a ela e se você tem uma distribuição de proposta que também é normal, não vejo por que você não conseguiu "controlar" sua taxa de aceitação tentando por tentativa e erro na variação do proposta. Obviamente, problemas reais podem ser (e são) muito mais complexos que isso.
random_user 28/02
2

Acho que observar algumas definições pode ser benéfico para referência futura a esta pergunta e resposta.

A proporção do número de estados propostos aceitos e o número de proposições fornece a taxa de aceitação. Observe que a taxa de aceitação é a taxa de aceitação ao longo da caminhada aleatória.

αα na questão é chamado de "probabilidade de aceitação" por Robert & Casella em seu livro Introdução aos métodos de Monte Carlo com R (2010, p. 171). Isso é bastante razoável, pois , em sua apresentação, adaptado à notação da pergunta, é visto aqui:α

x2={x2with probability α(x2,x1)x1with probability 1α(x2,x1)where  α(x2,x1)=min{1,π(x2)p(x1|x2)π(x1)p(x2|x1)}

Agora observe que aqui pode se tornar independente da densidade da proposta no caso de uma proposta de passeio aleatório quando . No entanto, a taxa de aceitação conforme definida acima ainda depende dela devido aos motivos explicados por random_user.p ( x | y ) = p ( y | x )αp(x|y)=p(y|x)

Robert e Casella são muito claros em diferenciar os dois e definem o último como "[...] a média da probabilidade de aceitação das iterações".

Tenho pouca experiência no assunto, mas foi o suficiente para eu observar que o que é referido em questão por "taxa de aceitação" às vezes é chamado de "taxa de aceitação" (consulte a Wikipedia, por exemplo), levando a confusões semelhantes às da questão.

Oğuzhan Öğreden
fonte