(Berinteraksi) MCMC untuk posterior multimoda

9

Saya mencoba mengambil sampel dari posterior yang memiliki banyak mode, terutama yang saling berjauhan menggunakan MCMC. Tampaknya dalam kebanyakan kasus, hanya satu dari mode ini yang mengandung 95% hp yang saya cari. Saya mencoba menerapkan solusi berdasarkan simulasi tempered tetapi ini tidak memberikan hasil yang memuaskan karena dalam praktiknya dari satu "jangkauan penangkapan" ke yang lain adalah mahal.

Sebagai akibatnya, tampak bagi saya bahwa solusi yang lebih efisien adalah menjalankan banyak MCMC sederhana dari titik awal yang berbeda dan untuk terjun ke solusi dominan dengan membuat MCMC saling berinteraksi. Apakah Anda tahu jika ada cara yang tepat untuk menerapkan gagasan seperti itu?

Catatan: Saya menemukan kertas itu http://lccc.eecs.berkeley.edu/Papers/dmcmc_short.pdf (rantai Markov yang didistribusikan Monte Carlo, Lawrence Murray) yang terlihat dekat dengan apa yang saya cari, tetapi saya benar-benar tidak mengerti desainnya. dari fungsi .Ri

[EDIT]: kurangnya jawaban tampaknya menunjukkan bahwa tidak ada solusi yang jelas untuk masalah awal saya (membuat beberapa sampel MCMC dari distribusi target yang sama dari titik awal yang berbeda saling berinteraksi). Benarkah ? mengapa begitu rumit? Terima kasih

peuhp
sumber
Kedengarannya seperti apa yang saya gunakan sebelumnya "Population MCMC" untuk. Lihat "Memperkirakan faktor Bayes melalui integrasi termodinamika dan populasi MCMC" oleh Calderhead dan Girolami. Maaf jika ini datang agak terlambat, tapi mungkin orang lain akan menghargai referensi ini!
Sam Mason
Kemungkinan sama dengan Populasi MCMC adalah Sequential Monte Carlo.
Robert P. Goldman

Jawaban:

1

Pertama-tama saya akan merekomendasikan untuk mencari metode yang lebih baik, atau setidaknya metode dengan deskripsi yang lebih mendalam, karena "Rantai Markov Terdistribusi Monte Carlo" dari makalah yang Anda maksudkan tampaknya tidak dinyatakan secara jelas. Keuntungan dan kerugiannya tidak dieksplorasi dengan baik. Ada metode, yang muncul di arxiv baru-baru ini disebut " Wormhole Hamiltonian Monte Carlo ", saya akan merekomendasikan untuk memeriksanya.

Kembali ke kertas yang Anda berikan referensi, proposal jarak jauh sangat samar-samar dijelaskan. Pada bagian aplikasi itu digambarkan sebagai "kemungkinan maksimum Gaussian atas sampel t / 2 sebelumnya". Mungkin ini berarti Anda rata-rata nilai t / 2 terakhir dari rantai ? Agak sulit ditebak dengan deskripsi buruk yang diberikan dalam referensi.i t hRi(θi)ith

[PEMBARUAN:] Interaksi antara beberapa rantai dan penerapan ide ini untuk sampel dari distribusi posterior dapat ditemukan dalam metode MCMC paralel, misalnya di sini . Namun, menjalankan beberapa rantai dan memaksa mereka untuk berinteraksi mungkin tidak cocok untuk posterior multimodal: misalnya, jika ada daerah yang sangat menonjol di mana sebagian besar distribusi posterior terkonsentrasi, interaksi rantai tersebut bahkan dapat memperburuk keadaan dengan tetap berpegang pada spesifik tersebut. wilayah dan tidak menjelajahi wilayah / mode lain yang kurang menonjol. Jadi, saya akan sangat menyarankan untuk mencari MCMC yang dirancang khusus untuk masalah multimodal. Dan jika Anda ingin membuat metode lain / baru, maka setelah Anda tahu apa yang tersedia di "pasar", Anda dapat membuat metode yang lebih efisien.

