Saya mencoba untuk menyatakan distribusi sebelumnya untuk meta-analisis Bayesian.
Saya memiliki informasi berikut tentang variabel acak:
- Dua pengamatan: 3.0, 3.6
- seorang ilmuwan yang mempelajari variabel telah mengatakan kepada saya bahwa , dan nilai-nilai setinggi 6 memiliki probabilitas nol.
Saya telah menggunakan pendekatan berikut untuk optimasi (mode log-N = :
prior <- function(parms, x, alpha) {
a <- abs(plnorm(x[1], parms[1], parms[2]) - (alpha/2))
b <- abs(plnorm(x[2], parms[1], parms[2]) - (1-alpha/2))
mode <- exp(parms[1] - parms[2]^2)
c <- abs(mode-3.3)
return(a + b + c)
}
v = nlm(prior,c(log(3.3),0.14),alpha=0.05,x=c(2.5,7.5))
x <- seq(1,10,0.1)
plot(x, dlnorm(x, v$estimate[1], v$estimate[2]))
abline(v=c(2.5,7.5), lty=2) #95%CI
Pada gambar, Anda dapat melihat distribusi yang kembali ini, tetapi saya ingin menemukan sesuatu yang lebih seperti garis merah yang saya buat.
Ini memberikan distribusi bentuk yang sama menggunakan lognormal, gamma, atau normal, dan menghasilkan distribusi dengan dan , yaitu:
plnorm(c(5,6), v$estimate[1],v$estimate[2])
Adakah yang bisa menyarankan alternatif? Saya lebih suka tetap dengan distribusi tunggal daripada campuran.
Terima kasih!
r
distributions
probability
bayesian
optimization
David LeBauer
sumber
sumber
Jawaban:
Jika, dengan jawaban atas komentar saya di atas, Anda ingin membatasi rentang distribusi, mengapa tidak pas dengan distribusi Beta di mana Anda mengubah skala ke interval unit? Dengan kata lain, jika Anda tahu bahwa parameter bunga harus jatuh antara , maka mengapa tidak mendefinisikan . Di mana saya pertama kali memusatkan interval pada nol, dibagi dengan lebar sehingga Y akan memiliki kisaran 1, dan kemudian menambahkan kembali sehingga kisaran Y adalah . (Anda dapat memikirkannya dengan cara baik: langsung dari atau dari[2,8] Y=X−56+12=X−26 12 [0,1] [2,8]→[0,1] [2,8]→[−12,12]→[0,1] , tapi saya pikir yang terakhir mungkin lebih mudah pada awalnya).
Lalu, dengan dua titik data, Anda bisa memasang beta posterior dengan beta seragam sebelumnya?
sumber
Bagaimana dengan distribusi Kumaraswamy , yang memiliki pdf berikut:
sumber
Karena distribusi log-normal memiliki dua parameter, Anda tidak dapat dengan tepat memasukkannya ke tiga kendala yang tidak cocok secara alami. Dengan kuantil ekstrim 2,5 dan 7,5, mode ini ~ 4, dan tidak banyak yang dapat Anda lakukan. Karena skala kesalahan untuk
a
danb
jauh lebih kecil daripada untukc
, salah satunya akan sangat diabaikan selama optimasi.Untuk kesesuaian yang lebih baik, Anda dapat memilih distribusi tiga parameter, misalnya distribusi gamma umum (diterapkan dalam
VGAM
paket), atau menambahkan parameter shift ke distribusi lognormal (atau gamma, ...).Sebagai catatan terakhir, karena distribusi yang Anda cari jelas tidak simetris, rata-rata dari dua pengamatan yang diberikan bukan nilai yang tepat untuk mode. Saya akan memaksimalkan jumlah kepadatan pada 3,0 dan 3,6 sambil mempertahankan kuantil ekstrem pada 2,5 dan 7,5 - ini dimungkinkan jika Anda memiliki tiga parameter.
sumber
Anda juga dapat mencoba distribusi segitiga. Agar sesuai dengan ini, Anda pada dasarnya menentukan batas bawah (ini akan menjadi X = 2), batas atas (ini akan menjadi X = 8), dan nilai "kemungkinan besar". Halaman wikepedia http://en.wikipedia.org/wiki/Triangular_distribution memiliki informasi lebih lanjut tentang distribusi ini. Jika tidak ada kepercayaan pada nilai "kemungkinan besar" (seperti yang terlihat, sebelum mengamati data apa pun), mungkin ide yang baik untuk menempatkan distribusi sebelumnya yang tidak informatif di atasnya, dan kemudian menggunakan kedua data tersebut. poin untuk memperkirakan nilai ini. Satu yang bagus adalah jeffrey sebelumnya, yang untuk masalah ini adalah p (c) = 1 / (pi * sqrt ((c-2) * (c-8))), di mana "c" adalah "nilai yang paling mungkin" "(konsisten dengan notasi wikipedia).
Mengingat ini sebelumnya, Anda dapat menghitung distribusi posterior c secara analitik, atau melalui simulasi. Bentuk analitik dari kemungkinan tidak terlalu bagus, jadi simulasi tampaknya lebih menarik. Contoh ini sangat cocok untuk sampel penolakan (lihat halaman wiki untuk deskripsi umum sampel penolakan), karena kemungkinan dimaksimalkan adalah 1/3 ^ n terlepas dari nilai c, yang menyediakan "batas atas". Jadi, Anda menghasilkan "kandidat" dari jeffrey sebelumnya (sebut saja c_i), dan kemudian evaluasi kemungkinan pada kandidat L ini (x1, .., xn | c_i), dan bagi dengan kemungkinan dimaksimalkan, untuk memberi (3 ^ n) ) * L (x1, .., xn | c_i). Anda kemudian menghasilkan variabel acak U (0,1), dan jika u kurang dari (3 ^ n) * L (x1, .., xn | c_i), maka terima c_i sebagai nilai sampel posterior, jika tidak buang c_i dan mulai lagi. Ulangi proses ini sampai Anda memiliki cukup sampel yang diterima (100, 500, 1.000, atau lebih tergantung pada seberapa akurat yang Anda inginkan). Kemudian, ambil rata-rata sampel dari fungsi apa pun yang Anda minati (kemungkinan pengamatan baru adalah kandidat yang jelas untuk aplikasi Anda).
Alternatif untuk menerima-menolak adalah dengan menggunakan nilai kemungkinan sebagai bobot (dan tidak menghasilkan u), dan kemudian melanjutkan dengan mengambil rata-rata tertimbang menggunakan semua kandidat, daripada rata-rata tidak berbobot dengan kandidat yang diterima
sumber