Bagaimana program seperti BUGS / JAGS secara otomatis menentukan distribusi bersyarat untuk sampling Gibbs?


11

Sepertinya persyaratan penuh seringkali cukup sulit diperoleh, namun program seperti JAGS dan BUGS mendapatkannya secara otomatis. Dapatkah seseorang menjelaskan bagaimana mereka secara algoritmik menghasilkan persyaratan penuh untuk spesifikasi model yang sewenang-wenang?


Saya tidak ingat persis, tetapi saya tahu bahwa mereka sering membuat banyak asumsi yang sangat kuat yang seringkali tidak benar.

3
Tentang komentar Anda, asumsi seperti apa yang Anda bicarakan?
Stéphane Laurent

Jawaban:


3

Membaca melalui komentar pada jawaban yang lain, saya percaya jawaban yang benar untuk pertanyaan yang dimaksudkan untuk ditanyakan adalah "mereka tidak", secara umum. Seperti yang telah disebutkan, mereka membangun DAG dan melihat selimut Markov dan kemudian (secara kasar) melakukan hal berikut.

  1. Jika selimut Markov di sekitar node sesuai dengan kondisi penuh yang ada dalam tabel pencarian (katakanlah, karena konjugat) sampel menggunakan teknik dalam tabel pencarian.
  2. Atau, periksa adalah jika kepadatan bersyarat penuh yang tidak dinormalisasi - yang sepele untuk dihitung - adalah cekung-log. Jika ya, gunakan pengambilan sampel penolakan adaptif.
  3. Selain itu, sampel menggunakan Metropolis-dalam-Gibbs untuk sampel dari distribusi sekitar. Meskipun ini bukan sampel yang tepat, dapat ditunjukkan bahwa algoritma ini masih meninggalkan invarian posterior.

Ini bukan apa yang sedang dilakukan; misalnya, JAGS akan menggunakan beberapa trik lain untuk membuat pembaruan blokir. Tetapi ini harus memberikan gambaran tentang apa yang mereka lakukan.


Saya tidak tahu dokumentasi BUGS dan JAGS dengan baik, di mana itu dilaporkan, BTW?
altroware

@altroware Saya juga tidak tahu dokumentasinya, maaf. Saya tahu rjagsmemiliki fungsi yang mencantumkan sampel yang digunakannya, seperti list_samplerstetapi Anda dapat memeriksa dokumentasi yang biasa digunakan Runtuk menemukannya.
pria

0

π()θiθiθiθi

θi


Tentu secara konseptual sederhana, tetapi dalam praktiknya tidak jelas bagi saya bahwa ekspresi bentuk tertutup untuk persyaratan penuh akan sepele untuk diturunkan secara algoritmik. Pada setiap lapisan dalam DAG, Anda dapat memiliki segala macam transformasi - interaksi multiplikatif, nilai absolut, log, transformasi akar kuadrat dll. Ada juga hubungan non-konjugat.
user4733

Tidak jelas bagi saya bagaimana seseorang secara otomatis dapat secara algoritmik mengintegrasikan ekspresi untuk distribusi bersyarat penuh. Mungkin program-program ini menghindari keharusan untuk mendapatkan ekspresi bentuk tertutup untuk persyaratan penuh, tapi saya mencoba untuk mendapatkan pemahaman yang lebih baik tentang bagaimana ini diterapkan dalam praktik.
user4733

Konstanta normalisasi tidak menjadi masalah, maka seseorang selalu memiliki ekspresi bentuk tertutup karena kita hanya memperbanyak ekspresi bentuk tertutup. Tidak ? (Saya lelah)
Stéphane Laurent

Praktik itu tampaknya cukup sulit bagi saya juga bagi BUGS untuk menentukan distribusi bersyarat. Mungkin memberikan contoh (non-sepele) dari proses DAG akan membantu ...
Glen

@ Glen Jika Anda memberikan contoh yang memberi Anda kesulitan, saya akan melakukan inspeksi.
Cyan
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.