Un serio problema en profundidad de probabilidades de lanzar monedas


10

Digamos que estoy haciendo 10,000 lanzamientos de una moneda. Me gustaría saber la probabilidad de cuántas vueltas se necesitan para obtener 4 o más caras consecutivas seguidas.

El recuento funcionaría de la siguiente manera, contaría una ronda sucesiva de lanzamientos siendo solo cabezas (4 cabezas o más). Cuando una cola golpea y rompe la racha de cabezas, el conteo comenzaría nuevamente desde el siguiente giro. Esto luego se repetiría para 10,000 lanzamientos.

Me gustaría saber la probabilidad de no solo 4 o más caras seguidas, sino 6 o más y 10 o más. Para aclarar si se logra una racha de 9 cabezas, se sumaría como 1 racha 4 o más (y / o 6 o más), no 2 rachas separadas. Por ejemplo, si la moneda vino THTHTHTHHHHHH /// THAHTHT ... el conteo sería 13 y comenzaría nuevamente en las siguientes colas.

Digamos que los datos salen muy sesgados a la derecha; el promedio es de 40 volteos en promedio para lograr una racha de 4 o más, y la distribución es u = 28. Obviamente sesgada.

Estoy haciendo todo lo posible para encontrar una manera de dar sentido a los datos descriptivos, excepto que hasta ahora no he encontrado nada.

Quiero encontrar alguna forma de obtener alguna probabilidad razonable de ello. Como una curva normal donde +/- 1 SD es 68%, etc. He examinado la normalización de registros y eso solo se usa realmente para una prueba paramétrica que no es mi objetivo.

Me han dicho distribuciones beta, pero cada sugerencia que he tenido ha sido bastante confusa. Hice esta pregunta hace un año y obtuve una idea, pero desafortunadamente todavía no tengo una respuesta. Gracias a cualquiera de ustedes que tenga ideas.


Probablemente debería aclarar un poco. 1) Estoy buscando lejos para dar sentido a los datos descriptivos de la cantidad de caras consecutivas por encima de 4 en 1000 vueltas (similar a algo como una probabilidad de curva normal +/- 1 SD = 68%) de un conjunto de datos asimétricos. 2) Se recomienda usar una distribución beta, ¡pero CUALQUIER otra sugerencia sería genial!
Dan

1
Dan, acabo de notar que tu ejemplo de juego de cabezas y colas incluye una "A".
Glen_b -Reinstalar Monica

La edición que realizó es una gran mejora, pero necesitamos hacer algunos cambios más. Cuando dices "y la distribución es u = 28", ¿qué quieres decir exactamente? ¿Estás hablando de la mediana?
Glen_b -Reinstalar Monica

@Dan, la versión beta solo podría tener en cuenta este problema si estuviera utilizando un enfoque bayesiano y estimando la probabilidad de un cara, luego aplicando esa distribución (y su incertidumbre asociada) en el resultado matemático del problema que declaró.
AdamO

Respuestas:


12

Si lo he entendido correctamente, entonces el problema es encontrar una distribución de probabilidad para el momento en que termina la primera ejecución de o más cabezas.norte

Editar Las probabilidades se pueden determinar con precisión y rapidez utilizando la multiplicación de matrices, y también es posible calcular analíticamente la media como y la varianza como where , pero probablemente no haya una forma cerrada simple para la distribución en sí. Por encima de cierto número de lanzamientos de monedas, la distribución es esencialmente una distribución geométrica: tendría sentido usar esta forma para más grande .σ 2 = 2 n + 2 ( μ - n - 3 ) - μ 2 + 5 μ μ = μ - + 1 tμ-=2norte+1-1σ2=2norte+2(μ-norte-3)-μ2+5 5μμ=μ-+1t

La evolución en el tiempo de la distribución de probabilidad en el espacio de estados puede modelarse utilizando una matriz de transición para estados, donde el número de lanzamientos consecutivos de monedas. Los estados son los siguientes:n =k=norte+2norte=

  • Estado , sin cabezasH0 0
  • Estado , heads, i 1 i ( n - 1 )Hyoyo1yo(norte-1)
  • Estado , o más cabezas nHnortenorte
  • Indique , o más cabezas seguidas de una cola nHnorte

