Mengapa kita perlu melacak jejak untuk hasil MCMC

12

Saya membaca makalah penelitian menggunakan metode MCMC dan saya melihat sebagian besar dari mereka menyediakan plot jejak. Mengapa kita membutuhkan jejak jejak di Monte Carlo Markov Chain? Apa yang ditunjukkan oleh jejak jejak parameter?

Benzamin
sumber

Jawaban:

17

Anda membuat plot jejak parameter untuk memastikan bahwa distribusi apriori Anda dikalibrasi dengan baik yang ditunjukkan oleh parameter Anda memiliki perubahan status yang cukup saat algoritma MCMC berjalan.

Contoh ekstrem adalah bahwa Anda menetapkan varians distribusi apriori Anda pada 0. Kemudian estimasi parameter posterior tidak akan pernah berubah. Algoritme Anda akan mengatakan bahwa Anda memiliki perkiraan parameter terbaik, tetapi tidak memeriksa jumlah parameter yang cukup untuk menentukan apakah ini benar-benar paling cocok. Jika Anda menetapkan varians distribusi apriori terlalu tinggi, Anda mendapatkan masalah yang sama. Ini karena parameter baru cenderung tidak terkait dengan data Anda - sehingga kemungkinan log yang dihitung dengan parameter baru Anda tidak akan lebih baik daripada kemungkinan log menggunakan parameter lama. (Contohnya adalah jika parameter "true" Anda adalah 0,5 dan perkiraan awal Anda adalah 2, tetapi Anda memilih dari distribusi normal dengan rata-rata 2 dan varian 10.000 maka Anda tidak mungkin mendapatkan parameter yang lebih dekat ke 1 .

Anda perlu memilih varian apriori yang memungkinkan status parameter Anda untuk berubah cukup sehingga Anda tidak terjebak pada minimum dan maksimum lokal dalam distribusi kemungkinan log, tetapi cukup baik sehingga Anda mendapatkan estimasi parameter yang masuk akal. Sebagian besar literatur menyarankan Anda mendapatkan parameter untuk mengubah status 40-60% dari waktu.

Salah satu alasan lain untuk plot jejak adalah burn in. Biasanya periode burn dalam jelas dalam plot (misalnya, jika parameter sebenarnya adalah 1,5 dan estimasi awal Anda adalah 4 maka Anda akan melihat estimasi parameter bergerak cepat dari 4 ke 1,5 dan kemudian "memantul" sekitar 1,5). Biasanya, Anda hanya mengecualikan n iterasi pertama di mana n cukup besar sehingga Anda yakin telah menghapus burn (katakanlah 1000), tetapi jika perhitungannya memakan waktu atau jika estimasi parameter Anda membutuhkan waktu lebih lama untuk konvergen daripada n Anda memungkinkan maka Anda mungkin ingin menghilangkan lebih atau kurang pengamatan untuk memperhitungkan burn in. Anda dapat memeriksa plot Anda untuk melihat di mana burn in period berakhir untuk memastikan bahwa burn in tidak mempengaruhi hasil Anda.

Perhatikan bahwa saya telah berbicara dalam konteks estimasi titik parameter. Jika Anda memperkirakan varians parameter maka memastikan bahwa Anda memiliki perubahan status yang sesuai bahkan lebih penting.

Eric
sumber
5
+1 Tapi sisi lain dari itu adalah bahwa kita tidak sepenuhnya mempercayai diagnostik konvergensi formal dan ingin melihat sesuatu sebelum kita mengklaim itu terkonvergensi. Apakah ini sepenuhnya rasional adalah pertanyaan lain ...
conjugateprior
1
Maaf menggali posting lama ini. Tapi bukankah nilai sebelumnya (dihasilkan dari distribusi sebelumnya) seharusnya tidak relevan selama ada jumlah iterasi yang cukup?
mscnvrsy
@ mscnvrsy: Anda dapat menempatkan prior non-informatif seperti prior atau seragam Jeffry sebelumnya jika Anda ingin memberikan lebih sedikit informasi kepada prior Anda.
Benzamin
3
Saya benar-benar tidak setuju dengan anggapan bahwa MCMC trace plot dengan cara apa pun terkait dengan kalibrasi distribusi sebelumnya. Algoritma MCMC bertujuan untuk distribusi posterior yang diberikan, tidak relevan dengan pilihan sebelumnya, dan dalam kondisi yang tepat menciptakan rantai Markov yang menyatu dengan distribusi stasioner ini. Melihat plot jejak hanya berguna dalam menilai konvergensi atau ketiadaan rantai Markov.
Xi'an