Ketika mendekati posterior menggunakan MCMC, mengapa kita tidak menyimpan probabilitas posterior tetapi menggunakan frekuensi nilai parameter setelahnya?

8

Saat ini saya memperkirakan parameter model yang ditentukan oleh beberapa persamaan diferensial biasa (ODE). Saya mencoba ini dengan pendekatan bayesian dengan memperkirakan distribusi posterior parameter yang diberikan beberapa data menggunakan Markov Chain Monte Carlo (MCMC).

MCMC sampler menghasilkan rantai nilai parameter di mana ia menggunakan probabilitas posterior (tidak dinormalisasi) dari nilai parameter tertentu untuk memutuskan (secara stokastik) apakah akan menambah nilai itu ke rantai atau menambahkan nilai sebelumnya lagi. Tetapi, tampaknya menjadi praktik bahwa probabilitas posterior aktual tidak perlu diselamatkan, melainkan merupakan histogram n-dimensi dari nilai parameter yang dihasilkan dan statistik ringkasan seperti daerah kepadatan tertinggi (HDR) dari parameter distribusi posterior dihitung dari histogram ini. Setidaknya itulah yang saya pikir saya pelajari dari buku tutorial Kruschkes tentang inferensi bayesian .

Pertanyaan saya: Bukankah lebih mudah untuk menyimpan probabilitas posterior dari nilai parameter sampel bersama dengan ini dan memperkirakan distribusi posterior dari nilai-nilai ini dan bukan dari frekuensi nilai parameter dalam rantai MCMC? Masalah fase burn-in tidak akan muncul karena sampler pada awalnya masih akan sampel daerah probabilitas rendah lebih sering daripada yang "layak" dengan probabilitas posterior mereka tetapi tidak akan lagi masalah memberikan nilai probabilitas yang terlalu tinggi untuk ini.

akraf
sumber
Jika Anda dapat menghitung probabilitas posterior tanpa menggunakan MCMC (jadi untuk menyimpannya), lalu mengapa Anda ingin menggunakannya?
Tim
Karena saya butuh MCMC untuk mendapatkan efisiensi. Jika saya hanya meletakkan kotak di atas ruang parameter dan menghitung probabilitas posterior yang tidak dinormalisasi untuk semua nilai parameter yang dihasilkan, saya akan membuang banyak waktu di daerah probabilitas rendah. Mampu mendapatkan nilai probabilitas posterior yang tidak dinormalisasi untuk nilai parameter yang diberikan adalah prasyarat untuk menggunakan MCMC. Saya tidak perlu bisa menyelesaikan posterior secara analitis. Jadi saya bisa mengambil semua nilai probabilitas yang disimpan, membaginya dengan jumlah mereka dan hasilnya akan menjadi perkiraan posterior saya.
akraf
1
@Tim: maksudnya adalah bahwa untuk menghitung probabilitas penerimaan dari langkah yang diusulkan, Anda mengevaluasi posterior pada kondisi saat ini dan pada status yang diusulkan. Jika Anda menjaga nilai-nilai posterior ini untuk setiap negara tercapai maka OP berpikir Anda dapat memperoleh seluruh posterior tetapi itu tidak terjadi, setidaknya saya belum pernah melihat teorema yang membuktikannya. Dengan melihat distribusi negara mencapai teori markov menunjukkan bahwa Anda mendapatkan sampel dari posterior 'pada akhirnya'
@fpl ya, saya mengerti itu dan saya pikir kita mengatakan hal yang sama tetapi dengan kata-kata yang berbeda :)
Tim

Jawaban:

5

