Tolok ukur kinerja untuk MCMC

14

Pernahkah ada studi skala besar metode MCMC yang membandingkan kinerja beberapa algoritma yang berbeda pada serangkaian kepadatan uji? Saya sedang memikirkan sesuatu yang setara dengan makalah Rios dan Sahinidis (2013), yang merupakan perbandingan menyeluruh dari sejumlah besar pengoptimalisasi kotak hitam bebas derivatif pada beberapa kelas fungsi pengujian.

Untuk MCMC, kinerja dapat diperkirakan dalam, misalnya, jumlah sampel efektif (ESS) per evaluasi kepadatan, atau beberapa metrik lain yang sesuai.

Beberapa komentar:

  • Saya menghargai bahwa kinerja akan sangat tergantung pada detail pdf target, tetapi argumen yang serupa (mungkin tidak identik) berlaku untuk optimasi, dan meskipun demikian ada sejumlah fungsi benchmark, suite, kompetisi, makalah, dll. Yang berhubungan dengan optimasi benchmarking algoritma.

  • Juga, memang benar bahwa MCMC berbeda dari optimasi dalam hal perawatan dan penyetelan yang jauh lebih dibutuhkan dari pengguna. Meskipun demikian, sekarang ada beberapa metode MCMC yang memerlukan sedikit atau tidak sama sekali tuning: metode yang beradaptasi dalam fase burn-in, selama pengambilan sampel, atau metode multi-state (juga disebut ensemble ) (seperti pembawa acara ) yang mengembangkan beberapa rantai yang saling berinteraksi dan menggunakan informasi dari rantai lain untuk memandu pengambilan sampel.

  • Saya terutama tertarik pada perbandingan antara metode standar dan multi-state (alias ansambel). Untuk definisi multi-negara, lihat Bagian 30.6 dari buku MacKay :

x

  • Pertanyaan ini berasal dari sini .

Memperbarui

  • Untuk mendapatkan metode multi-negara alias ensemble yang menarik, lihat posting blog ini oleh Bob Carpenter di blog Gelman, dan komentar saya merujuk pada posting CV ini.
Lacerbi
sumber

Jawaban:

5

Setelah beberapa pencarian online, saya mendapat kesan bahwa tolok ukur komprehensif metode MCMC yang mapan, analog dengan apa yang dapat ditemukan dalam literatur pengoptimalan, tidak ada. (Saya senang salah di sini.)

Sangat mudah untuk menemukan perbandingan beberapa metode MCMC pada masalah spesifik dalam domain terapan. Ini akan baik-baik saja jika kita dapat mengumpulkan informasi ini - namun, kualitas tolok ukur seperti itu sering tidak memadai (misalnya, karena kurangnya metrik yang dilaporkan atau pilihan desain yang buruk).

Berikut ini saya akan memposting apa yang saya yakini sebagai kontribusi berharga ketika saya menemukannya:

  • Nishihara, Murray dan Adams, MCMC Paralel dengan Generalized Elliptical Slice Sampling , JMLR (2014). Para penulis mengusulkan metode multi-state novel, GESS, dan melakukan perbandingan dengan 6 metode single-state dan multi-state lainnya pada 7 fungsi tes. Mereka mengevaluasi kinerja sebagai ESS (Ukuran Sampel Efektif) per detik dan per evaluasi fungsi.

  • SamplerCompare adalah paket R dengan tujuan pembandingan algoritma MCMC - persis apa yang saya tanyakan dalam pertanyaan awal saya. Sayangnya, paket hanya berisi beberapa fungsi tes; makalah yang menyertai melaporkan tidak ada tolok ukur yang sebenarnya (hanya sebuah contoh kecil); dan sepertinya belum ada tindak lanjut.

Thompson, Madeleine B. "Pengantar SamplerCompare." Jurnal Perangkat Lunak Statistik 43.12 (2011): 1-10 ( tautan ).

  • Untuk mendapatkan metode multi-negara alias ensemble yang menarik, lihat posting blog ini oleh Bob Carpenter di blog Gelman, dan komentar saya merujuk pada posting CV ini.
