MCMC untuk menangani masalah kemungkinan datar

9

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,kj,Θ)Poisson(eθj+jkθkjxk)
Atau, karena hanya ada dua node dan mengasumsikan intensitas global yang sama:
p(X1|X2=x2,θ,α)Poisson(eθ+αx2)
p(X2|X1=x1,θ,α)Poisson(eθ+αx1)

Karena itu adalah bidang Markov, distribusi bersama (atau kemungkinan realisasi X=[x1,x2]) adalah sebagai berikut:

p(X)=exp(θ(x1+x2)+2x1x2α)Z(θ,α)=exp(E(θ,α,X))Z(θ,α)
Karena saya mengasumsikan prior flat α dan θ, posterior kemudian sebanding dengan
π(θ,α|X)exp(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 dataX 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.
Tomas
sumber
1
Kemungkinannya adalah menggunakan parameter skala yang lebih besar untuk mendapatkan langkah yang lebih besar. Anda mungkin tertarik pada paket R mcmcdan perintah metropjuga. 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 .
@Procrastinator Bisakah Anda menguraikan lebih lanjut tentang apa yang Anda maksud dengan "parameter skala lebih besar"? Apakah Anda bermaksud menggunakan parameter varians yang lebih besar untuk proposal?
Tomas
2
Biarkan saya memperjelas dulu bahwa, jika kemungkinannya datar, Anda tidak benar-benar ingin sampler Anda tidak "bergerak sangat jauh ke ekor posterior". Yang diinginkan adalah mengambil sampel dengan benar dari distribusi (baik, ekor dan tengah). Saat menggunakan algoritma MH dengan proposal Gaussian, Anda perlu memilih parameter skala / matriks kovarian yang menentukan panjang langkah-langkahnya. Ini harus dipilih untuk 1. Pengambilan sampel dengan benar dari distribusi dan 2. Mendapatkan tingkat penerimaan yang masuk akal.
jika Anda hanya memiliki dua parameter maka integrasi numerik mungkin merupakan alternatif yang lebih baik
probabilityislogic
ada sesuatu yang salah dengan ekspresi kemungkinan bersama. Jika Anda mencoba dan menjumlahkanx1 Anda mendapatkan p(x2|αθ)=g(x2)x1=0exp(x1[θ+2αx2])=. jadi kemungkinannya tidak tepat seperti yang ditulis saat ini.
probabilityislogic

Jawaban:

8

Saya menemukan mengejutkan bahwa datar kemungkinan menghasilkan isu-isu konvergensi: biasanya kasus sebaliknya yang menyebabkan masalah! Pemeriksaan pertama yang biasa untuk situasi seperti itu adalah untuk memastikan bahwa posterior Anda benar : jika tidak itu akan menjelaskan untuk perjalanan tanpa akhir di "ekor". Jika posterior benar, Anda dapat menggunakan proposal ekor yang lebih gemuk seperti distribusi Cauchy ... Dan algoritma adaptif à la Roberts dan Rosenthal.

Jika ini masih "tidak berhasil", saya sarankan mempertimbangkan reparameterisasi model, menggunakan misalnya (yaitu jika tidak ada parameter alami lainnya) transformasi logistik,

φ(x)=exp(x)/{1+exp(x)}
(dengan parameter skala yang mungkin), yang membawa parameter ke dalam unit square.

Mengenai jawaban sebelumnya, pengambilan sampel Gibbs terdengar seperti solusi yang lebih mungkin daripada accept-reject, yang membutuhkan menemukan batas dan meningkatkan distribusi ke arah posterior, yang tampaknya tidak layak untuk sampel sampler Metropolis-Hastings yang lebih kuat ...

Xi'an
sumber
@Xian terima kasih atas umpan balik pada downvote. Apakah sebenarnya ada situasi di mana Anda lebih suka menerima-menolak daripada MH?
gui11aume
@ gui11aume: jika Anda dapat menghasilkan algoritma accept-reject dengan batas yang cukup kecil untuk memastikan tingkat penerimaan yang masuk akal, maka accept-reject tidak diragukan lagi lebih disukai daripada Metropolis-Hastings. Namun, ini tidak mungkin terjadi dengan (a) dimensi besar dan / atau (b) kompleks, mungkin multimodal, target ...
Xi'an
2

Bisakah Anda menuliskan distribusi parameter pertama Anda pada kondisi kedua dan sebaliknya? Jika demikian, pengambilan sampel Gibbs akan menjadi opsi yang layak. Ini hanya beberapa baris kode dan dapat dicampur hampir secara instan dalam banyak kasus.

David J. Harris
sumber
1

EDIT: Lihat jawaban @ Xi'an dan diskusi setelahnya untuk melihat masalah dengan pendekatan berikut.

Jika Metropolis-Hastings gagal dan model Anda relatif sederhana, Anda bisa memikirkan untuk menggunakan algoritma accept-reject dengan Studentt distribusi dengan tingkat kebebasan yang rendah (1-6) untuk proposal.

Jika Anda menggunakan R, Anda dapat dengan mudah mensimulasikan siswa tdengan rt(). Jika Anda tidak memiliki cara mudah untuk menghasilkant variabel dengan perangkat lunak Anda tetapi Anda dapat mensimulasikan Γ, lalu menggambar varian Gaussian dari a Γ pada setiap langkah dan mensimulasikan Gaussian dengan varian itu setara.

gui11aume
sumber