Eu tenho uma probabilidade bastante plana de levar o amostrador Metropolis-Hastings a se mover pelo espaço de parâmetros de maneira muito irregular, ou seja, nenhuma convergência pode ser alcançada, independentemente dos parâmetros de distribuição da proposta (no meu caso, é gaussiano). Não há alta complexidade no meu modelo - apenas 2 parâmetros, mas parece que o MH não pode lidar com essa tarefa. Então, existe algum truque para solucionar esse problema? Existe um amostrador que não produziria cadeias de Markov se movendo muito longe para as caudas posteriores?
Atualização do problema:
tentarei reformular minha pergunta dando mais detalhes. Antes de tudo, descreverei o modelo.
Eu tenho um modelo gráfico com dois nós. Cada nó é governado por um modelo de auto-Poisson (Besag, 1974) da seguinte maneira:
Ou, uma vez que existem apenas dois nós e assumindo intensidades globais iguais :
p(Xj|Xk=xk,∀k≠j,Θ)∼Poisson(eθj+∑j≠kθkjxk)
p ( X 2 | X 1 = x 1 , θ , α ) ~ P o i s s o n ( e θ + α x 1 )p(X1|X2=x2,θ,α)∼Poisson(eθ+αx2)
p(X2|X1=x1,θ,α)∼Poisson(eθ+αx1)
Como é um campo de Markov, a distribuição conjunta (ou probabilidade de realização ) é a seguinte:
Como eu assumi as anteriores planas para e , a posterior é então proporcional a
DesdeX=[x1,x2]
p(X)=exp(θ(x1+x2)+2x1x2α)Z(θ,α)=exp(E(θ,α,X))Z(θ,α)
αθπ(θ,α|X)∝exp(E(θ,α,X))Z(θ,α)
Z(θ,α)em geral, é muito difícil de avaliar (muitos somatórios). Estou usando o método de variável auxiliar devido a J. Moller (2006). De acordo com esse método, primeiro desenhei uma amostra de dados do amostrador Gibbs (como condicionais são apenas distribuições de poisson), depois desenhei uma proposta da distribuição gaussiana e calculei adequadamente os critérios de aceitação . E aqui eu recebo uma cadeia selvagem de Markov. Quando imponho alguns limites dentro dos quais a cadeia pode se mover, o amostrador parece convergir para alguma distribuição, mas uma vez que movo pelo menos um limite, a distribuição resultante também se move e sempre mostra transe. Eu acho que @ Xi'an é errado - o posterior pode ser impróprio.
X′H(X′,α′,θ′|X,α,θ)
mcmc
e no comandometrop
também. Você provavelmente precisará de um amostrador adaptável. Este amostrador (o twalk) pode ser usado nesse tipo de caso, uma vez que é adaptável (talvez apenas como uma "segunda opinião"). É implementado em R, C e Python. Os códigos podem ser baixados de uma das páginas do autor .Respostas:
Acho surpreendente que uma probabilidade plana produza problemas de convergência: geralmente é o caso oposto que causa problemas! A primeira verificação usual para essas situações é garantir que o posterior seja adequado : caso contrário, isso explicaria excursões intermináveis nas "caudas". Se a posterior for realmente adequada, você pode usar propostas de cauda mais gorda, como uma distribuição de Cauchy ... E um algoritmo adaptável à Roberts e Rosenthal.
Se isso ainda "não funcionar", sugiro considerar uma reparameterização do modelo, usando, por exemplo (ou seja, se não houver outra parametrização natural), uma transformação logística, (com um possível parâmetro de escala), que traz o parâmetro para o quadrado da unidade.
Em relação às respostas anteriores, a amostragem de Gibbs parece uma solução mais provável do que a aceitação-rejeição, que exige encontrar um limite e escalar a distribuição t para a posterior, o que não parecia viável para o amostrador mais robusto de Metropolis-Hastings ...
fonte
Você pode anotar a distribuição do seu primeiro parâmetro condicional no seu segundo parâmetro e vice-versa? Nesse caso, a amostragem de Gibbs seria uma opção viável. São apenas algumas linhas de código e podem se misturar quase instantaneamente em muitos casos.
fonte
EDIT: Veja a resposta de @ Xi'an e a discussão depois para ver os problemas com a seguinte abordagem.
Se Metropolis-Hastings falhar e seu modelo for relativamente simples, você pode pensar em usar o algoritmo de aceitação / rejeição com a distribuição de Student com um baixo grau de liberdade (1-6) para as propostas.t
Se você usar R, você pode facilmente simular um Student com . Se você não tem uma maneira fácil de gerar variáveis com seu software, mas pode simular a , então desenhar a variação de um Gaussiano de em cada etapa e simular um Gaussiano com essa variação é equivalente.t Γ Γt t Γ Γ
rt()
fonte