Lacerbi
sumber
Tautan kedua Anda sudah mati - dapatkah Anda mengubahnya menjadi yang berfungsi?
Tim
Anda mungkin ingin melihat makalah Desember 2017 ini: Ryan Turner & Brady Neal, Seberapa baik sampler Anda benar-benar berfungsi? Tampaknya memberikan solusi yang rapi untuk masalah ini muncul dengan tolok ukur yang baik untuk algoritma MCMC.
Carl
2

Saya setuju dengan penilaian Anda bahwa tidak ada tolok ukur komprehensif yang ditetapkan untuk metode MCMC. Ini karena setiap sampler MCMC memiliki pro dan kontra, dan sangat spesifik masalah.

Dalam pengaturan pemodelan Bayesian yang khas, Anda dapat menjalankan sampler yang sama dengan laju pencampuran yang beragam saat data berbeda. Saya akan pergi sejauh mengatakan bahwa jika di masa depan ada keluar studi patokan yang komprehensif dari berbagai sampler MCMC, saya tidak akan percaya hasil akan berlaku di luar contoh yang ditunjukkan.

Mengenai penggunaan ESS untuk menilai kualitas pengambilan sampel, perlu disebutkan bahwa ESS tergantung pada jumlah yang diperkirakan dari sampel. Jika Anda ingin menemukan rata-rata sampel, ESS yang diperoleh akan berbeda dari jika Anda ingin memperkirakan kuantil ke-25. Karena itu, jika jumlah bunga tetap, ESS adalah cara yang masuk akal untuk membandingkan sampler. Mungkin ide yang lebih baik adalah ESS per unit waktu.

Satu kekurangan dengan ESS adalah bahwa untuk masalah estimasi multivariat, ESS mengembalikan ukuran sampel yang efektif untuk setiap komponen secara terpisah, mengabaikan semua korelasi silang dalam proses estimasi. Dalam makalah ini baru-baru ini, ESS multivariat telah diusulkan, dan diimplementasikan dalam Rpaket mcmcsemelalui fungsi multiESS. Tidak jelas bagaimana metode ini dibandingkan dengan ESS codapaket, tetapi pada awalnya tampaknya lebih masuk akal daripada metode ESS univariat.

Greenparker
sumber
2
(+1) Terima kasih atas jawabannya. Saya setuju dengan beberapa poin Anda, tetapi saya masih berpikir bahwa beberapa informasi dapat diperoleh dari tolok ukur tersebut. Bagaimana seseorang menggunakan hasil dari tolok ukur semacam itu untuk memandu pilihan di masa depan tergantung pada mereka - tetapi beberapa bukti lebih baik daripada tidak ada bukti. Poin bagus tentang ESS. Yang saya maksud dengan multi-negara multi-state (atau multi-chain, jika Anda mau), bukan hanya multivariat - lihat kutipan dari buku MacKay dalam pertanyaan awal saya.
lacerbi
2
Secara umum, beberapa sampler diketahui berkinerja buruk untuk distribusi multimoda (MH, Gibbs), dan beberapa buruk untuk dukungan non-cembung (Hamiltonian MC). Di sisi lain, untuk masalah dimensi tinggi Hamiltonian MC berfungsi dengan baik dan untuk distribusi multimodal, simulasi tempering dll adalah baik. Untuk melakukan pembandingan apa pun , seseorang mungkin perlu mendefinisikan kelas-kelas luas dari distribusi target (sub-eksponensial, cekung log, dll.) Agar hasilnya dapat diinterpretasikan secara umum.
Greenparker
1
Ya, itulah inti dari membangun tolok ukur untuk kelas algoritma. Lihat misalnya ini untuk optimasi global. Jelas patokan untuk MCMC tidak bisa hanya meminjam yang ada untuk optimasi; ada kebutuhan untuk fokus pada fitur kepadatan target yang spesifik, umum dan menarik untuk masalah MCMC, seperti yang Anda sebutkan.
lacerbi