Ukuran Sampel efektif untuk inferensi posterior dari pengambilan sampel MCMC

13

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?

Matt Albrecht
sumber
Dugaan saya adalah bahwa itu mungkin akan tergantung pada "konstan" di kesalahan, yang akan bervariasi antar model. HAI(n-12)
probabilityislogic

Jawaban:

15

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 ( | Λ |hal Sini

kekacauan=n(|Λ||Σ|)1/hal.
  1. adalah struktur kovarians posterior (juga kovarians asimptotik pada CLT jika Anda memiliki sampel independen)Λ
  2. adalah matriks kovarians asimptotik dalam rantai Markov CLT (berbeda dari Λ karena sampel berkorelasi.ΣΛ
  3. adalah jumlah kuantitas yang diperkirakan (atau dalam hal ini, dimensi posterior.hal
  4. adalah penentu.||

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

  1. ϵϵ
  2. α
  3. hal

kekacauan22/halπ(halΓ(hal/2))2/halχ1-α,hal2ϵ2,

Γ()minESS

hal=2095%ϵ=0,05

> 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 multiESSapakah rantai Markov Anda telah mencapai batas itu; jika tidak pergi dan ambil lebih banyak sampel.

Greenparker
sumber
(+1) Jawaban yang sangat bagus. Apakah Anda tahu jika fungsi multiESStelah dikodekan untuk bahasa lain, seperti MATLAB? (atau apakah akan sulit untuk menerapkan kembali?)
lacerbi
1
Σ
1
Σ
1
@ lacerbi Saya senang Anda bisa mengkodekannya di Matlab. Jika memungkinkan, balas komentar ini ketika sudah habis, jadi saya bisa menggunakannya. Terima kasih
Greenparker
1
Implementasi multi-MATLAB saya tersedia di sini . Ini versi yang berfungsi meskipun akan membutuhkan pengujian lebih lanjut (saya tidak terbiasa dengan R, kalau tidak saya akan membandingkannya dengan implementasi R).
lacerbi
2

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.

Monte Cristo
sumber