Il est facile de calculer la probabilité de faire cette observation, étant donné que les deux pièces sont égales. Cela peut être fait par le test exact des pêcheurs . Compte tenu de ces observations
headstailscoin 1H1n1−H1coin 2H2n2−H2
la probabilité d'observer ces nombres alors que les pièces sont égales étant donné le nombre d'essais n1, n2 et le nombre total de têtes H1+H2 est
p(H1,H2|n1,n2,H1+H2)=(H1+H2)!(n1+n2−H1−H2)!n1!n2!H1!H2!(n1−H1)!(n2−H2)!(n1+n2)!.
Mais ce que vous demandez, c'est la probabilité qu'une pièce soit meilleure. Puisque nous discutons de la croyance sur le biais des pièces, nous devons utiliser une approche bayésienne pour calculer le résultat. Veuillez noter que dans l'inférence bayésienne, le terme croyance est modélisé comme probabilité et que les deux termes sont utilisés de manière interchangeable (s. Probabilité bayésienne ). Nous appelons la probabilité que la piècei lance des têtes pi. La distribution postérieure après observation, pour cettepiest donné par le théorème de Bayes :
f(pi|Hi,ni)=f(Hi|pi,ni)f(pi)f(ni,Hi)
La fonction de densité de probabilité (pdf) f(Hi|pi,ni)est donnée par la probabilité binomiale, car les essais individuels sont des expériences de Bernoulli:
je suppose la connaissance antérieure sur est que pourrait se situer n'importe où entre et avec une probabilité égale, d'où . Le nominateur est donc .f(Hi|pi,ni)=(niHi)pHii(1−pi)ni−Hi
f(pi)pi01f(pi)=1f(Hi|pi,ni)f(pi)=f(Hi|pi,ni)
Pour calculer nous utilisons le fait que l'intégrale sur un pdf doit être un . Le dénominateur sera donc un facteur constant pour y parvenir. Il existe un pdf connu qui ne diffère du nominateur que par un facteur constant, qui est la distribution bêta . D'où
f(ni,Hi)∫10f(p|Hi,ni)dp=1f(pi|Hi,ni)=1B(Hi+1,ni−Hi+1)pHii(1−pi)ni−Hi.
Le pdf de la paire de probabilités de pièces indépendantes est
f(p1,p2|H1,n1,H2,n2)=f(p1|H1,n1)f(p2|H2,n2).
Maintenant, nous devons l'intégrer dans les cas où afin de savoir comment la pièce est probablement meilleure que la pièce :
p1>p212P(p1>p2)=∫10∫p‘10f(p‘1,p‘2|H1,n1,H2,n2)dp‘2dp‘1=∫10B(p‘1;H2+1,n2−H2+1)B(H2+1,n2−H2+1)f(p‘1|H1,n1)dp‘1
Je ne peux pas résoudre cette dernière intégrale analytiquement mais on peut la résoudre numériquement avec un ordinateur après avoir branché les chiffres. est la fonction bêta et est la fonction bêta incomplète. Notez que car est une variable continue et jamais exactement la même chose que .B(⋅,⋅)B(⋅;⋅,⋅)P(p1=p2)=0p1p2
Concernant l'hypothèse antérieure sur et ses remarques: Une bonne alternative au modèle est considérée par beaucoup comme une distribution bêta . Cela conduirait à une probabilité finale
De cette façon, on pourrait modéliser un fort biais vers les pièces de monnaie régulières de grand mais égal , . Cela reviendrait à lancer la pièce des fois supplémentaires et à recevoir des têtes ce qui équivaudrait à avoir simplement plus de données. est la quantité de lancers que nous n'aurions pas à effectuerf(pi)Beta(ai+1,bi+1)P(p1>p2)=∫10B(p‘1;H2+1+a2,n2−H2+1+b2)B(H2+1+a2,n2−H2+1+b2)f(p‘1|H1+a1,n1+a1+b1)dp‘1.
aibiai+biaiai+bi si nous incluons cela avant.
Le PO a déclaré que les deux pièces étaient toutes deux biaisées à un degré inconnu. J'ai donc compris que toutes les connaissances doivent être déduites des observations. C'est pourquoi j'ai opté pour une méthode non informative avant que la dose ne biaise le résultat, par exemple vers des pièces ordinaires.
Toutes les informations peuvent être transmises sous la forme de par pièce. L'absence d'un a priori informatif signifie seulement que plus d'observations sont nécessaires pour décider quelle pièce est meilleure avec une probabilité élevée.(Hi,ni)
Voici le code de R qui fournit une fonction utilisant l'uniforme a priori :
P(n1, H1, n2, H2)
=P(p1>p2)f(pi)=1
mp <- function(p1, n1, H1, n2, H2) {
f1 <- pbeta(p1, H2 + 1, n2 - H2 + 1)
f2 <- dbeta(p1, H1 + 1, n1 - H1 + 1)
return(f1 * f2)
}
P <- function(n1, H1, n2, H2) {
return(integrate(mp, 0, 1, n1, H1, n2, H2))
}
Vous pouvez dessiner pour différents résultats expérimentaux et fixer , par exemple avec ce code coupé:P(p1>p2)n1n2n1=n2=4
library(lattice)
n1 <- 4
n2 <- 4
heads <- expand.grid(H1 = 0:n1, H2 = 0:n2)
heads$P <- apply(heads, 1, function(H) P(n1, H[1], n2, H[2])$value)
levelplot(P ~ H1 + H2, heads, main = "P(p1 > p2)")
Vous devrez peut-être d' install.packages("lattice")
abord.
On peut voir que même avec un a priori uniforme et un petit échantillon, la probabilité ou croire qu'une pièce est meilleure peut devenir assez solide, lorsque et diffèrent suffisamment. Une différence relative encore plus petite est nécessaire si et sont encore plus grands. Voici un graphique pour et :H1H2n1n2n1=100n2=200
Martijn Weterings a suggéré de calculer la distribution de probabilité postérieure de la différence entre et . Cela peut être fait en intégrant le pdf de la paire sur l'ensemble :
p1p2S(d)={(p1,p2)∈[0,1]2|d=|p1−p2|}f(d|H1,n1,H2,n2)=∫S(d)f(p1,p2|H1,n1,H2,n2)dγ=∫1−d0f(p,p+d|H1,n1,H2,n2)dp+∫1df(p,p−d|H1,n1,H2,n2)dp
Encore une fois, pas une intégrale que je peux résoudre analytiquement mais le code R serait:
d1 <- function(p, d, n1, H1, n2, H2) {
f1 <- dbeta(p, H1 + 1, n1 - H1 + 1)
f2 <- dbeta(p + d, H2 + 1, n2 - H2 + 1)
return(f1 * f2)
}
d2 <- function(p, d, n1, H1, n2, H2) {
f1 <- dbeta(p, H1 + 1, n1 - H1 + 1)
f2 <- dbeta(p - d, H2 + 1, n2 - H2 + 1)
return(f1 * f2)
}
fd <- function(d, n1, H1, n2, H2) {
if (d==1) return(0)
s1 <- integrate(d1, 0, 1-d, d, n1, H1, n2, H2)
s2 <- integrate(d2, d, 1, d, n1, H1, n2, H2)
return(s1$value + s2$value)
}
J'ai tracé pour , , et toutes les valeurs de :f(d|n1,H1,n2,H2)n1=4H1=3n2=4H2
n1 <- 4
n2 <- 4
H1 <- 3
d <- seq(0, 1, length = 500)
get_f <- function(H2) sapply(d, fd, n1, H1, n2, H2)
dat <- sapply(0:n2, get_f)
matplot(d, dat, type = "l", ylab = "Density",
main = "f(d | 4, 3, 4, H2)")
legend("topright", legend = paste("H2 =", 0:n2),
col = 1:(n2 + 1), pch = "-")
Vous pouvez calculer la probabilité deêtre supérieur à une valeur par . Gardez à l'esprit que la double application de l'intégrale numérique s'accompagne d'une erreur numérique. Par exemple, doit toujours être égal à car prend toujours une valeur comprise entre et . Mais le résultat s'écarte souvent légèrement.|p1−p2|dintegrate(fd, d, 1, n1, H1, n2, H2)
integrate(fd, 0, 1, n1, H1, n2, H2)
1d01