Un sérieux problème de probabilités de retournement de pièces


10

Disons que je fais 10 000 tours d'une pièce. Je voudrais connaître la probabilité du nombre de flips nécessaires pour obtenir 4 têtes consécutives ou plus d'affilée.

Le décompte fonctionnerait comme suit, vous compteriez un tour de flips successifs étant seulement des têtes (4 têtes ou plus). Quand une queue frappe et brise la séquence de têtes, le décompte recommence à partir du flip suivant. Cela se répéterait alors pour 10 000 flips.

Je voudrais connaître la probabilité non seulement de 4 têtes ou plus d'affilée, mais de 6 ou plus, et de 10 ou plus. Pour clarifier si une séquence de 9 têtes est obtenue, elle sera comptabilisée comme 1 séquence de 4 ou plus (et / ou 6 ou plus), et non 2 séquences distinctes. Par exemple, si la pièce venait THTHTHTHHHHHH /// THAHTHT .... le compte serait de 13 et recommencerait sur les queues suivantes.

Disons que les données semblent être très asymétriques vers la droite; la moyenne étant de 40 flips en moyenne, il faut pour obtenir une séquence de 4 ou plus, et la distribution est u = 28. De toute évidence asymétrique.

Je fais de mon mieux pour trouver un moyen de donner un sens aux données descriptives, sauf que pour l'instant je n'ai rien trouvé.

Je veux trouver un moyen d'en tirer une probabilité raisonnable. Comme une courbe normale où +/- 1 SD est de 68%, etc. J'ai étudié la normalisation des journaux et cela n'est vraiment utilisé que pour un test paramétrique qui n'est pas mon objectif.

On m'a dit des distributions bêta, mais chaque suggestion que j'ai eue a été assez déroutante. J'ai posé cette question il y a un an et j'ai eu un aperçu mais malheureusement je n'ai toujours pas de réponse. Merci à tous ceux qui ont des idées.


Je devrais probablement clarifier un peu. 1) Je cherche à donner un sens aux données descriptives du nombre de têtes consécutives supérieures à 4 sur 1000 flips (similaire à quelque chose comme une probabilité de courbe normale +/- 1 SD = 68%) à partir d'un ensemble de données asymétrique. 2) Recommandé d'utiliser une distribution bêta mais TOUTE autre suggestion serait géniale!
Dan

1
Dan, je viens de remarquer que votre exemple de jeu de têtes et queues comprend un "A".
Glen_b -Reinstate Monica

La modification que vous avez apportée est une grande amélioration, mais nous devons apporter d'autres modifications. Où vous dites "et la distribution est u = 28", que voulez-vous dire exactement? Parlez-vous de la médiane?
Glen_b -Reinstate Monica

@Dan la bêta ne pourrait éventuellement prendre en compte ce problème que si vous utilisiez une approche bayésienne et estimiez la probabilité d'une tête, puis en appliquant cette distribution (et son incertitude associée) dans le résultat mathématique du problème que vous avez déclaré.
AdamO

Réponses:


12

Si j'ai bien compris, alors le problème est de trouver une distribution de probabilité pour l'instant auquel se termine la première série de ou plusieurs têtes.n

Modifier Les probabilités peuvent être déterminées avec précision et rapidité en utilisant la multiplication matricielle, et il est également possible de calculer analytiquement la moyenne comme et la variance comme σ 2 = 2 n + 2 ( μ - n - 3 ) - μ 2 + 5 μμ = μ - + 1μ=2n+11σ2=2n+2(μ-n-3)-μ2+5μμ=μ-+1, mais il n'y a probablement pas de simple formulaire fermé pour la distribution elle-même. Au-dessus d'un certain nombre de tours de pièces, la distribution est essentiellement une distribution géométrique: il serait logique d'utiliser cette forme pour un plus grand .t

L'évolution dans le temps de la distribution de probabilité dans l'espace d'état peut être modélisée en utilisant une matrice de transition pour états, où n = le nombre de tours de pièces consécutifs. Les états sont les suivants:k=n+2n=

  • État , pas de têteH0
  • État , i têtes, 1 i ( n - 1 )Hjeje1i(n1)
  • Indiquer , n têtes ou plusHnn
  • Énoncer , n ou plusieurs têtes suivies d'une queueHn

Une fois dans l'état vous ne pouvez retourner dans aucun autre état.H

