Différence entre binomial et beta dans R?
J'obtiens un résultat que je ne peux pas expliquer en utilisant la distribution bêta.
J'ai un résultat issu d'une distribution binomiale: 2 succès en 6 essais. Je pense que l'estimateur du maximum de vraisemblance pour p serait 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
Mais, lorsque j'utilise la distribution bêta, le point le plus élevé que j'obtiens est à 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
Je ne peux pas comprendre cela ... est-ce que j'interprète mal les résultats ou appelle-t-on l'une de ces fonctions de manière incorrecte? Merci :)
Réponses
Pourquoi vous attendez-vous à voir des résultats similaires? Ce sont des distributions différentes, utilisées pour modéliser des choses complètement différentes. Le premier est une distribution discrète, le second est une distribution continue. Répondant à votre question, vous recherchez le mode des distributions. Le mode de distribution bêta est$\frac{\alpha - 1}{\alpha + \beta - 2}$, donc exactement $0.25$ dans le cas des valeurs que vous avez fournies.
En ce qui concerne le commentaire, dans le cas binomial, vous maximisiez la probabilité seule. Lorsque vous utilisez le modèle bêta-binomial bayésien , lorsque vous le maximisez, vous prenez également en compte le
$$ \hat p = \operatorname{arg\,max} \; \underbrace{p(X|\theta)}_\text{likelihood}\,\underbrace{p(\theta)}_\text{prior} $$
le choix du prieur affecterait donc le résultat. Lors de l'utilisation$\alpha=\beta=0$dans le précédent, il s'agit d'un a priori de Haldane incorrect qui a toute la masse de probabilité sur les valeurs$0$ et $1$(voir l'image ci-dessous empruntée à ce site ).
Surtout lorsque la taille de l'échantillon est petite , le précédent aurait un impact sur le résultat. Dans ce cas, cela entraînera la masse de probabilité vers les extrêmes. Pour obtenir un résultat comparable à MLE, vous pouvez choisir l'uniforme avant avec$\alpha=\beta=1$.
Vous utilisez le mauvais paramètre pour la distribution bêta. Si vous avez une expérience binomiale avec$n$ succès et $m$ échecs, vous devez utiliser le $beta(n+1,m+1)$Distribution. La raison en est que vous utilisez essentiellement un$beta(1,1)$ (uniforme) avant, que vous devez ajouter à la distribution (si vous utilisez un $beta(a,b)$ avant à la place, vous obtenez $beta(n+a,m+b)$).
Alors si tu essaies ça
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),]
vous obtenez le résultat correct, soit 0,33 $ .
EDIT (plus de maths):
Ainsi, la probabilité de succès $ n $ et d' échecs $ m $ est (jusqu'à une constante multiplicative):
$ L (\ theta | \, m, n) \ sim \ theta ^ n (1- \ theta) ^ m $
Mais la densité bêta est donnée comme
$ f_ {a, b} (\ theta) \ sim \ theta ^ {(a-1)} (1- \ theta) ^ {(b-1)} $ .
Donc, si vous correspondez à $ a-1 = n $ et $ b-1 = m $, vous obtenez $ a = n + 1 $ et $ b = m + 1 $ , comme vous le devriez.