Jumlah rantai Markov Sampel Monte Carlo

10

Ada banyak literatur di luar sana tentang diagnostik konvergensi Markov chain Monte Carlo (MCMC), termasuk diagnostik Gelman-Rubin yang paling populer. Namun, semua ini menilai konvergensi rantai Markov, dan dengan demikian menjawab pertanyaan burn-in.

Setelah saya mengetahui burn-in, bagaimana saya harus memutuskan berapa banyak sampel MCMC yang cukup untuk melanjutkan proses estimasi saya? Sebagian besar makalah yang menggunakan MCMC menyebutkan bahwa mereka menjalankan rantai Markov untuk beberapaniterasi, tetapi jangan katakan apa-apa tentang mengapa / bagaimana mereka memilih nomor itu, .n

Selain itu, satu ukuran sampel yang diinginkan tidak bisa menjadi jawaban untuk semua sampler, karena korelasi dalam rantai Markov sangat bervariasi dari masalah ke masalah. Jadi apakah ada aturan di luar sana untuk mengetahui jumlah sampel yang dibutuhkan?

Greenparker
sumber

Jawaban:

5

Berapa banyak sampel (pasca pembakaran) yang Anda butuhkan tergantung pada apa yang Anda coba lakukan dengan sampel tersebut dan bagaimana rantai Anda bercampur.

Biasanya kami tertarik pada harapan posterior (atau kuantil) dan kami memperkirakan ekspektasi ini dengan rata-rata sampel posterior kami, yaitu mana adalah sampel dari MCMC Anda. Menurut Hukum Angka Besar, perkiraan MCMC hampir pasti menyatu dengan harapan yang diinginkan.

E[h(θ)|y]1Mm=1Mh(θ(m))=EM
θ(m)

Tetapi untuk menjawab pertanyaan berapa banyak sampel yang perlu kita yakinkan bahwa kita cukup dekat dengan harapan yang diinginkan, kita memerlukan hasil Central Limit Theorem (CLT), yaitu sesuatu seperti Dengan CLT ini kita kemudian dapat membuat pernyataan probabilitik seperti "ada 95% probabilitas bahwa berada di antara . " Dua masalah di sini adalah

EM.-E[h(θ)|y]M.dN(0,vh2)
E[h(θ)|y]EM.±1.96vh
  1. Apakah CLT berlaku?
  2. Bagaimana kami memperkirakan .vh2

Kami memiliki beberapa hasil ketika CLT berlaku, misalnya rantai keadaan terputus, rantai reversibel, rantai geometri ergodik. Lihat Robert dan Casella (edisi kedua) bagian 6.7.2 untuk beberapa hasil dalam arah ini. Sayangnya sebagian besar rantai Markov yang ada di luar tidak memiliki bukti bahwa CLT ada.

Jika suatu CLT ada, kita masih perlu memperkirakan varians dalam CLT. Salah satu cara untuk memperkirakan varians ini melibatkan memecah rantai menjadi blok, lihat Gong dan Flegal dan referensi di dalamnya. Metode ini telah diterapkan dalam paket R mcmcsedengan fungsi mcsedan mcse.quntuk memperkirakan varians untuk harapan dan kuantil.

jaradniemi
sumber
Ini terdengar masuk akal, dan saya akrab dengan literatur di sini. Seberapa sering argumen ini digunakan dalam praktik?
Greenparker
3

John Kruschke dalam Doing Bayesian Data Analysis merekomendasikan bahwa untuk parameter yang menarik, rantai MCMC harus dijalankan sampai ukuran sampel efektifnya setidaknya 10.000. Meskipun tidak ada simulasi yang disajikan, saya percaya alasannya adalah bahwa ESS> 10.000 memastikan estimasi stabil secara numerik. Namun, saya telah melihat bahwa Andrew Gelman dan pengembang Stan lainnya merekomendasikan kurang (misalnya 2000 - 3000 baik-baik saja; sayangnya, tidak ada tautan yang pasti, tetapi melihat diskusi tentang kelompok pengguna Stan Google). Selain itu, untuk model yang rumit, rantai yang berjalan cukup lama untuk ESS> 10.000 bisa sangat sulit!

pengguna3237820
sumber
Terima kasih. Dapatkah Anda mengirim saya ke mana dia mengatakan itu dalam materinya? Butuh waktu lama untuk membaca halaman web. Juga, jawaban saya [di sini] berbicara tentang menentukan batas bawah untuk ESS.
Greenparker
Maaf, saya sadar saya tidak menaruh tautan. Ini dia.
Greenparker
1
Maaf, saya seharusnya lebih spesifik. Kruschke menyebutkannya secara singkat dalam posting blognya di sini doingbayesiandataanalysis.blogspot.co.uk dan itu ada di Bab 7 dari bukunya, 'Markov Chain Monte Carlo', halaman 184 dari edisi ke-2: books.google.co.uk/… .
user3237820
1

Ini memang salah satu kelemahan besar dari simulasi MCMC, karena tidak ada perkiraan umum dan apriori pada jumlah sampel. Saya pikir literatur yang baik di sini adalah "Beberapa hal yang telah kami pelajari (tentang MCMC)" oleh Persi Diaconis yang berkaitan dengan banyak seluk-beluk simulasi MCMC yang mungkin menunjukkan bahwa tidak ada jawaban yang mudah untuk pertanyaan ini.

Secara umum, membuat perkiraan yang baik tentang berapa lama untuk menjalankan rantai membutuhkan pemahaman yang baik tentang waktu pencampuran rantai Markov, yang sangat tergantung pada sifat-sifat grafik yang mendasarinya. Ada banyak metode "bebas terbakar" di luar sana untuk mengikat waktu pencampuran dari atas, tetapi semua metode ini memiliki kesamaan bahwa mereka memerlukan pemahaman yang lebih dalam tentang rantai Markov yang mendasarinya dan konstanta yang terlibat biasanya sulit untuk dihitung . Lihat misalnya "Konduktansi dan Pencampuran Cepat Rantai Markov" oleh King, "Path Coupling: Teknik untuk Membuktikan Pencampuran Cepat dalam Rantai Markov" oleh Bubley et al., Atau "Ketidaksetaraan Nash untuk rantai Markov yang terbatas" oleh Diaconis et al.

Tobias Windisch
sumber
Sepakat. Tetapi dalam prakteknya waktu pencampuran sampler tidak selalu dipelajari secara detail untuk menjawab pertanyaan ini. Selain itu, mempelajari waktu pencampuran memerlukan latar belakang yang cukup besar dalam teori rantai Markov, sesuatu yang sebagian besar pengguna akhir MCMC mungkin tidak kenal. Bahkan tidak ada heuristik di luar sana (seperti diagnostik)?
Greenparker
Satu-satunya hal yang dapat saya pikirkan adalah memperkirakan secara numerik nilai eigen terbesar kedua dari matriks transisi dan untuk mendapatkan suatu batasan pada waktu pencampuran dari itu. Anda dapat melihat tesis PhD dari Kranthi Kumar Gade.
Tobias Windisch
Bagaimana jika saya bekerja dengan rantai Markov ruang keadaan umum, bukan ruang keadaan terbatas? Saya menduga itu tidak mungkin saat itu, tetapi akan melihatnya.
Greenparker
Kamu benar. Metodenya hanya bekerja untuk ruang keadaan terbatas dan rantai Markov waktu diskrit.
Tobias Windisch