Saya memiliki kemungkinan yang cukup datar untuk mengarahkan sampler Metropolis-Hastings untuk bergerak melalui ruang parameter dengan sangat tidak teratur, yaitu tidak ada konvergensi yang dapat dicapai, apa pun parameter distribusi proposal (dalam kasus saya ini adalah gaussian). Tidak ada kompleksitas tinggi dalam model saya - hanya 2 parameter, tetapi tampaknya MH tidak dapat menangani tugas ini. Jadi, apakah ada trik untuk mengatasi masalah ini? Apakah ada sampler yang tidak akan menghasilkan rantai Markov bergerak sangat jauh ke ekor posterior?
Pembaruan masalah:
Saya akan mencoba merumuskan kembali pertanyaan saya dengan memberikan lebih banyak detail. Pertama-tama saya akan menjelaskan modelnya.
Saya memiliki model grafis dengan dua node. Setiap node diatur oleh model auto-Poisson (Besag, 1974) sebagai berikut:
p (Xj|Xk=xk, ∀ k ≠ j , Θ ) ∼ Po i s s o n (eθj+∑j ≠ kθk jxk)
Atau, karena hanya ada dua node dan mengasumsikan intensitas global yang sama:
p (X1|X2=x2, θ , α ) ∼ Po i s s o n (eθ + αx2)
p (X2|X1=x1, θ , α ) ∼ Po i s s o n (eθ + αx1)
Karena itu adalah bidang Markov, distribusi bersama (atau kemungkinan realisasi X= [x1,x2]) adalah sebagai berikut:
p ( X) =e x p ( θ (x1+x2) + 2x1x2α )Z( θ , α )=e x p ( E( θ , α , X) )Z( θ , α )
Karena saya mengasumsikan prior flat
α dan
θ, posterior kemudian sebanding dengan
π( θ , α | X) ∝e x p ( E( θ , α , X) )Z( θ , α )
Sejak
Z( θ , α )secara umum sangat sulit untuk mengevaluasi (banyak penjumlahan) Saya menggunakan metode variabel tambahan karena J. Moller (2006). Menurut metode ini, pertama saya menggambar sampel data
X′ oleh Gibbs sampler (karena conditional hanya distribusi poisson) maka saya menggambar proposal dari distribusi Gaussian dan menghitung sesuai dengan kriteria penerimaan
H(X′,α′,θ′|X,α,θ). Dan di sini saya mendapatkan rantai Markov liar. Ketika saya memaksakan beberapa batas di mana rantai dapat bergerak, sampler tampaknya menyatu dengan beberapa distribusi, tetapi begitu saya memindahkan setidaknya satu batas, distribusi yang dihasilkan juga bergerak dan selalu menunjukkan trancation.
Saya pikir @ Xi'an wright - posterior mungkin tidak pantas.
mcmc
dan perintahmetrop
juga. Anda mungkin perlu sampler adaptif. Sampler ini (the twalk) dapat digunakan dalam kasus-kasus semacam ini mengingat bahwa itu adaptif (mungkin hanya sebagai "pendapat kedua"). Ini diimplementasikan dalam R, C dan Python. Kode dapat diunduh dari salah satu halaman web penulis .