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 .