Ketika memperoleh sampel MCMC untuk membuat kesimpulan pada parameter tertentu, panduan apa yang baik untuk jumlah minimum sampel efektif yang harus dituju?
Dan, apakah saran ini berubah ketika modelnya menjadi lebih atau kurang kompleks?
Ketika memperoleh sampel MCMC untuk membuat kesimpulan pada parameter tertentu, panduan apa yang baik untuk jumlah minimum sampel efektif yang harus dituju?
Dan, apakah saran ini berubah ketika modelnya menjadi lebih atau kurang kompleks?
Jawaban:
Pertanyaan yang Anda ajukan berbeda dari "diagnostik konvergensi". Katakanlah Anda telah menjalankan semua diagnostik konvergensi (pilih favorit Anda), dan sekarang siap untuk memulai pengambilan sampel dari posterior.
Ada dua opsi dalam hal ukuran sampel efektif (ESS), Anda dapat memilih ESS univariat atau ESS multivarian. ESS univariat akan memberikan ukuran sampel yang efektif untuk setiap parameter secara terpisah, dan metode konservatif menentukan, Anda memilih perkiraan terkecil. Metode ini mengabaikan semua korelasi silang antar komponen. Ini mungkin apa yang kebanyakan orang telah gunakan untuk sementara waktu
Baru-baru ini, definisi multivariat tentang ESS diperkenalkan. ESS multivarian mengembalikan satu angka untuk ukuran sampel efektif untuk jumlah yang ingin Anda perkirakan; dan ia melakukannya dengan memperhitungkan semua korelasi silang dalam proses. Secara pribadi, saya jauh lebih suka ESS multivarian. Misalkan Anda tertarik dengan -vector sarana distribusi posterior. MESS didefinisikan sebagai berikut mESS = n ( | Λ | Sini
MESS dapat diperkirakan dengan menggunakan matriks kovarians sampel untuk memperkirakan dan batch berarti matriks kovarians untuk memperkirakan Σ . Ini telah dikodekan dalam fungsi di paket R mcmcse .multiESS
Makalah baru-baru ini memberikan batas bawah yang valid secara teoritis dari jumlah sampel efektif yang diperlukan. Sebelum simulasi, Anda harus memutuskan
> minESS(p = 20, alpha = .05, eps = .05)
[1] 8716
Ini berlaku untuk masalah apa pun (dalam kondisi keteraturan). Cara metode ini beradaptasi dari satu masalah ke masalah lainnya adalah bahwa pencampuran rantai Markov secara perlahan membutuhkan waktu lebih lama untuk mencapai batas bawah itu, karena mESS akan lebih kecil. Jadi sekarang Anda dapat memeriksa beberapa kali menggunakan multiESS
apakah rantai Markov Anda telah mencapai batas itu; jika tidak pergi dan ambil lebih banyak sampel.
multiESS
telah dikodekan untuk bahasa lain, seperti MATLAB? (atau apakah akan sulit untuk menerapkan kembali?)
Konvergensi tergantung pada beberapa hal: jumlah parameter, model itu sendiri, algoritma pengambilan sampel, data ...
Saya akan menyarankan untuk menghindari aturan umum dan menggunakan beberapa alat diagnostik konvergensi untuk mendeteksi jumlah burn-in dan penipisan iterasi yang sesuai dalam setiap contoh spesifik. Lihat juga http://www.johnmyleswhite.com/notebook/2010/08/29/mcmc-diagnostics-in-r-with-the-coda-package/
, http://users.stat.umn.edu/~geyer/mcmc/diag.html
.