Ketika saya sedang mengkode simulasi Monte Carlo untuk beberapa masalah, dan modelnya cukup sederhana, saya menggunakan buku sampel Gibbs yang sangat dasar. Ketika tidak mungkin menggunakan sampling Gibbs, saya memberi kode pada buku teks Metropolis-Hastings yang telah saya pelajari bertahun-tahun yang lalu. Satu-satunya pemikiran yang saya berikan adalah memilih distribusi lompat atau parameternya.
Saya tahu ada ratusan dan ratusan metode khusus yang meningkatkan lebih dari opsi buku teks itu, tetapi saya biasanya tidak pernah berpikir tentang menggunakan / mempelajarinya. Biasanya terasa seperti terlalu banyak upaya untuk meningkatkan sedikit apa yang sudah bekerja dengan sangat baik.
Tetapi baru-baru ini saya telah berpikir jika mungkin tidak ada metode umum baru yang dapat memperbaiki apa yang telah saya lakukan. Sudah puluhan tahun sejak metode itu ditemukan. Mungkin saya benar - benar ketinggalan zaman!
Apakah ada alternatif terkenal untuk Metropolis-Hastings yaitu:
- cukup mudah diimplementasikan,
- berlaku universal seperti MH,
- dan selalu meningkatkan hasil MH dalam beberapa hal (kinerja komputasi, akurasi, dll ...)?
Saya tahu tentang beberapa peningkatan yang sangat khusus untuk model yang sangat khusus, tetapi apakah ada beberapa hal umum yang digunakan semua orang yang saya tidak tahu?
sumber
Jawaban:
Saya bukan ahli dalam semua ini, tetapi saya pikir saya tetap akan menempatkan mereka di sana untuk melihat apa yang dipikirkan masyarakat. Koreksi dipersilahkan.
Salah satu metode yang semakin populer, yang tidak terlalu mudah untuk diterapkan, disebut Hamiltonian Monte Carlo (atau kadang-kadang Hybrid Monte Carlo). Ini menggunakan model fisik dengan energi potensial dan kinetik untuk mensimulasikan bola bergulir di sekitar ruang parameter, seperti yang dijelaskan dalam makalah ini oleh Radford Neal. Model fisik membutuhkan sumber daya komputasi yang cukup banyak, sehingga Anda cenderung mendapatkan pembaruan yang lebih sedikit, tetapi pembaruan tersebut cenderung kurang berkorelasi. HMC adalah mesin di balik perangkat lunak STAN baru yang sedang dikembangkan sebagai alternatif yang lebih efisien dan fleksibel untuk BUGS atau JAGS untuk pemodelan statistik.
Ada juga sekelompok metode yang melibatkan "memanaskan" rantai Markov, yang dapat Anda pikirkan sebagai pengantar kebisingan termal pada model dan meningkatkan kemungkinan pengambilan sampel kondisi probabilitas rendah. Pada pandangan pertama, itu sepertinya ide yang buruk, karena Anda ingin model untuk sampel secara proporsional dengan probabilitas posterior. Tetapi Anda sebenarnya hanya menggunakan status "panas" untuk membantu rantai lebih baik. Sampel aktual hanya dikumpulkan ketika rantai berada pada suhu "normal". Jika Anda melakukannya dengan benar, Anda dapat menggunakan rantai yang dipanaskan untuk menemukan mode yang tidak dapat dicapai oleh rantai biasa karena lembah besar dengan probabilitas rendah menghalangi transisi dari mode ke mode. Beberapa contoh metode ini termasuk MCMC Metropolis-coupled ,, penempaan paralel , dan sampling kepentingan anil .
Akhirnya, Anda dapat menggunakan Monte Carlo berurutan atau pemfilteran partikel ketika tingkat penolakan akan sangat tinggi sehingga semua metode lainnya akan gagal. Saya tahu sedikit tentang metode keluarga ini, jadi deskripsi saya mungkin salah di sini , tetapi pemahaman saya adalah bahwa cara kerjanya seperti ini. Anda mulai dengan menjalankan sampler favorit Anda, meskipun kemungkinan penolakan pada dasarnya adalah satu. Daripada menolak semua sampel Anda, Anda memilih yang paling tidak pantas, dan menginisialisasi sampler baru dari sana, mengulangi proses sampai Anda menemukan beberapa sampel yang benar-benar dapat Anda terima. Kemudian Anda kembali dan mengoreksi fakta bahwa sampel Anda nonrandom, karena Anda tidak menginisialisasi sampel Anda dari lokasi acak.
Semoga ini membantu.
sumber