Vérifier si une pièce est juste

9

Un ami m'a posé la question suivante. Je n'ai pas pu l'aider mais j'espère que quelqu'un pourra me l'expliquer. Je n'ai pas pu trouver d'exemple similaire. Merci pour toute aide et explication.

Q: Les résultats de 100 expériences de lancer de pièces sont enregistrés comme 0 = "Queue" et 1 = "Tête". La sortie x est une chaîne de 0 et 1 de longueur 100. Et le nombre de fois où nous obtenons 1-0-0 en x est calculé et il est de 20 (ex: si x = (001001110100), 1-0-0 se produit 2 fois). Pensez-vous que c'est une pièce équitable?

Jimmy Dur
la source
1
Cette question ne ressemble pas à un problème réel réel. Est-ce des devoirs?
Sextus Empiricus
1
Je ne suis pas sûr. Comme je l'ai indiqué, un ami me l'a demandé. Je n'ai pas pu l'aider, mais je veux quand même apprendre à résoudre ou à répondre à ce genre de question. @ MartijnWeterings
Jimmy Dur
2
stats.stackexchange.com/questions/158490/… contient un compte rendu assez complet de la situation. Pour plus d'informations, consultez stats.stackexchange.com/…
whuber
1
@JimmyDur vous n'avez aucune idée de l'interprétation ou du sens de la question. Par exemple. Vous formulez la question comme "Pensez-vous que c'est une pièce équitable?". Cela ressemble à une question piège.
Sextus Empiricus
1
... Cependant, de certains points de vue, cela pourrait ne pas être une manière correcte de l'aborder, et on pourrait souhaiter une approche bayésienne, par exemple si l'on connaît quelque chose comme une distribution de probabilité antérieure d'équité des pièces. Sans aucune connaissance du contexte et des circonstances, tout calcul ne sera qu'un exercice de mathématiques et non une réponse à votre question explicite "pensez-vous que c'est une bonne monnaie?".
Sextus Empiricus

Réponses:

14

Résoudre le problème par simulation

Ma première tentative serait de simuler cela sur un ordinateur, ce qui peut retourner très rapidement de nombreuses pièces justes. Voici un exemple avec un million d'essais. L'événement « que le nombre de fois le motif « 1-0-0 » se produit dans pièces flips est de 20 ou plus » se produit à peu près une fois tous les trois mille essais, donc ce que vous avez observé est peu probable (pour une foire pièce de monnaie).Xn=100

Notez que l'histrogramme est pour la simulation et la ligne est le calcul exact expliqué plus loin ci-dessous.

histogramme

set.seed(1)

# number of trials
n <- 10^6

# flip coins
q <- matrix(rbinom(100*n, 1, 0.5),n)

# function to compute number of 100 patterns
npattern <- function(x) {
  sum((1-x[-c(99,100)])*(1-x[-c(1,100)])*x[-c(1,2)])
}

# apply function on data 
counts <- sapply(1:n, function(x) npattern(q[x,]))
hist(counts, freq = 0) 

# estimated probability
sum(counts>=20)/10^6
10^6/sum(counts>=20)

Résoudre le problème avec un calcul exact

Pour une approche analytique, vous pouvez utiliser le fait que 'la probabilité d'observer 20 séquences ou plus' 1-0-0 'dans 100 tours de pièces est égale au 1 moins la probabilité qu'il faut plus de 100 tours pour faire 20 séquences' . Ceci est résolu dans les étapes suivantes:

Temps d'attente pour la probabilité de basculer «1-0-0»

La distribution, , du nombre de fois que vous devez retourner jusqu'à ce que vous obteniez exactement une séquence '1-0-0' peut être calculée comme suit:FN,X=1(n)

Analysons les moyens d'arriver à «1-0-0» en tant que chaîne de Markov. Nous suivons les états décrits par le suffixe de la chaîne de flips: «1», «1-0» ou «1-0-0». Par exemple, si vous avez les huit flips 10101100 suivants, vous avez passé, dans l'ordre, les huit états suivants: "1", "1-0", "1", "1-0", "1", "1", '1-0', '1-0-0' et il a fallu huit flips pour atteindre '1-0-0'. Notez que vous n'avez pas la même probabilité d'atteindre l'état «1-0-0» à chaque flip. Ainsi, vous ne pouvez pas modéliser cela comme une distribution binomiale . Au lieu de cela, vous devez suivre un arbre de probabilités. L'état '1' peut aller dans '1' et '1-0', l'état '1-0' peut aller dans '1' et '1-0-0', et l'état «1-0-0» est un état absorbant. Vous pouvez l'écrire comme:

           number of flips
           1   2   3   4   5   6   7   8   9   ....   n