Tomas
sumber
Terima kasih atas bantuan Anda. Ini tidak sepenuhnya apa yang saya harapkan tetapi mungkin saya sedang mencari hal-hal yang tidak dapat dijangkau. Saat ini saya sedang menyelidiki (saya tidak yakin bisa mendapatkan semua yang dibutuhkan oleh seorang MCMC Hamiltonian), yang disebut MC darting yang saya temukan melalui referensi Anda. Saya memberi Anda hadiah, terima kasih lagi atas saran Anda.
peuhp
@peuhp, Ini terkait erat dengan metode Hamiltonian yang disebutkan di atas, tetapi Equi-Energy Sampler adalah metode MCMC yang secara khusus disebut sebagai metode untuk distribusi posterior multi-modal. Saya tahu ini beroperasi dengan memulai beberapa rantai paralel dan memungkinkan lompatan di antara rantai tetapi saya tidak memiliki pengetahuan / pengalaman yang cukup dengan metode untuk mengirim jawaban. Lihat tautannya. Saya harap ini membantu.
Makro
1

Anda harus mencoba multinest: https://arxiv.org/pdf/0809.3437.pdf https://github.com/JohannesBuchner/MultiNest Ini adalah mesin inferensi bayesian yang akan memberi Anda sampel parameter untuk distribusi multimoda.

Tautan github berisi kode sumber multinest yang Anda kompilasi dan instal sesuai instruksi. ini juga memiliki pembungkus python yang lebih mudah digunakan. Kode contoh memiliki bagian sebelumnya yang berfungsi untuk membatasi parameter Anda, dan bagian kemungkinan yang berisi kemungkinan Anda. file pengaturan berisi semua pengaturan Anda, dan rantai output folder multinest setelah pas. itu akan memberi Anda sampel parameter Anda

Eric Kamau
sumber
Selamat datang di CV dan terima kasih atas jawaban Anda yang luar biasa. Mungkin Anda dapat meningkatkan jawaban Anda dengan merangkum Githublink.
Ferdi
1
Tautan github berisi kode sumber multinest yang Anda kompilasi dan instal sesuai instruksi. ini juga memiliki pembungkus python yang lebih mudah digunakan. Kode contoh memiliki bagian sebelumnya yang berfungsi untuk membatasi parameter Anda, dan bagian kemungkinan yang berisi kemungkinan Anda. file pengaturan berisi semua pengaturan Anda, dan rantai output folder multinest setelah pas. itu akan memberi Anda sampel parameter Anda.
Eric Kamau
Wow. Itu mengagumkan. Saya membatalkan jawaban Anda. Di masa depan, Anda dapat menyertakan deskripsi seperti itu setiap kali Anda membagikan tautan.
Ferdi
0

Ini tampaknya menjadi masalah yang sulit dan berkelanjutan dalam statistik komputasi. Namun, ada beberapa metode yang tidak terlalu canggih yang bisa digunakan.

Katakanlah Anda telah menemukan beberapa mode berbeda dari posterior dan Anda senang bahwa ini adalah mode yang paling penting, dan jika posterior di sekitar mode ini cukup normal. Kemudian Anda dapat menghitung hessian pada mode ini (katakanlah, menggunakan optim dalam R dengan hessian = T) dan Anda dapat memperkirakan posterior sebagai campuran normal (atau distribusi t). Lihat p318-319 dalam Gelman et al. (2003) "Analisis Data Bayesian" untuk perincian. Kemudian Anda dapat menggunakan aproksimasi normal / t-campuran sebagai distribusi proposal dalam sampler independen untuk mendapatkan sampel dari posterior penuh.

Gagasan lain, yang belum saya coba, adalah Annealed Importance Sampling (Radford Neal, 1998, tautan di sini ).

Tikar
sumber
Hal lain, jika Anda sudah memiliki satu set rantai yang masing-masing tampaknya telah "bertemu" secara lokal, akan melakukan semacam resampling penting dari kombinasi semua rantai Anda. Saya tidak yakin tentang itu.
Mat
Selamat datang di Mat forum. Jangan ragu untuk mengedit jawaban Anda untuk menambahkan ide-ide baru Anda alih-alih mengomentari jawaban Anda sendiri. Tidak ada yang salah dengan itu :)
brumar
0

Bagaimana dengan mencoba metode MCMC baru untuk multimodality, algoritma Metropolis yang menarik dan menarik ( http://arxiv.org/abs/1601.05633 )? Sampler multimoda ini bekerja dengan parameter tuning tunggal seperti algoritma Metropolis dan mudah diterapkan.

RAM
sumber