Diskrepanz zwischen Binomial und Beta in R?
Ich erhalte ein Ergebnis, das ich bei Verwendung der Beta-Distribution nicht erklären kann.
Ich habe ein Ergebnis, das aus einer Binomialverteilung stammt: 2 Erfolge in 6 Versuchen. Ich würde denken, der Maximum-Likelihood-Schätzer für p wäre 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
Wenn ich jedoch die Beta-Distribution verwende, liegt der höchste Punkt bei 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
Ich kann mich nicht darum kümmern ... interpretiere ich die Ergebnisse falsch oder rufe eine dieser Funktionen falsch auf? Vielen Dank :)
Antworten
Warum würden Sie ähnliche Ergebnisse erwarten? Dies sind verschiedene Verteilungen, mit denen völlig unterschiedliche Dinge modelliert werden. Erstens ist eine diskrete Verteilung, zweitens ist eine kontinuierliche Verteilung. Wenn Sie Ihre Frage beantworten, suchen Sie nach dem Verteilungsmodus. Modus der Beta-Verteilung ist$\frac{\alpha - 1}{\alpha + \beta - 2}$, so genau $0.25$ im Falle der von Ihnen angegebenen Werte.
In Bezug auf den Kommentar haben Sie im Binomialfall allein die Wahrscheinlichkeit maximiert. Wenn Sie das Bayes'sche Beta-Binomial- Modell verwenden und es maximieren, berücksichtigen Sie auch den Prior
$$ \hat p = \operatorname{arg\,max} \; \underbrace{p(X|\theta)}_\text{likelihood}\,\underbrace{p(\theta)}_\text{prior} $$
Die Wahl des Prior würde sich also auf das Ergebnis auswirken. Beim Benutzen$\alpha=\beta=0$im Prior ist dies ein falscher Haldane-Prior , der die gesamte Wahrscheinlichkeitsmasse über den Werten hat$0$ und $1$(siehe das Bild unten von dieser Seite ausgeliehen ).
Insbesondere wenn die Stichprobengröße klein ist , würde der Prior das Ergebnis beeinflussen. In diesem Fall wird die Wahrscheinlichkeitsmasse in Richtung der Extreme gezogen. Um ein mit MLE vergleichbares Ergebnis zu erzielen, können Sie vor mit Uniform wählen$\alpha=\beta=1$.
Sie verwenden den falschen Parameter für die Beta-Distribution. Wenn Sie ein Binomial-Experiment mit haben$n$ Erfolge und $m$ Ausfälle müssen Sie die verwenden $beta(n+1,m+1)$Verteilung. Der Grund ist, dass Sie grundsätzlich eine verwenden$beta(1,1)$ (einheitlich) vorher, dass Sie zur Distribution hinzufügen müssen (wenn Sie a verwenden $beta(a,b)$ vorher stattdessen bekommst du $beta(n+a,m+b)$).
Also, wenn Sie das versuchen
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),]
Sie erhalten das richtige Ergebnis, dh $ 0,33 $ .
EDIT (mehr Mathe):
Die Wahrscheinlichkeit für $ n $ Erfolge und $ m $ Misserfolge ist also (bis zu einer multiplikativen Konstante):
$ L (\ theta | \, m, n) \ sim \ theta ^ n (1- \ theta) ^ m $
Die Beta-Dichte wird jedoch als angegeben
$ f_ {a, b} (\ theta) \ sim \ theta ^ {(a-1)} (1- \ theta) ^ {(b-1)} $ .
Wenn Sie also mit $ a-1 = n $ und $ b-1 = m $ übereinstimmen, erhalten Sie $ a = n + 1 $ und $ b = m + 1 $ , wie Sie sollten.