'1'        1   1   2   3   5   8  13  21  34   ....   F_n
'1-0'      0   1   1   2   3   5   8  13  21          F_{n-1}
'1-0-0'    0   0   1   2   4   7   12 20  33          sum_{x=1}^{n-2} F_{x}

et la probabilité d'atteindre le modèle «1-0-0», après avoir obtenu un premier «1» (vous commencez par l'état «0», sans avoir encore renversé la tête), en flips, la moitié de la probabilité être dans l'état «1-0» dans flips:nn-1

FNc,X=1(n)=Fn-22n-1

où est le ème nombre de Fibonnaci. La probabilité non conditionnelle est une sommeFjeje

FN,X=1(n)=k=1n-20,5kFNc,X=1(1+(n-k))=0,5nk=1n-2Fk

Temps d'attente pour la probabilité de retourner fois '1-0-0'k

Vous pouvez le calculer par convolution.

FN,X=k(n)=l=1nFN,X=1(l)FN,X=1(n-l)

vous obtiendrez comme probabilité d'observer au moins 20 modèles `` 1-0-0 '' (selon l'hypothèse que la pièce est juste)

> # exact computation
> 1-Fx[20]
[1] 0.0003247105
> # estimated from simulation
> sum(counts>=20)/10^6
[1] 0.000337

Voici le code R pour le calculer:

# fibonacci numbers
fn <- c(1,1)
for (i in 3:99) {
  fn <- c(fn,fn[i-1]+fn[i-2])
}

# matrix to contain the probabilities
ps <- matrix(rep(0,101*33),33)

# waiting time probabilities to flip one pattern
ps[1,] <- c(0,0,cumsum(fn))/2^(c(1:101))

#convoluting to get the others
for (i in 2:33) {
  for (n in 3:101) {
     for (l in c(1:(n-2))) {
       ps[i,n] = ps[i,n] + ps[1,l]*ps[i-1,n-l]
     }  
  }
}

# cumulative probabilities to get x patterns in n flips
Fx <- 1-rowSums(ps[,1:100])

# probabilities to get x patterns in n flips
fx <- Fx[-1]-Fx[-33]

#plot in the previous histogram
lines(c(1:32)-0.5,fx)

Calcul de pièces déloyales

Nous pouvons généraliser le calcul ci-dessus de la probabilité d'observer modèles dans flips, lorsque la probabilité de «1 = tête» est et que les flips sont indépendants.Xnp

Nous utilisons maintenant une généralisation des nombres de Fibonacci:

Fn(X)={1si n=1Xsi n=2X(Fn-1+Fn-2)si n>2

les probabilités sont maintenant les suivantes:

FNc,X=1,p(n)=(1-p)n-1Fn-2((1-p)-1-1)

et

FN,X=1,p(n)=k=1n-2p(1-p)k-1FNc,X=1,p(1+n-k)=p(1-p)n-1k=1n-2Fk((1-p)-1-1)

Lorsque nous traçons cela, vous obtenez:

différent p

Ainsi, bien que la valeur de p soit petite pour une pièce de monnaie équitable 0,0003247, nous devons noter qu'elle n'est pas beaucoup meilleure (une seule commande) pour différentes pièces de monnaie déloyales. Le rapport de vraisemblance, ou facteur de Bayes , est d'environ 11 lorsque l'hypothèse nulle ( ) est comparée à l'hypothèse alternative . Cela signifie que le rapport de cotes postérieur n'est que dix fois plus élevé que le rapport de cotes précédent.p=0,5p=0,33

Ainsi, si vous pensiez avant l'expérience que la pièce était improbable, alors vous devriez maintenant penser que la pièce est improbable.


Une pièce avec mais une injustice concernant les événements '1-0-0'pheunes=ptunejels

On pourrait beaucoup plus facilement tester la probabilité d'une pièce équitable en comptant le nombre de têtes et de queues et utiliser une distribution binomiale pour modéliser ces observations et tester si l'observation est particulière ou non.

Cependant, il se peut que la pièce retourne, en moyenne, un nombre égal de têtes et de queues, mais n'est pas juste en ce qui concerne certains modèles. Par exemple, la pièce peut avoir une certaine corrélation pour les tours de pièces suivants (j'imagine un mécanisme avec des cavités à l'intérieur du métal de la pièce qui sont remplies de sable qui coulera comme un sablier vers l'extrémité opposée du tour de pièce précédent, qui charge la pièce pour tomber plus probablement du même côté que le côté précédent).

Soit le premier flip de pièces de monnaie à probabilité et à queues égales et les flips suivants sont avec probabilité du même côté que le flip précédent. Ensuite, une simulation similaire au début de ce post donnera les probabilités suivantes pour le nombre de fois que le modèle '1-0-0' dépasse 20:p

pièce corrélée

