Saya mencoba menghitung distribusi posterior ini:
Masalahnya adalah bahwa pembilang, yang merupakan produk dari sekelompok probabilitas terlalu kecil. ( saya besar, sekitar 1500).
Oleh karena itu, nilai-nilai posterior untuk semua semua bisa dihitung menjadi 0 (saya melakukan perhitungan dalam R).
Untuk memperjelas, masing-masing memiliki sendiri , bersama-sama ini 's membuat vektor dari elemen untuk ' s. Setiap memiliki vektor elemen .
EDIT: Menambahkan contoh reproduksi (untuk pembilang)
p <- sample(seq(0,1,by=0.01), 1500, replace=T)
y <- sample(c(0,1), 1500, replace=T)
dbern(y, p) # 1500-element vector, each element is < 1
prod(dbern(y, p)) # produce 0
exp(sum(log(dbern(y, p)))) # produce 0 since the sum is very negative
r
likelihood
posterior
Heisenberg
sumber
sumber
Jawaban:
Ini adalah masalah umum dengan perhitungan kemungkinan untuk semua model; jenis hal yang biasa dilakukan adalah mengerjakan log, dan menggunakan faktor penskalaan umum yang membawa nilai ke kisaran yang lebih masuk akal.
Dalam hal ini, saya sarankan:
Langkah 1: Pilih yang "khas"θ , θ0 . Bagi rumus untuk pembilang dan penyebut istilah umum dengan pembilang untukθ=θ0 , untuk mendapatkan sesuatu yang lebih kecil kemungkinannya untuk mengalir.
Langkah 2: bekerja pada skala log, ini berarti bahwa pembilangnya adalah exp dari jumlah perbedaan log, dan penyebutnya adalah jumlah dari exp dari jumlah perbedaan log.
NB: Jika salah satu dari p Anda adalah 0 atau 1, tarik keluar secara terpisah dan jangan mengambil log dari persyaratan itu; mereka mudah dievaluasi apa adanya!
[Dalam istilah yang lebih umum, penskalaan dan pengerjaan skala log ini dapat dilihat sebagai mengambil serangkaian kemungkinan log,li dan melakukan ini: log(∑ieli)=c+log(∑ieli−c) . Pilihan yang jelas untukc adalah untuk membuat istilah 0 terbesar, yang meninggalkan kita dengan: log(∑ieli)=maxi(li)+log(∑ieli−maxi(li)) . Perhatikan bahwa ketika Anda memiliki pembilang dan penyebut Anda dapat menggunakan sama untuk keduanya, yang kemudian akan dibatalkan. Di atas, itu sesuai dengan mengambil dengan kemungkinan log tertinggi.]c θ0
Istilah biasa dalam pembilang cenderung lebih moderat dalam ukuran, dan dalam banyak situasi pembilang dan penyebut keduanya relatif masuk akal.
Jika ada berbagai ukuran dalam penyebut, tambahkan yang lebih kecil sebelum menambahkan yang lebih besar.
Jika hanya beberapa istilah yang mendominasi, Anda harus memfokuskan perhatian Anda untuk membuat perhitungan bagi yang relatif akurat.
sumber
Coba manfaatkan properti menggunakan logaritma dan penjumlahan daripada mengambil produk angka desimal. Setelah penjumlahan, gunakan saja anti-log untuk mengembalikannya ke bentuk alami Anda. Saya pikir sesuatu seperti ini harus melakukan trik
sumber