Problemlösung durch Simulation
Mein erster Versuch wäre, dies auf einem Computer zu simulieren, der viele faire Münzen sehr schnell werfen kann. Unten finden Sie ein Beispiel mit einer Million Versuche. Das Ereignis, dass die Häufigkeit, mit der das Muster '1-0-0' in Münzwürfen auftritt, 20 oder mehr beträgt, tritt ungefähr alle dreitausend Versuche auf, sodass das, was Sie beobachtet haben, nicht sehr wahrscheinlich ist (für eine Messe Münze).Xn=100
Beachten Sie, dass das Histrogramm für die Simulation vorgesehen ist und die Linie die genaue Berechnung ist, die weiter unten erläutert wird.
![Histogramm](https://i.stack.imgur.com/zumFa.png)
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)
Lösung des Problems mit einer genauen Berechnung
Für einen analytischen Ansatz können Sie die Tatsache verwenden, dass 'die Wahrscheinlichkeit, 20 oder mehr Sequenzen' 1-0-0 'in 100 Münzwürfen zu beobachten, gleich der 1 minus der Wahrscheinlichkeit ist, dass mehr als 100 Flips erforderlich sind, um 20 Sequenzen zu erstellen'. . Dies wird in den folgenden Schritten gelöst:
Wartezeit auf die Wahrscheinlichkeit, dass '1-0-0' umgedreht wird
Die Verteilung der Häufigkeit, mit der Sie umdrehen müssen, bis Sie genau eine Sequenz '1-0-0' erhalten, kann wie folgt berechnet werden:fN,x=1(n)
Lassen Sie uns die Wege analysieren, um als Markov-Kette zu '1-0-0' zu gelangen. Wir folgen den Zuständen, die durch das Suffix der Flip-Zeichenfolge beschrieben werden: '1', '1-0' oder '1-0-0'. Wenn Sie beispielsweise die folgenden acht Flips 10101100 haben, haben Sie die folgenden acht Zustände der Reihe nach bestanden: '1', '1-0', '1', '1-0', '1', '1', '1-0', '1-0-0' und es dauerte acht Flips, um '1-0-0' zu erreichen. Beachten Sie, dass Sie nicht bei jedem Flip die gleiche Wahrscheinlichkeit haben, den Status '1-0-0' zu erreichen. Daher können Sie dies nicht als Binomialverteilung modellieren . Stattdessen sollten Sie einem Baum von Wahrscheinlichkeiten folgen. Der Zustand '1' kann in '1' und '1-0' gehen, der Zustand '1-0' kann in '1' und '1-0-0' gehen, und der Zustand '1-0-0' ist ein absorbierender Zustand. Sie können es aufschreiben als:
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}
und die Wahrscheinlichkeit, das Muster '1-0-0' zu erreichen, nachdem Sie eine erste '1' gewürfelt haben (Sie beginnen mit dem Zustand '0', ohne einen Kopf umgedreht zu haben), innerhalb von Flips ist das Halbfache der Wahrscheinlichkeit innerhalb von Flips im Zustand '1-0' sein :nn−1
fNc,x=1(n)=Fn−22n−1
wobei die te Fibonnaci-Zahl ist. Die nicht bedingte Wahrscheinlichkeit ist eine SummeFii
fN,x=1(n)=∑k=1n−20.5kfNc,x=1(1+(n−k))=0.5n∑k=1n−2Fk
Wartezeit auf die Wahrscheinlichkeit, mal '1-0-0' umzudrehenk
Dies können Sie durch eine Faltung berechnen.
fN,x=k(n)=∑l=1nfN,x=1(l)fN,x=1(n−l)
Sie erhalten die Wahrscheinlichkeit, 20 oder mehr '1-0-0'-Muster zu beobachten (basierend auf der Hypothese, dass die Münze fair ist).
> # exact computation
> 1-Fx[20]
[1] 0.0003247105
> # estimated from simulation
> sum(counts>=20)/10^6
[1] 0.000337
Hier ist der R-Code, um ihn zu berechnen:
# 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)
Rechnen nach unfairen Münzen
Wir können die obige Berechnung der Wahrscheinlichkeit, Muster in Flips zu beobachten, verallgemeinern , wenn die Wahrscheinlichkeit von '1 = Kopf' und die Flips unabhängig sind.xnp
Wir verwenden nun eine Verallgemeinerung der Fibonacci-Zahlen:
Fn(x)=⎧⎩⎨1xx(Fn−1+Fn−2)if n=1if n=2if n>2
Die Wahrscheinlichkeiten sind jetzt wie folgt:
fNc,x=1,p(n)=(1−p)n−1Fn−2((1−p)−1−1)
und
fN,x=1,p(n)=∑k=1n−2p(1−p)k−1fNc,x=1,p(1+n−k)=p(1−p)n−1∑k=1n−2Fk((1−p)−1−1)
Wenn wir dies planen, erhalten Sie:
![anders p](https://i.stack.imgur.com/yL2aM.png)
Während der p-Wert für eine faire Münze 0,0003247 klein ist, müssen wir beachten, dass er für verschiedene unfaire Münzen nicht viel besser ist (nur eine einzige Bestellung). Das Likelihood-Verhältnis oder der Bayes-Faktor liegt bei 11, wenn die Nullhypothese ( ) mit der Alternativhypothese verglichen wird . Dies bedeutet, dass das hintere Quotenverhältnis nur zehnmal höher ist als das vorherige Quotenverhältnis.p=0.5p=0.33
Wenn Sie also vor dem Experiment dachten, dass die Münze unwahrscheinlich unfair ist, sollten Sie jetzt immer noch denken, dass die Münze unwahrscheinlich unfair ist.
Eine Münze mit aber Ungerechtigkeit in Bezug auf '1-0-0' Vorkommenpheads=ptails
Man könnte die Wahrscheinlichkeit für eine faire Münze viel einfacher testen, indem man die Anzahl der Köpfe und Schwänze zählt und eine Binomialverteilung verwendet, um diese Beobachtungen zu modellieren und zu testen, ob die Beobachtung spezifisch ist oder nicht.
Es kann jedoch sein, dass die Münze im Durchschnitt die gleiche Anzahl von Kopf und Zahl wirft, aber in Bezug auf bestimmte Muster nicht fair ist. Zum Beispiel könnte die Münze eine gewisse Korrelation für nachfolgende Münzwürfe haben (ich stelle mir einen Mechanismus mit Hohlräumen im Metall der Münze vor, die mit Sand gefüllt sind, der wie eine Sanduhr zum entgegengesetzten Ende des vorherigen Münzwurfs fließt, der die Münze lädt wahrscheinlicher auf die gleiche Seite wie die vorherige Seite fallen).
Der erste Münzwurf sei mit gleicher Wahrscheinlichkeit Kopf und Zahl, und nachfolgende Würfe sind mit der Wahrscheinlichkeit dieselbe Seite wie der vorherige Wurf. Dann ergibt eine ähnliche Simulation wie zu Beginn dieses Beitrags die folgenden Wahrscheinlichkeiten für die Häufigkeit, mit der das Muster '1-0-0' 20 überschreitet:p
![korrelierte Münze](https://i.stack.imgur.com/JAI3t.png)
Sie können sehen, dass es möglich ist, die Wahrscheinlichkeit, das 1-0-0-Muster zu beobachten (etwas um eine Münze, die eine negative Korrelation aufweist), etwas wahrscheinlicher zu machen , aber dramatischer ist, dass man es viel weniger machen kann wahrscheinlich oberhalb des '1-0-0'-Musters. Bei niedrigem Sie ein Vielfaches der Schwänze nach einem Kopf, dem ersten '1-0'-Teil des' 1-0-0'-Musters, aber Sie erhalten nicht so oft zwei Schwänze hintereinander, das '0-0'. Teil des Musters. Das Gegenteil gilt für die hohen Werte.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),]))
Verwendung der Mathematik in der Statistik
Das obige ist alles in Ordnung, aber es ist keine direkte Antwort auf die Frage
"Glaubst du, das ist eine faire Münze?"
Um diese Frage zu beantworten, kann man die obige Mathematik verwenden, aber man sollte zuerst die Situation, die Ziele, die Definition von Fairness usw. sehr gut beschreiben. Ohne Kenntnis des Hintergrunds und der Umstände ist jede Berechnung nur eine mathematische Übung und keine Antwort darauf die explizite Frage.
Eine offene Frage ist, warum und wie wir nach dem Muster '1-0-0' suchen.
- Zum Beispiel war dieses Muster möglicherweise kein Ziel, über das vor der Untersuchung entschieden wurde. Vielleicht war es nur etwas, das in den Daten "auffiel", und es war etwas, das nach dem Experiment Aufmerksamkeit erregte . In diesem Fall muss man berücksichtigen, dass man effektiv mehrere Vergleiche durchführt .
- Ein weiteres Problem ist, dass die oben berechnete Wahrscheinlichkeit ein p-Wert ist. Die Bedeutung eines p-Wertes muss sorgfältig abgewogen werden. Es ist nicht die Wahrscheinlichkeit, dass die Münze fair ist. Es ist stattdessen die Wahrscheinlichkeit, ein bestimmtes Ergebnis zu beobachten, wenn die Münze fair ist. Wenn man ein Umfeld hat, in dem man eine gewisse Verteilung der Fairness von Münzen kennt oder eine vernünftige Annahme treffen kann, kann man dies berücksichtigen und einen Bayes'schen Ausdruck verwenden .
- Was ist fair, was ist unfair. Bei genügend Versuchen kann man schließlich ein kleines bisschen Ungerechtigkeit finden. Aber ist es relevant und ist eine solche Suche nicht voreingenommen? Wenn wir uns an einen frequentistischen Ansatz halten, sollte man so etwas wie eine Grenze beschreiben, über der wir eine Münzmesse betrachten (einige relevante Effektgrößen). Dann könnte man etwas Ähnliches wie den zweiseitigen T-Test verwenden, um zu entscheiden, ob die Münze fair ist oder nicht (in Bezug auf das '1-0-0'-Muster).