Différence entre binomial et beta dans R?

Sep 14 2020

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

4 Tim Sep 14 2020 at 15:12

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$.

2 LiKao Sep 14 2020 at 15:47

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.