Perbedaan antara binomial dan beta di R?
Saya mendapatkan hasil yang tidak dapat saya jelaskan saat menggunakan distribusi beta.
Saya mendapatkan hasil yang berasal dari distribusi binomial: 2 keberhasilan dalam 6 percobaan. Saya akan berpikir penduga kemungkinan maksimum untuk p adalah 2/6 = 0,33?
dbinom(0:6, 6, 0.33)
[1] 0.090458382 0.267324771 0.329168562 0.216170399 0.079853991 0.015732428 0.001291468
Tapi, ketika saya menggunakan distribusi beta, poin tertinggi yang saya dapatkan adalah 0,25:
beta_df <- data.frame(PROB = seq(0, 1, 0.01), HEIGHT = dbeta(seq(0, 1, 0.01), 2, 4))
beta_df[which.max(beta_df$HEIGHT),] beta_df[which.max(beta_df$HEIGHT),]
PROB HEIGHT
26 0.25 2.109375
Saya tidak bisa memahami hal ini ... apakah saya salah menafsirkan hasilnya, atau salah menyebut salah satu fungsi ini? Terima kasih :)
Jawaban
Mengapa Anda berharap melihat hasil yang serupa? Itu adalah distribusi yang berbeda, digunakan untuk memodelkan hal-hal yang sama sekali berbeda. Pertama adalah distribusi diskrit, kedua adalah distribusi kontinu. Menjawab pertanyaan Anda, Anda sedang mencari mode distribusi. Cara distribusi beta adalah$\frac{\alpha - 1}{\alpha + \beta - 2}$, begitu tepatnya $0.25$ dalam hal nilai yang Anda berikan.
Mengenai komentar, dalam kasus binomial Anda memaksimalkan kemungkinannya sendiri. Saat menggunakan model beta-binomial Bayesian , saat memaksimalkannya, Anda juga mempertimbangkan prior
$$ \hat p = \operatorname{arg\,max} \; \underbrace{p(X|\theta)}_\text{likelihood}\,\underbrace{p(\theta)}_\text{prior} $$
jadi pilihan prior akan mempengaruhi hasil. Ketika menggunakan$\alpha=\beta=0$di prior, ini adalah prior Haldane tidak tepat yang memiliki semua massa probabilitas di atas nilai$0$ dan $1$(lihat gambar di bawah ini dipinjam dari situs ini ).
Apalagi jika ukuran sampelnya kecil , prior akan berdampak pada hasil. Dalam kasus ini, massa probabilitas akan ditarik ke arah ekstrem. Untuk mendapatkan hasil yang sebanding dengan MLE, Anda dapat memilih Uniform terlebih dahulu$\alpha=\beta=1$.
Anda menggunakan parameter yang salah untuk distribusi beta. Jika Anda memiliki eksperimen binomial dengan$n$ keberhasilan dan $m$ kegagalan, Anda harus menggunakan $beta(n+1,m+1)$distribusi. Alasannya adalah, pada dasarnya Anda menggunakan file$beta(1,1)$ (seragam) sebelumnya, yang harus Anda tambahkan ke distribusi (jika Anda menggunakan file $beta(a,b)$ sebelumnya, bukan Anda dapatkan $beta(n+a,m+b)$).
Jadi, jika Anda mencobanya
beta_df <- data.frame(PROB = seq(0, 1, 0.01), HEIGHT = dbeta(seq(0, 1, 0.01), 3, 5))
beta_df[which.max(beta_df$HEIGHT),]
Anda mendapatkan hasil yang benar, yaitu $ 0,33 $ .
EDIT (lebih banyak matematika):
Jadi kemungkinan $ n $ keberhasilan dan $ m $ kegagalan adalah (hingga konstanta perkalian):
$ L (\ theta | \, m, n) \ sim \ theta ^ n (1- \ theta) ^ m $
Tapi kepadatan beta diberikan sebagai
$ f_ {a, b} (\ theta) \ sim \ theta ^ {(a-1)} (1- \ theta) ^ {(b-1)} $ .
Jadi jika Anda mencocokkan $ a-1 = n $ dan $ b-1 = m $ Anda mendapatkan $ a = n + 1 $ dan $ b = m + 1 $ , sebagaimana mestinya.