Una vez que al estado no puede regresar a ninguno de los otros estados.H

Las probabilidades de transición de estado para ingresar a los estados son las siguientes

  • Estado : probabilidad de , , es decir, incluyéndose a sí mismo pero no el estado1H0 0 Hii=0,,n-1Hn12Hyoyo=0 0,...,norte-1Hnorte
  • Estado : probabilidad de1Hyo Hi-112Hyo-1
  • Estado : probabilidad de , es decir, del estado con cabezas y sí mismo1Hnorte Hn-1,Hnn-112Hnorte-1,Hnortenorte-1
  • Estado : probabilidad de y probabilidad 1 de (sí mismo)1H HnH12HnorteH

Entonces, por ejemplo, para , esto da la matriz de transiciónnorte=4 4

X={H0 0H1H2H3H4 4HH0 0121212120 00 0H1120 00 00 00 00 0H20 0120 00 00 00 0H30 00 0120 00 00 0H4 40 00 00 012120 0H0 00 00 00 0121}

Para el caso , el vector inicial de probabilidades p es p = ( 1 , 0 , 0 , 0 , 0 , 0 ) . En general, el vector inicial tiene p i = { 1 i = 0 0 i > 0norte=4 4pagpag=(1,0 0,0 0,0 0,0 0,0 0)

pagyo={1yo=0 00 0yo>0 0

El vector es la distribución de probabilidad en el espacio para cualquier momento dado. El cdf requerido es un cdf en el tiempo , y es la probabilidad de haber visto al menos n monedas al final del tiempo t . Se puede escribir como ( X t + 1 p ) k , observando que alcanzamos el estado H 1 veces después del último en la serie de lanzamientos consecutivos de monedas.pagnortet(Xt+1pag)kH

El pmf requerido en el tiempo se puede escribir como . Sin embargo, numéricamente esto implica quitar un número muy pequeño de un número mucho mayor ( 1 ) y restringe la precisión. Por lo tanto, en los cálculos es mejor establecer X k , k = 0 en lugar de 1. Luego, escribir X para la matriz resultante X = X | X k , k = 0(Xt+1pag)k-(Xtpag)k1Xk,k=0 0XX=X|Xk,k=0, el pmf es . Esto es lo que se implementa en el programa R simple a continuación, que funciona para cualquier n 2 ,(Xt+1pag)knorte2

n=4
k=n+2
X=matrix(c(rep(1,n),0,0, # first row
           rep(c(1,rep(0,k)),n-2), # to half-way thru penultimate row
           1,rep(0,k),1,1,rep(0,k-1),1,0), # replace 0 by 2 for cdf
         byrow=T,nrow=k)/2
X

t=10000
pt=rep(0,t) # probability at time t
pv=c(1,rep(0,k-1)) # probability vector
for(i in 1:(t+1)) {
  #pvk=pv[k]; # if calculating via cdf
  pv = X %*% pv;
  #pt[i-1]=pv[k]-pvk # if calculating via cdf
  pt[i-1]=pv[k] # if calculating pmf
}

m=sum((1:t)*pt)
v=sum((1:t)^2*pt)-m^2
c(m, v)

par(mfrow=c(3,1))
plot(pt[1:100],type="l")
plot(pt[10:110],type="l")
plot(pt[1010:1110],type="l")

La gráfica superior muestra el pmf entre 0 y 100. Las dos gráficas inferiores muestran el pmf entre 10 y 110 y también entre 1010 y 1110, ilustrando la autosimilitud y el hecho de que, como dice @Glen_b, la distribución parece que puede ser aproximado por una distribución geométrica después de un período de asentamiento.

ingrese la descripción de la imagen aquí

Es posible investigar este comportamiento aún más el uso de un vector propio de la descomposición . Hacerlo muestra que para t suficientemente grande , p t + 1c ( n ) p t , donde c ( n ) es la solución de la ecuación 2 n + 1 c n ( c - 1 ) + 1 = 0 . Esta aproximación mejora con el aumento de ny es excelente para tXtpagt+1C(norte)pagtC(norte)2norte+1Cnorte(C-1)+1=0 0norteten el rango de aproximadamente 30 a 50, dependiendo del valor de , como se muestra en la gráfica de error de registro a continuación para calcular p 100 (colores del arco iris, rojo a la izquierda para n = 2 ). (De hecho, por razones numéricas, en realidad sería mejor usar la aproximación geométrica para las probabilidades cuando t es mayor).nortepag100norte=2t

ingrese la descripción de la imagen aquí

Sospecho (ed) que puede haber una forma cerrada disponible para la distribución porque las medias y las variaciones como las he calculado de la siguiente manera

norteMediaDiferencia27 7243151444 4317365 56333926 6127147207 72556169685112534409 9102310291201020474151296

(Tuve que aumentar el número en el horizonte de tiempo t=100000para obtener esto, pero el programa todavía se ejecutó para todos en menos de aproximadamente 10 segundos). Las medias en particular siguen un patrón muy obvio; las variaciones no tanto. He resuelto un sistema de transición de 3 estados más simple en el pasado, pero hasta ahora no tengo suerte con una solución analítica simple para este. Tal vez hay alguna teoría útil que no conozco, por ejemplo, en relación con las matrices de transición.norte=2,...,10

Editar : después de muchos comienzos falsos se me ocurrió una fórmula de recurrencia. Sea la probabilidad de estar en el estado H i en el tiempo t . Sea q , t la probabilidad acumulada de estar en el estado H , es decir, el estado final, en el tiempo t . nótese bienpagyo,tHyotq,tHt

  • Para cualquier dado , p i , t , 0 i n y q * , t son una distribución de probabilidad sobre el espacio i , e inmediatamente debajo de uso el hecho de que sus probabilidades se suman a 1.tpagyo,t,0 0yonorteq,tyo
  • forman una distribución de probabilidad en el tiempo t . Más tarde, uso este hecho para derivar los medios y las variaciones.pag,tt

La probabilidad de estar en el primer estado en el tiempo , es decir, sin cabezas, viene dada por las probabilidades de transición de los estados que pueden volver a ella desde el tiempo t (usando el teorema de la probabilidad total). p 0 , t + 1t+1t Pero para pasar del estadoH0aHn-1 serequierenn-1pasos, de ahí quepn-1,t+n-1=1

pag0 0,t+1=12pag0 0,t+12pag1,t+...12pagnorte-1,t=12yo=0 0norte-1pagyo,t=12(1-pagnorte,t-q,t)
H0 0Hnorte-1norte-1y pn-1,t+n=1pagnorte-1,t+norte-1=12norte-1pag0 0,t Una vez más, según el teorema de la probabilidad total, la probabilidad de estar en el estadoHnen el tiempot+1es p n , t + 1
pagnorte-1,t+norte=12norte(1-pagnorte,t-q,t)
Hnortet+1 y usando el hecho de queq,t+1-q,t=1
pagnorte,t+1=12pagnorte,t+12pagnorte-1,t=12pagnorte,t+12norte+1(1-pagnorte,t-norte-q,t-norte)()
, 2 q , t + 2 - 2 q , t + 1q,t+1-q,t=12pagnorte,tpagnorte,t=2q,t+1-2q,t Por lo tanto, cambiandott+n, 2q,t+n+2-3q,t+n+1+q,t+n+1
2q,t+2-2q,t+1=q,t+1-q,t+12norte+1(1-2q,t-norte+1+q,t-norte)
tt+norte
2q,t+norte+2-3q,t+norte+1+q,t+norte+12norteq,t+1-12norte+1q,t-12norte+1=0 0

norte=4 4norte=6 6norte=6 6t=1:994;v=2*q[t+8]-3*q[t+7]+q[t+6]+q[t+1]/2**6-q[t]/2**7-1/2**7

ingrese la descripción de la imagen aquí

Editar No puedo ver a dónde ir para encontrar un formulario cerrado a partir de esta relación de recurrencia. Sin embargo, es posible obtener una forma cerrada para la media.

()pag,t+1=12pagnorte,t

pagnorte,t+1=12pagnorte,t+12norte+1(1-pagnorte,t-norte-q,t-norte)()2norte+1(2pag,t+norte+2-pag,t+norte+1)+2pag,t+1=1-q,t
t=0 0mi[X]=X=0 0(1-F(X))pag,t
2norte+1t=0 0(2pag,t+norte+2-pag,t+norte+1)+2t=0 0pag,t+1=t=0 0(1-q,t)2norte+1(2(1-12norte+1)-1)+2=μ2norte+1=μ
H

mi[X2]=X=0 0(2X+1)(1-F(X))

t=0 0(2t+1)(2norte+1(2pag,t+norte+2-pag,t+norte+1)+2pag,t+1)=t=0 0(2t+1)(1-q,t)2t=0 0t(2norte+1(2pag,t+norte+2-pag,t+norte+1)+2pag,t+1)+μ=σ2+μ22norte+2(2(μ-(norte+2)+12norte+1)-(μ-(norte+1)))+4 4(μ-1)+μ=σ2+μ22norte+2(2(μ-(norte+2))-(μ-(norte+1)))+5 5μ=σ2+μ22norte+2(μ-norte-3)+5 5μ=σ2+μ22norte+2(μ-norte-3)-μ2+5 5μ=σ2

Los medios y las variaciones se pueden generar fácilmente mediante programación. Por ejemplo, para verificar las medias y las variaciones de la tabla anterior, utilice

n=2:10
m=c(0,2**(n+1))
v=2**(n+2)*(m[n]-n-3) + 5*m[n] - m[n]^2

Finalmente, no estoy seguro de lo que querías cuando escribiste

cuando una cola golpea y rompe la racha de cabezas, el conteo comenzaría nuevamente desde el siguiente giro.

nortenorte

μ-1μ+1Xk,k,=0 0X1,k=1H0 0Hnorte=4 4

probabilidadH0 00.48484848H10.24242424H20.12121212H30.06060606H4 40.06060606H0.03030303
H=1/ /0.03030303=33=μ+1

Apéndice : programa Python utilizado para generar probabilidades exactas para n= número de Ncaras consecutivas sobre lanzamientos.

import itertools, pylab

def countinlist(n, N):
    count = [0] * N
    sub = 'h'*n+'t'
    for string in itertools.imap(''.join, itertools.product('ht', repeat=N+1)):
        f = string.find(sub)
        if (f>=0):
            f = f + n -1 # don't count t, and index in count from zero 
            count[f] = count[f] +1
            # uncomment the following line to print all matches
            # print "found at", f+1, "in", string
    return count, 1/float((2**(N+1)))

n = 4
N = 24
counts, probperevent = countinlist(n,N)
probs = [count*probperevent for count in counts]

for i in range(N):
    print '{0:2d} {1:.10f}'.format(i+1,probs[i]) 
pylab.title('Probabilities of getting {0} consecutive heads in {1} tosses'.format(n, N))
pylab.xlabel('toss')
pylab.ylabel('probability')
pylab.plot(range(1,(N+1)), probs, 'o')
pylab.show()

7

No estoy seguro de que sea probable que la versión beta sea particularmente adecuada como una forma de lidiar con este problema: "El número de jugadas hasta ..." es claramente un recuento. Es un número entero, y no hay límite superior en los valores donde se obtiene una probabilidad positiva.

Por el contrario, la distribución beta es continua y en un intervalo limitado, por lo que parece ser una elección inusual. Si coincide con una versión beta escalada, las funciones de distribución acumulativa quizás no se aproximen tan mal en el cuerpo central de la distribución. Sin embargo, es probable que alguna otra opción mejore sustancialmente más en cualquier cola.

Si tiene una expresión para las probabilidades o simulaciones de la distribución (que presumiblemente necesita para encontrar una beta aproximada), ¿por qué no las usaría directamente?


Si su interés es encontrar expresiones para probabilidades o la distribución de probabilidad del número de lanzamientos requeridos, probablemente la idea más simple es trabajar con funciones generadoras de probabilidad. Estos son útiles para derivar funciones de relaciones recursivas entre probabilidades, cuyas funciones (pgf) a su vez nos permiten extraer cualquier probabilidad que necesitemos.

Aquí hay una publicación con una buena respuesta que adopta el enfoque algebraico, que explica las dificultades y hace un buen uso de los pgfs y las relaciones de recurrencia. Tiene expresiones específicas para media y varianza en el caso de "dos éxitos en una fila":

/math/73758/probability-of-n-successes-in-a-row-at-the-k-th-bernoulli-trial-geometric

pag=12

-

Si solo desea respuestas numéricas, la simulación es relativamente sencilla. Las estimaciones de probabilidad podrían usarse directamente, o alternativamente sería razonable suavizar las probabilidades simuladas.

Si debe utilizar una distribución aproximada, probablemente pueda elegir algo que funcione bastante bien.

Es posible que una mezcla de binomios negativos (la versión del "número de ensayos" en lugar de la versión del "número de éxitos") sea razonable. Se debe esperar que dos o tres componentes den una buena aproximación en todos menos en la cola extrema.

Si desea una única distribución continua para una aproximación, puede haber mejores opciones que la distribución beta; Sería algo para investigar.


Bien, desde entonces he hecho un poco de álgebra, algunos jugando con las relaciones recurrentes, algunas simulaciones e incluso un poco de pensamiento.

Para una muy buena aproximación, creo que puede salirse con la suya simplemente especificando las primeras cuatro probabilidades distintas de cero (lo cual es fácil), calculando los siguientes pocos puñados de valores a través de recurrencia (también fácil) y luego usando una cola geométrica una vez que la relación de recurrencia tiene suavizó la progresión de probabilidades inicialmente menos suave.

Parece que puede usar la cola geométrica con una precisión muy alta más allá de k = 20, aunque si solo le preocupa decir una precisión de 4 cifras, podría traerla antes.

Esto debería permitirle calcular el pdf y el cdf con buena precisión.

Estoy un poco preocupado: mis cálculos dan que el número medio de lanzamientos es 30.0 y la desviación estándar es 27.1; si entendí lo que quieres decir con "x" y "u", obtuviste 40 y 28 en tu lanzamiento. El 28 se ve bien, pero el 40 parece estar muy lejos de lo que obtuve ... lo que me preocupa de haber hecho algo mal.

====

NOTA: Dadas las complejidades entre la primera vez y las veces posteriores que nos encontramos, solo quiero estar absolutamente seguro ahora de que estamos contando lo mismo.

Aquí hay una secuencia corta, con los extremos de las secuencias '4 o más H' marcadas (señalando el espacio entre volteos inmediatamente después de la última H)

       \/                     \/
TTHHHHHHTTHTTTTTHHTTHTTHHTHHHHHT...
       /\                     /\

Entre esas dos marcas cuento 23 vueltas; es decir, tan pronto como termina la secuencia anterior de (6 en este caso) H, comenzamos a contar inmediatamente después de T y luego contamos hasta el final de la secuencia de 5 H (en este caso) que termina la siguiente secuencia , dando una cuenta de 23 en este caso.

¿Es así como los cuentas?


Dado que lo anterior es correcto, así es como se ve la función de probabilidad del número de lanzamientos después de que se complete una ejecución de al menos 4 cabezas hasta que se complete la siguiente ejecución de al menos 4 cabezas:

Problemas de monedas

A primera vista, parece que es plano para los primeros valores, luego tiene una cola geométrica , pero esa impresión no es del todo precisa: lleva un tiempo establecerse en una cola efectivamente geométrica.

Estoy trabajando para encontrar una aproximación adecuada que pueda usar para responder a cualquier pregunta que tenga sobre las probabilidades asociadas con este proceso con buena precisión y al mismo tiempo lo más simple posible. Tengo una aproximación bastante buena que debería funcionar (que ya he verificado con una simulación de un lanzamiento de mil millones de monedas) pero hay un sesgo (pequeño pero consistente) en las probabilidades que la aproximación da en parte del rango y me gustaría vea si puedo obtener un dígito adicional de precisión.

Puede ser que la mejor manera de hacerlo es simplemente darle una tabla de la función de probabilidad y cdf a un punto más allá del cual se puede utilizar una distribución geométrica.

Sin embargo, sería útil si puede dar una idea del rango de cosas para las que necesita usar la aproximación.


Espero seguir adelante con el enfoque pgf, pero es posible que alguien más sea más competente con ellos que yo y no solo pueda hacer los 4 casos sino también otros.


Quizás para aclarar más las cosas. Sería ideal una distribución que se ajuste o simule una simulación que tenga en cuenta la fluctuación de 4 cabezas más exitosas. Por ejemplo, si la media de la población es de 150 vueltas para 4 cabezas consecutivas. Si 4 o más cabezas llegaron en el octavo giro. Es poco probable que otras 4 o más cabezas no salgan en otros 20 o más vueltas (solo supongo) y tal vez estén más cerca de la media. Algo que me daría la probabilidad de que ocurran sus probables 4 cabezas consecutivas dentro de un cierto rango de lanzamientos sería INCREÍBLE.
Dan

Cuando acaba de tener 4 cabezas, si obtiene una quinta cabeza, ¿el conjunto de 4 más reciente cuenta como otro conjunto de 4, o el conteo se reinicia, por lo que comienza de nuevo desde la primera cabeza (tan pronto como vea uno)?
Glen_b -Reinstalar a Mónica el

(Supuse hasta ahora que si genera muchas secuencias de cuatro, entonces no hay superposición: una vez que obtiene 4, el recuento de S se restablece a 0.)
Glen_b -Reinstate Monica el

Son 4 cabezas o más, tan pronto como obtengas una cola después de 4 cabezas, la racha se detendría. Luego, el conteo se reiniciará hasta que vea 4 cabezas o más nuevamente consecutivamente.
Dan

4 cabezas o más : veo que en realidad eso es lo que dice en la pregunta, simplemente no lo había entendido bien. Entonces 9 cabezas no contarían como dos lotes de 4 cabezas. Eso cambia totalmente los cálculos que estaba haciendo. La relación de recurrencia que estaba usando es incorrecta. Sin embargo, el concepto básico, que debe tener una cola geométrica, se mantendrá.
Glen_b -Reinstalar a Mónica el

0

Quieres la distribución geométrica . De Wikipedia:

X

XX=4 4X

PAG(X=X)=(1-pag)X-1pag

Y=X-1

PAG(Y+1=X)=(1-pag)X-1pagPAG(Y=X-1)=(1-pag)X-1pagPAG(Y=y)=(1-pag)ypag

y=0 0,1,2,3 ...pag=0.5 0.5

PAG(Y=y)=(0.5 0.5)y(0.5 0.5)=0.5 0.5y+1

nortenorteα

α=yo=0 0norte-1PAG(Y=yo)

YZ

PAG(Z=z)=1α(1-pag)zpag=1yo=0 0norte-1(1-pag)yopag(1-pag)zpag

pag=0.5 0.5

PAG(Z=z)=1yo=0 0norte-10.5 0.5yo+10.5 0.5z+1=11-0.5 0.5norte0.5 0.5z+1=0.5 0.5z+11-0.5 0.5norte

norteZY


2
Creo que hay algunos detalles de la pregunta que puede haber pasado por alto. A menos que haya entendido mal la pregunta, no es simplemente geométrica.
Glen_b -Reinstate Monica

Lo actualicé para manejar n finito. Y sí, ahora veo que quería mover una ventana en lugar de conteos exactos. El mío solo funciona para cadenas, no el tiempo entre ellas.
clintonmonk

Un buen primer paso es echar un vistazo al gráfico en la publicación de @ Glen_b y ver si puedes replicarlo. También agregué el programa Python que escribí para verificar las probabilidades exactas. Si puede ejecutar esto, elimine el comentario de la línea que imprime coincidencias, disminuyendo Na entre 5 y 7, y obtendrá una buena idea de los eventos que se requieren ( pylabsolo se requiere una nota para trazar).
TooTone

πyo

Sí, si por solución estacionaria, estás hablando de la razón de probabilidades consecutivas en la cola que converge a una constante, entonces la solución estacionaria es realmente geométrica, como han dicho ambas respuestas anteriores.
Glen_b -Reinstalar Monica
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.