É fácil calcular a probabilidade de fazer essa observação, dado o fato de as duas moedas serem iguais. Isso pode ser feito pelo teste exato de Fishers . Dadas estas observações
headstailscoin 1H1n1−H1coin 2H2n2−H2
a probabilidade de observar esses números enquanto as moedas são iguais, dado o número de tentativas , e a quantidade total de cabeças é
n1n2H1+H2p(H1,H2|n1,n2,H1+H2)=(H1+H2)!(n1+n2−H1−H2)!n1!n2!H1!H2!(n1−H1)!(n2−H2)!(n1+n2)!.
Mas o que você está pedindo é a probabilidade de que uma moeda seja melhor. Uma vez que discutimos sobre a crença em como as moedas são tendenciosas, temos que usar uma abordagem bayesiana para calcular o resultado. Observe que, na inferência bayesiana, o termo crença é modelado como probabilidade e os dois termos são usados de forma intercambiável (s. Probabilidade bayesiana ). Chamamos a probabilidade de que a moeda jogue cabeças . A distribuição posterior após a observação, para este é dada por Bayes Teorema :
A função densidade de probabilidade (pdf)ipipi f ( p i | H i , n i ) = f ( H i | p i , n i ) f ( p i )f(pi|Hi,ni)=f(Hi|pi,ni)f(pi)f(ni,Hi)
f(Hi|pi,ni)é dada pela probabilidade binomial, já que as tentativas individuais são experimentos de Bernoulli:
eu assumir o conhecimento prévio sobre é que pode estar em qualquer lugar entre e com igual probabilidade, portanto, . Portanto, o nominador é .f(Hi|pi,ni)=(niHi)pHii(1−pi)ni−Hi
f(pi)pi01f(pi)=1f(Hi|pi,ni)f(pi)=f(Hi|pi,ni)
Para calcular , usamos o fato de que a integral sobre um pdf deve ser uma . Portanto, o denominador será um fator constante para conseguir exatamente isso. Existe um pdf conhecido que difere do nomeado apenas por um fator constante, que é a distribuição beta . Portanto,
f(ni,Hi)∫10f(p|Hi,ni)dp=1f(pi|Hi,ni)=1B(Hi+1,ni−Hi+1)pHii(1−pi)ni−Hi.
O pdf para o par de probabilidades de moedas independentes é
f(p1,p2|H1,n1,H2,n2)=f(p1|H1,n1)f(p2|H2,n2).
Agora precisamos integrar isso nos casos em que , a fim de descobrir qual a probabilidade da moeda ser melhor do que a moeda :
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
Não consigo resolver esta última integral analiticamente, mas é possível resolvê-la numericamente com um computador depois de inserir os números. é a função beta e é a função beta incompleta. Observe que porque é uma variável contínua e nunca é exatamente igual a .B(⋅,⋅)B(⋅;⋅,⋅)P(p1=p2)=0p1p2
Com relação à suposição anterior sobre e observações sobre ela: Uma boa alternativa ao modelo que muitos acreditam é usar uma distribuição beta . Isso levaria a uma probabilidade final
Dessa maneira, pode-se modelar um forte viés em relação às moedas regulares por , grande, mas igual . Seria o equivalente a jogar a moeda mais vezes e receber cabeças portanto equivalentes a apenas ter mais dados. é a quantidade de lançamentos que não precisaríamos fazerf(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 se incluirmos isso antes.
O OP declarou que as duas moedas são tendenciosas em um grau desconhecido. Então eu entendi que todo conhecimento deve ser inferido a partir das observações. É por isso que optei por um desinformativo antes que a dose não viesse o resultado, por exemplo, para moedas comuns.
Toda a informação pode ser transmitida na forma de por moeda. A falta de um prévio informativo significa apenas mais observações para decidir qual moeda é melhor com alta probabilidade.(Hi,ni)
Aqui está o código em R que fornece uma função usando o anterior uniforme :
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))
}
Você pode desenhar para diferentes resultados experimentais e corrigir , , por exemplo, com este código sniped: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)")
Você pode precisar install.packages("lattice")
primeiro.
Pode-se ver, que mesmo com a prévia uniforme e um pequeno tamanho da amostra, a probabilidade ou acreditar que uma moeda é melhor pode se tornar bastante sólida, quando e diferem bastante. Uma diferença relativa ainda menor é necessária se e forem ainda maiores. Aqui está uma trama para e :H1H2n1n2n1=100n2=200
Martijn Weterings sugeriu calcular a distribuição de probabilidade posterior para a diferença entre e . Isso pode ser feito integrando o pdf do par ao conjunto :
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
Novamente, não é uma integral que eu possa resolver analiticamente, mas o código R seria:
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)
}
Eu tracei para , , e todos os valores 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 = "-")
Você pode calcular a probabilidade deestar acima de um valor por . Lembre-se de que a dupla aplicação da integral numérica vem com algum erro numérico. Por exemplo, deve sempre ser igual a pois sempre assume um valor entre e . Mas o resultado geralmente se desvia um pouco.|p1−p2|dintegrate(fd, d, 1, n1, H1, n2, H2)
integrate(fd, 0, 1, n1, H1, n2, H2)
1d01