Les probabilités de transition d'état pour entrer dans les états sont les suivantes

  • Etat : probabilité 1H0 deHi,i=0,,n-1, c'est-à-dire en incluant lui-même mais pas l'étatHn12Hii=0,,n1Hn
  • Etat : probabilité 1Hi deHi-112Hi1
  • Etat : probabilité 1Hn deHn-1,Hn, c'est-à-dire de l'état avecn-1têtes et lui-même12Hn1,Hnn1
  • Etat : probabilité 1H deHnet probabilité 1 deH(lui-même)12HnH

Ainsi, par exemple, pour , cela donne la matrice de transitionn=4

X={H0H1H2H3H4HH01212121200H11200000H20120000H30012000H400012120H0000121}

Pour le cas , le vecteur initial de probabilités p est p = ( 1 , 0 , 0 , 0 , 0 , 0 ) . En général, le vecteur initial a p i = { 1 i = 0 0 i > 0n=4pp=(1,0,0,0,0,0)

pi={1i=00i>0

Le vecteur est la distribution de probabilité dans l' espace pour un temps donné. Le cdf requis est un cdf dans le temps , et est la probabilité d'avoir vu au moins n flips de pièces se terminer au temps t . Il peut être écrit comme ( X t + 1 p ) k , en notant que nous atteignons l'état H 1 pas de temps après le dernier dans la course de lancers de pièces consécutifs.pnt(Xt+1p)kH

Le pmf requis dans le temps peut être écrit comme . Cependant, numériquement, cela implique de retirer un très petit nombre d'un nombre beaucoup plus grand ( 1 ) et limite la précision. Par conséquent, dans les calculs, il est préférable de définir X k , k = 0 plutôt que 1. Puis, en écrivant X pour la matrice résultante X = X | X k , k = 0(Xt+1p)k(Xtp)k1Xk,k=0XX=X|Xk,k=0, le pmf est . C'est ce qui est implémenté dans le programme R simple ci-dessous, qui fonctionne pour tout n 2 ,(Xt+1p)kn2

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")

Le graphique supérieur montre le pmf entre 0 et 100. Les deux graphiques inférieurs montrent le pmf entre 10 et 110 et également entre 1010 et 1110, illustrant l'auto-similitude et le fait que, comme le dit @Glen_b, la distribution semble pouvoir être approximée par une distribution géométrique après une période de stabilisation.

entrez la description de l'image ici

Il est possible d'étudier ce comportement en utilisant en outre une décomposition de vecteur propre de . Cela montre que pour t suffisamment grand , p t + 1c ( n ) p t , où c ( n ) est la solution de l'équation 2 n + 1 c n ( c - 1 ) + 1 = 0 . Cette approximation s'améliore avec l'augmentation de n et est excellente pour tXtpt+1c(n)ptc(n)2n+1cn(c1)+1=0ntdans la plage d'environ 30 à 50, en fonction de la valeur de , comme le montre le graphique d'erreur log ci-dessous pour le calcul de p 100 (couleurs arc-en-ciel, rouge à gauche pour n = 2 ). (En fait, pour des raisons numériques, il serait en fait préférable d'utiliser l'approximation géométrique des probabilités lorsque t est plus grand.)np100n=2t

entrez la description de l'image ici

Je soupçonne (ed) qu'il pourrait y avoir un formulaire fermé disponible pour la distribution parce que les moyennes et les écarts comme je les ai calculés comme suit

nMeanVariance2724315144431736563339261271472072556169685112534409102310291201020474151296

(J'ai dû augmenter le nombre sur l'horizon pour l' t=100000obtenir, mais le programme a quand même fonctionné pour tous les en moins d'environ 10 secondes.) Les moyens en particulier suivent un schéma très évident; les écarts le sont moins. J'ai résolu un système de transition à 3 états plus simple dans le passé, mais jusqu'à présent, je n'ai pas de chance avec une solution analytique simple à celle-ci. Il y a peut-être une théorie utile que je ne connais pas, par exemple concernant les matrices de transition.n=2,,10

Edit : après de nombreux faux départs, j'ai trouvé une formule de récurrence. Soit la probabilité d'être dans l'état H i au temps t . Soit q , t la probabilité cumulée d'être dans l'état H , c'est-à-dire l'état final, à l'instant t . NBpi,tHjetq,tHt

  • Pour tout , p i , t , 0 i n et q , t sont une distribution de probabilité sur l'espace i , et immédiatement en dessous j'utilise le fait que leurs probabilités s'ajoutent à 1.tpi,t,0inq,tje
  • forment une distribution de probabilité dans le temps t . Plus tard, j'utilise ce fait pour dériver les moyennes et les variances.p,tt

La probabilité d'être au premier état au temps , c'est-à-dire sans tête, est donnée par les probabilités de transition des états qui peuvent y revenir à partir du temps t (en utilisant le théorème de la probabilité totale). p 0 , t + 1t+1t Mais pour passer de l'étatH0àHn-1 ilfautn-1pas, doncpn-1,t+n-1=1

p0,t+1=12p0,t+12p1,t+12pn-1,t=12je=0n-1pje,t=12(1-pn,t-q,t)
H0Hn1n1et pn-1,t+n=1pn1,t+n1=12n1p0,t Encore une fois par le théorème de la probabilité totale, la probabilité d'être à l'étatHnà l'instantt+1est p n , t + 1
pn1,t+n=12n(1pn,tq,t)
Hnt+1 et en utilisant le fait queq,t+1-q,t=1
pn,t+1=12pn,t+12pn-1,t=12pn,t+12n+1(1-pn,t-n-q,t-n)()
, 2 q , t + 2 - 2 q , t + 1q,t+1-q,t=12pn,tpn,t=2q,t+1-2q,t Par conséquent, en changeanttt+n, 2q,t+n+2-3q,t+n+1+q,t+n+1
2q,t+2-2q,t+1=q,t+1-q,t+12n+1(1-2q,t-n+1+q,t-n)
tt+n
2q,t+n+2-3q,t+n+1+q,t+n+12nq,t+1-12n+1q,t-12n+1=0

n=4n=6n=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

entrez la description de l'image ici

Modifier Je ne vois pas où aller pour trouver un formulaire fermé à partir de cette relation de récurrence. Cependant, il est possible d'obtenir un formulaire fermé pour la moyenne.

()p,t+1=12pn,t

pn,t+1=12pn,t+12n+1(1-pn,t-n-q,t-n)()2n+1(2p,t+n+2-p,t+n+1)+2p,t+1=1-q,t
t=0E[X]=X=0(1-F(x))p,t
2n+1t=0(2p,t+n+2p,t+n+1)+2t=0p,t+1=t=0(1q,t)2n+1(2(112n+1)1)+2=μ2n+1=μ
H

E[X2]=x=0(2x+1)(1F(x))

t=0(2t+1)(2n+1(2p,t+n+2p,t+n+1)+2p,t+1)=t=0(2t+1)(1q,t)2t=0t(2n+1(2p,t+n+2p,t+n+1)+2p,t+1)+μ=σ2+μ22n+2(2(μ(n+2)+12n+1)(μ(n+1)))+4(μ1)+μ=σ2+μ22n+2(2(μ(n+2))(μ(n+1)))+5μ=σ2+μ22n+2(μn3)+5μ=σ2+μ22n+2(μn3)μ2+5μ=σ2

Les moyennes et les écarts peuvent facilement être générés par programme. Par exemple, pour vérifier les moyennes et les écarts du tableau ci-dessus, utilisez

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

Enfin, je ne sais pas ce que vous vouliez quand vous avez écrit

quand une queue frappe et brise la séquence de têtes, le décompte recommence à partir du flip suivant.

nn

μ1μ+1Xk,k,=0X1,k=1H0Hn=4

probabilityH00.48484848H10.24242424H20.12121212H30.06060606H40.06060606H0.03030303
H=1/0.03030303=33=μ+1

Annexe : programme Python utilisé pour générer des probabilités exactes pour n= nombre de têtes consécutives sur les Nlancers.

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

Je ne suis pas sûr que la version bêta soit susceptible d'être particulièrement appropriée pour résoudre ce problème - "Le nombre de jeux jusqu'à ..." est clairement un compte. C'est un entier, et il n'y a pas de limite supérieure sur les valeurs où vous obtenez une probabilité positive.

En revanche, la distribution bêta est continue et sur un intervalle borné, il semblerait donc que ce soit un choix inhabituel. Si vous correspondez momentanément à une version bêta mise à l'échelle, les fonctions de distribution cumulative peuvent peut-être se rapprocher moins mal dans le corps central de la distribution. Cependant, un autre choix est susceptible de s'améliorer sensiblement plus loin dans l'une ou l'autre queue.

Si vous avez une expression pour les probabilités ou des simulations de la distribution (dont vous avez probablement besoin pour trouver une version bêta approximative), pourquoi ne les utiliseriez-vous pas directement?


Si votre intérêt est de trouver des expressions pour les probabilités ou la distribution de probabilité du nombre de lancers requis, l'idée la plus simple est probablement de travailler avec des fonctions générant des probabilités. Celles-ci sont utiles pour dériver des fonctions de relations récursives entre probabilités, lesquelles fonctions (le pgf) nous permettent à leur tour d'extraire toutes les probabilités dont nous avons besoin.

Voici un article avec une bonne réponse en prenant l'approche algébrique, qui explique à la fois les difficultés et fait bon usage des pgfs et des relations de récurrence. Il a des expressions spécifiques pour la moyenne et la variance dans le cas des «deux succès consécutifs»:

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

p=12

-

Si vous voulez juste des réponses numériques, la simulation est relativement simple. Les estimations de probabilité pourraient être utilisées directement, ou il serait raisonnable de lisser les probabilités simulées.

Si vous devez utiliser une distribution approximative, vous pouvez probablement choisir quelque chose qui fonctionne assez bien.

Il est possible qu'un mélange de binômes négatifs (la version «nombre d'essais» plutôt que la version «nombre de succès») soit raisonnable. On s'attend à ce que deux ou trois composantes donnent une bonne approximation dans tous sauf la queue extrême.

Si vous voulez une seule distribution continue pour une approximation, il peut y avoir de meilleurs choix que la distribution bêta; ce serait quelque chose à enquêter.


D'accord, j'ai depuis fait une petite algèbre, certains jouant avec les relations de récurrence, une simulation et même un peu de réflexion.

Pour une très bonne approximation, je pense que vous pouvez vous en sortir en spécifiant simplement les quatre premières probabilités non nulles (ce qui est facile), en calculant les quelques poignées de valeurs suivantes via la récurrence (également facile), puis en utilisant une queue géométrique une fois que la relation de récurrence a lissé la progression des probabilités initialement moins fluide.

Il semble que vous puissiez utiliser la queue géométrique avec une très grande précision au-delà de k = 20, mais si vous ne vous inquiétez que de dire une précision à 4 chiffres, vous pouvez l'apporter plus tôt.

Cela devrait vous permettre de calculer le pdf et le cdf avec une bonne précision.

Je suis un peu inquiet - mes calculs donnent que le nombre moyen de lancers est de 30,0 et l'écart-type est de 27,1; si j'ai compris ce que vous entendez par "x" et "u", vous avez obtenu 40 et 28 dans votre lancer. Le 28 semble correct, mais le 40 semble bien loin de ce que j'ai obtenu ... ce qui me fait craindre d'avoir fait quelque chose de mal.

====

NOTE: Étant donné la complexité entre la première fois et les fois suivantes que nous avons rencontrées, je veux juste être absolument certain maintenant que nous comptons la même chose.

Voici une courte séquence, avec les extrémités des séquences «4 ou plus H» marquées (pointant vers l'écart entre les flips immédiatement après le dernier H)

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

Entre ces deux marques, je compte 23 flips; c'est-à-dire dès que la séquence précédente de (6 dans ce cas) se termine par H, nous commençons à compter au T immédiatement suivant, puis nous comptons jusqu'à la fin de la séquence de 5 H (dans ce cas) qui termine la séquence suivante , ce qui donne un nombre de 23 dans ce cas.

Est-ce ainsi que vous les comptez?


Étant donné que ce qui précède est correct, voici à quoi ressemble la fonction de probabilité du nombre de lancers après un cycle d'au moins 4 têtes jusqu'à ce que le cycle suivant d'au moins 4 têtes soit terminé:

Probs pièces

À première vue, il semble plat pour les premières valeurs, puis a une queue géométrique , mais cette impression n'est pas tout à fait exacte - il faut un certain temps pour s'installer sur une queue effectivement géométrique.

Je travaille à trouver une approximation appropriée que vous pouvez utiliser pour répondre à toutes les questions que vous auriez sur les probabilités associées à ce processus avec une bonne précision qui est en même temps aussi simple que possible. J'ai une assez bonne approximation qui devrait fonctionner (que j'ai déjà vérifiée par rapport à une simulation d'un milliard de lancers de pièces) mais il y a un biais (petit mais cohérent) dans les probabilités que l'approximation donne en partie dans la plage et j'aimerais voir si je peux en tirer un chiffre de précision supplémentaire.

Il se peut que la meilleure façon de le faire soit simplement de vous donner un tableau de la fonction de probabilité et de le cdf jusqu'à un point au-delà duquel une distribution géométrique peut être utilisée.

Cependant, il serait utile que vous puissiez donner une idée de la gamme de choses dont vous avez besoin pour utiliser l'approximation.


J'espère poursuivre l'approche pgf, mais il est possible que quelqu'un d'autre soit plus compétent avec eux que moi et puisse faire non seulement les 4 cas, mais d'autres cas.


Pour peut-être clarifier davantage les choses. Une distribution qui ajuste ou approuve la simulation qui prend en compte la fluxuation de 4 têtes plus réussies serait idéale. Par exemple, si la moyenne de populatoin est de 150 flips pour 4 têtes consécutives. Si 4 têtes ou plus arrivaient au 8e flip. Il est peu probable que 4 autres têtes ou plus n'arrivent pas dans une vingtaine de flips (je suppose) et soient peut-être plus proches de la moyenne. Quelque chose qui m'obtiendrait la probabilité pour quand ses 4 têtes consécutives probables se produiront dans une certaine gamme de lancers serait AMAZING.
Dan

Lorsque vous venez d'avoir 4 têtes, si vous obtenez une 5ème tête, cet ensemble de 4 plus récent compte-t-il comme un autre ensemble de 4, ou le compte est-il réinitialisé, alors vous recommencez à partir de la première tête (dès que vous voyez une)?
Glen_b -Reinstate Monica

(J'ai supposé jusqu'à présent que si vous générez de nombreuses séquences de quatre, il n'y a pas de chevauchement - une fois que vous obtenez 4, le nombre de S est remis à 0.)
Glen_b -Reinstate Monica

Ses 4 têtes ou plus, dès que vous obtenez une queue après 4 têtes, la séquence s'arrête. Ensuite, le décompte recommencerait jusqu'à ce que vous voyiez à nouveau 4 têtes ou plus consécutivement.
Dan

4 têtes ou plus - je vois que c'est en fait ce que dit la question, je ne l'avais tout simplement pas bien compris. Donc, 9 têtes ne compteraient pas comme deux lots de 4 têtes. Cela change totalement les calculs que je faisais. La relation de récurrence que j'utilisais est fausse. Le concept de base - qu'il devrait avoir une queue géométrique - qui tiendra toujours cependant.
Glen_b -Reinstate Monica

0

Vous voulez la distribution géométrique . De Wikipédia:

X

XX=4X

P(X=X)=(1-p)X-1p

Oui=X-1

P(Oui+1=X)=(1-p)X-1pP(Oui=X-1)=(1-p)X-1pP(Oui=y)=(1-p)yp

y=0,1,2,3 ...p=0,5

P(Oui=y)=(0,5)y(0,5)=0,5y+1

nnα

α=i=0n1P(Y=i)

YZ

P(Z=z)=1α(1p)zp=1i=0n1(1p)ip(1p)zp

p=0,5

P(Z=z)=1je=0n-10,5je+10,5z+1=11-0,5n0,5z+1=0,5z+11-0,5n

nZOui plus tôt.


2
Je pense que vous avez peut-être manqué certains détails de la question. À moins que j'aie mal compris la question, ce n'est pas simplement géométrique.
Glen_b -Reinstate Monica

Je l'ai mis à jour pour gérer n fini. Et oui, je vois maintenant qu'il voulait déplacer une fenêtre plutôt que des nombres exacts. Le mien ne fonctionne que pour les chaînes, pas le temps entre elles.
clintonmonk

Une bonne première étape consiste à regarder le graphique dans le post de @ Glen_b et à voir si vous pouvez reproduire cela. J'ai également ajouté le programme Python que j'ai écrit pour vérifier les probabilités exactes. Si vous pouvez exécuter cela, décommentez la ligne qui imprime les correspondances, en diminuant Nentre 5 et 7, et vous aurez une bonne idée des événements requis (la note pylabn'est requise que pour le traçage).
TooTone

πi

Oui, si par solution stationnaire, vous parlez du rapport de probabilités consécutives dans la queue convergeant vers une constante, alors la solution stationnaire est en effet géométrique, comme l'ont dit les deux réponses précédentes.
Glen_b -Reinstate Monica
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.