Ini adalah pertanyaan yang menarik, dengan berbagai masalah:

  1. Algoritma MCMC tidak selalu mendaur ulang perhitungan kepadatan posterior pada semua nilai yang diusulkan, tetapi beberapa teknik reduksi varians seperti Rao-Blackwellisation lakukan. Misalnya, dalam makalah Biometrika 1996 dengan George Casella, kami mengusulkan untuk menggunakan semua nilai simulasi, , diterima atau tidak, dengan memperkenalkan bobot yang mengubah rata-rata menjadi penaksir yang hampir tidak bias. ( Hampir karena normalisasi dengan jumlah bobot.)θi (i=1,,T)ωi
    i=1Tωih(θi)/i=1Tωi
  2. MCMC sering digunakan pada masalah dimensi (parameter) besar. Mengusulkan pendekatan ke seluruh posterior berdasarkan pada nilai kerapatan yang diamati pada beberapa nilai parameter merupakan tantangan, termasuk masalah konstanta normalisasi yang disebutkan dalam jawaban dan komentar Tim. Orang dapat membayangkan suatu pendekatan yang merupakan campuran dari estimasi kernel non-parametrik (seperti dalam krigging ) dan regresi, tetapi para ahli yang saya diskusikan dengan tentang solusi ini [beberapa tahun yang lalu] cukup skeptis. Masalahnya adalah bahwa estimator yang dihasilkan tetap non-parametrik dan karenanya "menikmati" kecepatan konvergensi non-parametrik yang lebih lambat daripada kecepatan konvergensi Monte Carlo, semakin buruk dimensi semakin besar.
  3. Potensi penggunaan lain dari ketersediaan nilai posterior adalah untuk menimbang setiap nilai yang disimulasikan oleh posterior terkait, seperti dalam Sayangnya, ini menciptakan bias karena nilai-nilai yang disimulasikan sudah disimulasikan dari posterior: Bahkan tanpa masalah normalisasi, simulasi tersebut karenanya harus menargetkan dan menggunakan bobot yang proporsional denganπ(θ|D)
    1Tt=1Th(θt)π(θt|D)
    E[h(θt)π(θt|D)]=h(θ)h(θt)π(θt|D)2dθ
    π(θ|D)1/2π(θ|D)1/2tapi saya tidak tahu hasil yang mendukung perubahan target ini. Seperti yang Anda sebutkan di komentar, ini terkait dengan tempering karena semua simulasi yang dihasilkan dalam siklus tempering yang disimulasikan dapat didaur ulang untuk tujuan Monte Carlo (integrasi) dengan cara ini. Masalah numerik, bagaimanapun, adalah untuk menangani beberapa fungsi penting dari bentuk dengan konstanta normalisasi yang hilang.π(θ)1/T
Xi'an
sumber
2
Terima kasih atas komentar Anda yang luas, izinkan saya beberapa pertanyaan klarifikasi! Saya tidak mengerti apa yang Anda maksud dengan "daur ulang" di poin 1 Anda dan bagaimana hal itu mencegah penggunaan nilai-nilai posterior yang tidak dinormalisasi. Untuk poin 2: Jika "aproksimasi ke seluruh posterior berdasarkan pada nilai kerapatan yang diamati pada beberapa nilai parameter cukup sulit", mengapa kurang begitu jika hanya menggunakan frekuensi sampel yang dihasilkan dari proses MCMC?
akraf
1
Ke poin 3: Penargetan π(θ|D)1/T dengan T>1 adalah cara yang umum untuk "melunakkan" posterior, yaitu "meratakan puncaknya" untuk memfasilitasi pencampuran rantai MCMC, di mana perataan lebih kuat, semakin tinggi Tadalah. Mungkinkah pendekatan yang Anda sarankan menjadi cara untuk memulihkan distribusi asli yang tidak ditempaπ(θ|D), diberikan sampel dari distribusi tempered π(θ|D)1/T?
akraf
2

Seperti yang Anda perhatikan dengan benar, probabilitas yang kita hadapi tidak dinormalisasi . Pada dasarnya, kami menggunakan MCMC untuk menghitung faktor normalisasi dalam teorema Bayes. Kami tidak dapat menggunakan probabilitas karena mereka tidak dinormalisasi. Prosedur yang Anda sarankan: untuk menyimpan probabilitas yang tidak dinormalkan dan kemudian membaginya dengan jumlah mereka salah.

Izinkan saya menunjukkannya kepada Anda sebagai contoh. Bayangkan Anda menggunakan Monte Carlo untuk menggambar sepuluh nilai dari distribusi Bernoulli yang ditentukan olehp=0.9, mereka adalah sebagai berikut:

1 0 1 1 1 1 1 1 1 1

Anda juga memiliki probabilitas yang sesuai:

0.9 0.1 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9

Dalam hal ini probabilitas dinormalisasi, tetapi membaginya dengan jumlah mereka (bahwa dengan aksioma probabilitas sama dengan kesatuan) tidak boleh mengubah apa pun. Unfortunatelly, menggunakan prosedur Anda itu tidak mengubah hasil untuk:

> f/sum(f)
 [1] 0.10975610 0.01219512 0.10975610 0.10975610 0.10975610 0.10975610 0.10975610 0.10975610 0.10975610 0.10975610

Mengapa demikian? Jawabannya sederhana, dalam sampel Anda setiap "probabilitas" yang disimpan fmuncul dengan probabilitas f, jadi Anda menimbang probabilitasnya sendiri!

Tim
sumber