Es fácil calcular la probabilidad de hacer esa observación, dado el hecho de que las dos monedas son iguales. Esto puede hacerse mediante la prueba exacta de Fishers . Dadas estas observaciones
headstailscoin 1H1n1−H1coin 2H2n2−H2
La probabilidad de observar estos números mientras las monedas son iguales dada la cantidad de intentos , y la cantidad total de es
n1n2H1+H2p(H1,H2|n1,n2,H1+H2)=(H1+H2)!(n1+n2−H1−H2)!n1!n2!H1!H2!(n1−H1)!(n2−H2)!(n1+n2)!.
Pero lo que está pidiendo es la probabilidad de que una moneda sea mejor. Dado que discutimos acerca de una creencia sobre cuán sesgadas están las monedas, tenemos que usar un enfoque bayesiano para calcular el resultado. Tenga en cuenta que en la inferencia bayesiana el término creencia se modela como probabilidad y los dos términos se usan indistintamente (s. Probabilidad bayesiana ). Llamamos a la probabilidad de que la moneda arroje . La distribución posterior después de la observación, para este está dada por teorema de Bayes :
El función de densidad de probabilidad (pdf)ipipif(pi|Hi,ni)=f(Hi|pi,ni)f(pi)f(ni,Hi)
f(Hi|pi,ni)está dada por la probabilidad Binomial, ya que los intentos individuales son experimentos de Bernoulli:
I Asumo El conocimiento previo sobre es que podría estar entre y con igual probabilidad, por lo tanto . Entonces el nominador es .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 el hecho de que la integral sobre un pdf tiene que ser uno . Entonces el denominador será un factor constante para lograr eso. Existe un pdf conocido que difiere del nominador solo por un factor constante, que es la distribución beta . Por lo tanto,
f(ni,Hi)∫10f(p|Hi,ni)dp=1f(pi|Hi,ni)=1B(Hi+1,ni−Hi+1)pHii(1−pi)ni−Hi.
El pdf para el par de probabilidades de monedas independientes es
f(p1,p2|H1,n1,H2,n2)=f(p1|H1,n1)f(p2|H2,n2).
Ahora necesitamos integrar esto en los casos en que para descubrir cómo es probable que la moneda sea mejor que la moneda :
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
No puedo resolver esta última integral analíticamente, pero uno puede resolverla numéricamente con una computadora después de conectar los números. es la función beta y es la función beta incompleta. Tenga en cuenta que porque es una variable continua y nunca es exactamente lo mismo que .B(⋅,⋅)B(⋅;⋅,⋅)P(p1=p2)=0p1p2
Con respecto a la suposición anterior sobre y sus comentarios: Una buena alternativa para modelar muchos cree es usar una distribución beta . Esto llevaría a una probabilidad final
De esa manera, uno podría modelar un fuerte sesgo hacia las monedas regulares por grandes pero iguales , . Sería equivalente a lanzar la moneda veces adicionales y recibir , por lo tanto, equivale a tener más datos. es la cantidad de lanzamientos que no tendríamos que hacerf(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 incluimos esto antes.
El OP declaró que las dos monedas están sesgadas en un grado desconocido. Entonces entendí que todo el conocimiento tiene que inferirse de las observaciones. Es por eso que opté por un poco informativo antes de que la dosis no sesgue el resultado, por ejemplo, hacia las monedas normales.
Toda la información se puede transmitir en forma de por moneda. La falta de un previo informativo solo significa que se necesitan más observaciones para decidir qué moneda es mejor con alta probabilidad.(Hi,ni)
Aquí está el código en R que proporciona una función usando el uniforme anterior :
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))
}
Puede dibujar para diferentes resultados experimentales y , , ejemplo, con este código franqueado: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)")
Es posible que necesite install.packages("lattice")
primero.
Se puede ver que, incluso con el uniforme anterior y un tamaño de muestra pequeño, la probabilidad o creer que una moneda es mejor puede volverse bastante sólida, cuando y difieren lo suficiente. Se necesita una diferencia relativa aún menor si y son aún mayores. Aquí hay una gráfica para y :H1H2n1n2n1=100n2=200
Martijn Weterings sugirió calcular la distribución de probabilidad posterior para la diferencia entre y . Esto se puede hacer integrando el pdf del par sobre el 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
De nuevo, no es una integral que pueda resolver analíticamente, pero el código R sería:
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)
}
He trazado para , , y todos los 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 = "-")
Puede calcular la probabilidad deestar por encima de un valor por . Tenga en cuenta que la doble aplicación de la integral numérica viene con algún error numérico. Por ejemplo , siempre debe ser igual a ya que siempre toma un valor entre y . Pero el resultado a menudo se desvía ligeramente.|p1−p2|dintegrate(fd, d, 1, n1, H1, n2, H2)
integrate(fd, 0, 1, n1, H1, n2, H2)
1d01