Vous pouvez voir qu'il est possible de le rendre légèrement plus susceptible d'observer le modèle `` 1-0-0 '' (quelque part autour de une pièce qui a une certaine corrélation négative), mais plus dramatique est que l'on peut le rendre beaucoup moins susceptibles d’observer le schéma «1-0-0». Pour un faible, vous obtenez plusieurs fois la queue après une tête, la première partie «1-0» du motif «1-0-0», mais vous n'obtenez pas si souvent deux queues d'affilée le «0-0» partie du motif. L'inverse est vrai pour les valeurs élevées.p=0,45pp

# number of trials
set.seed(1)
n <- 10^6

p <- seq(0.3,0.6,0.02)
np <- length(p)
mcounts <- matrix(rep(0,33*np),33)

pb <- txtProgressBar(title = "progress bar", min = 0,
                     max = np, style=3)
for (i in 1:np) {
  # flip first coins
  qfirst <- matrix(rbinom(n, 1, 0.5),n)*2-1
  # flip the changes of the sign of the coin
  qrest <- matrix(rbinom(99*n, 1, p[i]),n)*2-1
  # determining the sign of the coins
  qprod <- t(sapply(1:n, function(x) qfirst[x]*cumprod(qrest[x,])))
  # representing in terms of 1s and 0s
  qcoins <- cbind(qfirst,qprod)*0.5+0.5
  counts <- sapply(1:n, function(x) npattern(qcoins[x,]))

  mcounts[,i] <- sapply(1:33, function(x) sum(counts==x))
  setTxtProgressBar(pb, i)
}
close(pb)

plot(p,colSums(mcounts[c(20:33),]),
     type="l", xlab="p same flip", ylab="counts/million trials", 
     main="observation of 20 or more times '1-0-0' pattern \n for coin with correlated flips")
points(p,colSums(mcounts[c(20:33),]))

Utiliser les mathématiques dans les statistiques

Ce qui précède est très bien, mais ce n'est pas une réponse directe à la question

"pensez-vous que c'est une pièce de monnaie équitable?"

Pour répondre à cette question, on peut utiliser les mathématiques ci-dessus mais il faut vraiment d'abord très bien décrire la situation, les objectifs, la définition de l'équité, etc. Sans aucune connaissance du contexte et des circonstances, tout calcul ne sera qu'un exercice de mathématiques et non une réponse à la question explicite.

Une question ouverte est pourquoi et comment nous recherchons le modèle «1-0-0».

  • Par exemple, ce schéma n'était peut-être pas un objectif, qui a été décidé avant de mener l'enquête. Peut-être que c'était juste quelque chose qui «se démarquait» dans les données et c'était quelque chose qui a attiré l'attention après l'expérience. Dans ce cas, il faut considérer que l'on fait effectivement des comparaisons multiples .
  • Un autre problème est que la probabilité calculée ci-dessus est une valeur de p. La signification d'une valeur p doit être soigneusement examinée. Ce n'est pas la probabilité que la pièce soit juste. C'est plutôt la probabilité d'observer un résultat particulier si la pièce est juste. Si l'on a un environnement dans lequel on connaît une certaine distribution de l'équité des pièces, ou si l'on peut faire une hypothèse raisonnable, alors on peut en tenir compte et utiliser une expression bayésienne .
  • Ce qui est juste, ce qui est injuste. Finalement, avec suffisamment de procès, on peut trouver un tout petit peu d'injustice. Mais est-ce pertinent et une telle recherche n'est-elle pas partiale? Lorsque nous nous en tenons à une approche fréquentiste, il faut alors décrire quelque chose comme une frontière au-dessus de laquelle nous considérons une pièce juste (une certaine taille d'effet pertinente). Ensuite, on pourrait utiliser quelque chose de similaire au test t bilatéral afin de décider si la pièce est juste ou non (en ce qui concerne le modèle «1-0-0»).
Sextus Empiricus
la source
1
Pourquoi ne pas rechercher une solution de formulaire fermé via MLE?
Digio
p^ML=unergmuneXp[P(X1,...,Xn|p,n)]XBjenomjeunel(n,p)p^ML
Digio
pp
X={0,0,1,0,0,1,1,1,0,1,0,0}p^=Xn=512=0,421,96p^(1-p^)n=0,280,42+0,28<0,50
3
@FrankHarrell il n'y a rien dans la configuration du problème qui nous fait penser que les flips ne sont pas corrélés. La configuration du problème est relativement pauvre en informations. Mon exemple qui va dans la corrélation des flips est juste pour couvrir l'étendue de la question. Je ne dis pas que c'est la façon d'y répondre. Mais disons que quelqu'un (peut-être l'OP) fait des recherches sur les séquences d'ADN ou une autre configuration de problème où la possibilité de corrélation a plus de sens, alors ils ont un exemple comment cela pourrait se produire.
Sextus Empiricus