Algoritma MCMC seperti Metropolis-Hastings dan Gibbs sampling adalah cara pengambilan sampel dari distribusi posterior bersama.
Saya pikir saya mengerti dan dapat mengimplementasikan metropolis-hasting dengan cukup mudah - Anda cukup memilih titik awal, dan 'berjalan di ruang parameter' secara acak, dipandu oleh kepadatan posterior dan kepadatan proposal. Pengambilan sampel Gibbs tampaknya sangat mirip tetapi lebih efisien karena hanya memperbarui satu parameter pada satu waktu, sementara yang lain tetap konstan, efektif berjalan di ruang dengan cara ortogonal.
Untuk melakukan ini, Anda memerlukan persyaratan penuh dari setiap parameter secara analitis dari *. Tetapi dari mana datangnya kondisi penuh ini? Untuk mendapatkan penyebut Anda perlu memarginalkan sambungan lebih darix1. Itu sepertinya banyak pekerjaan yang harus dilakukan secara analitik jika ada banyak parameter, dan mungkin tidak dapat ditelusuri jika distribusi bersama tidak terlalu 'bagus'. Saya menyadari bahwa jika Anda menggunakan konjugasi di seluruh model, kondisi penuh mungkin mudah, tetapi harus ada cara yang lebih baik untuk situasi yang lebih umum.
Semua contoh pengambilan sampel Gibbs yang saya lihat online menggunakan contoh mainan (seperti pengambilan sampel dari multivarian normal, di mana kondisional hanya normalnya sendiri), dan tampaknya menghindari masalah ini.
* Atau apakah Anda memerlukan persyaratan penuh dalam bentuk analitik? Bagaimana program seperti winBUGS melakukannya?