Ada beberapa versi algoritma Metropolis Hastings yang adaptif. Satu diimplementasikan dalam fungsi Metro_Hastings
dari R
paket MHadaptive
, lihat di sini . Referensi yang tercantum di sana, Spiegelhalter et al. (2002), sayangnya tidak mengandung deskripsi dari algoritma adaptif, sejauh yang saya bisa lihat. Namun, Metro_Hastings
algoritma berkinerja sangat baik dalam pengambilan sampel dari distribusi posterior model yang saya pertimbangkan, itulah sebabnya saya ingin memahami detailnya.
Saya telah sedikit rekayasa balik algoritma. Adakah yang mengenali algoritma MH adaptif ini? Inilah yang dilakukannya:
Biarkan menjadi kerapatan target. Inisialisasi .
Untuk iterasi lakukan:
- Usulkan .
- Terima dengan probabilitas . Jika menerima, set \ theta_ {0, i}: = \ theta_1 . Jika tolak: \ theta_ {0, i}: = \ theta_ {0, i-1} .
Jika , di mana a vektor didefinisikan sehingga setiap elemen (default ), ada jarak iterasi antara elemen (default ), dan tidak ada elemen (default ), lakukan:
- Pilih (default ).
- Pembaruan: mana penaksir kemungkinan maksimum dari matriks kovarians varians dari dengan asumsi normalitas multivariat.
Langkah 1 dan 2 adalah standar MH. Langkah 3 dan 4 adalah adaptasi yang terjadi pada langkah dan menggunakan iterasi masa lalu untuk memperbarui ke matriks kovarian iterasi masa lalu.