Wenn ich eine 58% ige Chance habe, einen Punkt zu gewinnen, wie groß ist dann die Chance, dass ich ein Ping-Pong-Spiel mit 21 gewinne und mit 2 gewinne?


90

Ich wette mit einem Kollegen, dass ich von 50 Ping-Pong-Spielen (zuerst 21 Punkte, dann 2) alle 50 gewinne. Bisher haben wir 15 Spiele gespielt und im Durchschnitt 58% von ihnen gewonnen Die Punkte und ich habe alle Spiele gewonnen. Wir fragen uns also, ob ich eine Chance von 58% habe, einen Punkt zu gewinnen, und ob er eine Chance von 42% hat, einen Punkt zu gewinnen. Wie hoch ist die prozentuale Chance, dass ich das Spiel gewinne? Gibt es eine Formel, mit der wir die prozentualen Chancen von Unterschieden einschließen können?

Wir haben überall gegoogelt und sogar die Datenwissenschaftler in unserem Unternehmen gefragt, konnten aber keine eindeutige Antwort finden.

Edit: Wow, ich bin überwältigt von der Gründlichkeit der Antworten. Vielen Dank euch allen !!! Falls die Leute neugierig sind, habe ich ein Update zu meiner Wette: Ich habe jetzt 18 von 50 Spielen gewonnen, also muss ich 32 weitere Spiele gewinnen. Ich habe 58,7% aller Punkte gewonnen und mein Gegner hat daher 41,3% der Punkte gewonnen. Die Standardabweichung für meinen Gegner beträgt 3,52, sein Durchschnittswert beträgt 14,83 und sein Median 15,50. Unten sehen Sie einen Screenshot der Punktzahl für jedes Spiel. Ich kann die Wette fortsetzen, wenn die Leute interessiert sind.

Edit # 2 : Leider konnten wir nur ein paar weitere Spiele spielen. Nachfolgend sind die Ergebnisse aufgeführt. Ich werde das Bild einfach weiter ersetzen, damit ich keine Screenshots der Partitur habe.

Letztes Update : Ich habe in Spiel Nr. 28 endlich gegen meinen Kollegen verloren. Er hat mich 21-13 geschlagen. Vielen Dank für all Ihre Hilfe!

Bildbeschreibung hier eingeben


11
Es gibt eine Formel: für es in der Form mal ein Grad-20-Polynom: insgesamt 21 Terme (mit großen Koeffizienten, wobei der größte Wert überschreitet ). Wenn alle Punkte unabhängig voneinander sind, haben Sie nur eine Chance von , die nächsten 35 Spiele zu gewinnen. p 21 / ( 1 - 2 p + 2 p 2 ) 1,6 × 10 16 0,432 %p=0.58,p21/(12p+2p2)1.6×10160.432%
Whuber

8
Ich bezweifle, dass alle Punkte (und Spiele) unabhängig voneinander sind (aus verschiedenen Gründen). Die Nicht-Unabhängigkeit könnte einen großen Einfluss auf die Antwort haben.
Mark L. Stone

8
Angenommen, es ist das gleiche Spiel, das ich gespielt habe, dann erinnere ich mich, dass die Aufschlagskraft einen Vorteil hat. Wenn Sie also alles über "heiße Hand" ignorieren, kann es sein, dass Sie beim Aufschlag 68% und wenn nicht, 48% gewinnen - das verzerrt alle Wahrscheinlichkeiten. auch wenn es sich auf 58% ausgleicht Wir haben also nicht genug Informationen ..
Hans Olsson

5
Nur ein Kommentar - 21 Punkte? Tischtennis umgestellt auf ein 11-Punkte-Format, bestes von 7 Spielen, 2
Aufschläge

5
Ich werde weiterhin alle ~ 5 Spiele oder so Updates zu dieser Wette veröffentlichen. Leider dürfen wir nur ein paar Spiele pro Woche spielen, da wir nur nach Feierabend spielen.
Richard

Antworten:


119

Die Analyse wird durch die Aussicht erschwert, dass das Spiel in die "Verlängerung" geht, um mit einem Vorsprung von mindestens zwei Punkten zu gewinnen. (Andernfalls wäre es so einfach wie die unter https://stats.stackexchange.com/a/327015/919 gezeigte Lösung .) Ich werde zeigen, wie Sie das Problem visualisieren und in leicht berechnete Beiträge zu zerlegen die Antwort. Das Ergebnis ist zwar etwas chaotisch, aber überschaubar. Eine Simulation bestätigt ihre Richtigkeit.


Sei deine Wahrscheinlichkeit, einen Punkt zu gewinnen. p Angenommen, alle Punkte sind unabhängig. Die Chance, dass Sie ein Spiel gewinnen, kann in (nicht überlappende) Ereignisse unterteilt werden, je nachdem, wie viele Punkte Ihr Gegner am Ende hat, vorausgesetzt, Sie machen keine Überstunden ( ) oder machen keine Überstunden . Im letzteren Fall ist (oder wird) offensichtlich, dass die Punktzahl irgendwann 20-20 betrug.0,1,,19

Es gibt eine schöne Visualisierung. Lassen Sie die Punkte während des Spiels als Punkte wobei Ihre Punktzahl und die Punktzahl Ihres Gegners ist. Während sich das Spiel entfaltet, bewegen sich die Punkte entlang des Ganzzahlgitters im ersten Quadranten, beginnend bei , wodurch ein Spielpfad erstellt wird . Es endet, wenn einer von Ihnen zum ersten Mal mindestens Punkte erzielt hat und einen Vorsprung von mindestens . Solche Gewinnpunkte bilden zwei Sätze von Punkten, die "absorbierende Grenze" dieses Prozesses, an der der Spielpfad enden muss.x y ( 0 , 0 ) 21 2(x,y)xy(0,0)212

Zahl

Diese Figur zeigt einen Teil der Absorptionsgrenze (sie erstreckt sich unendlich nach oben und rechts) zusammen mit dem Weg eines Spiels, das in die Verlängerung gegangen ist (leider mit einem Verlust für Sie).

Lass uns zählen. Die Anzahl der Möglichkeiten, wie das Spiel mit Punkten für Ihren Gegner enden kann, ist die Anzahl der unterschiedlichen Pfade im ganzzahligen Gitter von Punkten, die mit der anfänglichen Punktzahl und mit der vorletzten Punktzahl . Solche Pfade werden durch die Punkte im Spiel bestimmt, die Sie gewonnen haben. Sie entsprechen daher den Teilmengen der Größe der Zahlen , und es gibt von ihnen. Da Sie auf jedem dieser Pfade Punkte gewonnen haben (mit jeweils unabhängigen Wahrscheinlichkeiten , wobei der Endpunkt gezählt wird) und Ihr Gegner gewonnen haty(x,y)(0,0)(20,y)20+y201,2,,20+y 21py1-py(20+y20)21py Punkte (mit jeweils unabhängigen Wahrscheinlichkeiten ), die mit verknüpften Pfade ergeben eine Gesamtchance von1py

f(y)=(20+y20)p21(1p)y.

Ebenso gibt es Möglichkeiten, zu zu gelangen, die die 20-20-Bindung darstellen. In dieser Situation haben Sie keinen bestimmten Gewinn. Wir können Ihre Gewinnchance durch Annahme einer gemeinsamen Konvention berechnen: Vergessen Sie, wie viele Punkte bis jetzt erzielt wurden, und beginnen Sie, die Punktedifferenz aufzuspüren. Das Spiel hat eine Differenz von und endet, wenn es zuerst oder und zwangsläufig passiert . Lassen sein die Chance , dass Sie gewinnen , wenn das Differential ist .(20+2020)(20,20)0+22±1g(i)i{1,0,1}

Da Ihre Gewinnchance in jeder Situation , haben wirp

g(0)=pg(1)+(1p)g(1),g(1)=p+(1p)g(0),g(1)=pg(0).

Die einzigartige Lösung dieses linearen Gleichungssystems für den Vektor impliziert(g(1),g(0),g(1))

g(0)=p212p+2p2.

Dies ist also Ihre Gewinnchance, sobald erreicht ist (was mit einer Chance von ).(20,20)(20+2020)p20(1p)20

Folglich ist Ihre Gewinnchance die Summe aller dieser disjunkten Möglichkeiten, gleich

y=019f(y)+g(0)p20(1p)20(20+2020)=y=019(20+y20)p21(1p)y+p212p+2p2p20(1p)20(20+2020)=p2112p+2p2(y=019(20+y20)(12p+2p2)(1p)y+(20+2020)p(1p)20).

Das Zeug in den Klammern rechts ist ein Polynom in . (Es sieht aus wie sein Abschluss , aber die führenden Begriffe streichen alle: sein Abschluss ist )p2120

Bei liegt die Gewinnchance nahe beip=0.580.855913992.

Sie sollten keine Probleme damit haben, diese Analyse auf Spiele zu verallgemeinern, die mit einer beliebigen Anzahl von Punkten enden. Wenn der erforderliche Spielraum größer als das Ergebnis komplizierter, ist aber genauso einfach.2

Übrigens hatten Sie mit diesen Gewinnchancen eine Chance von , die ersten Spiele zu gewinnen. Dies steht nicht im Widerspruch zu dem, was Sie melden. Dies könnte uns dazu ermutigen, weiterhin davon auszugehen, dass die Ergebnisse der einzelnen Punkte unabhängig sind. Wir würden damit projizieren, dass Sie eine Chance haben(0.8559)159.7%15

(0.8559)350.432%

alle verbleibenden Spiele zu gewinnen, vorausgesetzt, sie gehen nach all diesen Annahmen vor. Es klingt nicht nach einer guten Wette, es sei denn, die Auszahlung ist hoch!35


Ich überprüfe diese Arbeit gerne mit einer schnellen Simulation. Hier ist RCode, um Zehntausende von Spielen in einer Sekunde zu generieren. Es wird davon ausgegangen, dass das Spiel innerhalb von 126 Punkten beendet ist (extrem wenige Spiele müssen so lange fortgesetzt werden, sodass diese Annahme keinen wesentlichen Einfluss auf das Ergebnis hat).

n <- 21      # Points your opponent needs to win
m <- 21      # Points you need to win
margin <- 2  # Minimum winning margin
p <- .58     # Your chance of winning a point
n.sim <- 1e4 # Iterations in the simulation

sim <- replicate(n.sim, {
  x <- sample(1:0, 3*(m+n), prob=c(p, 1-p), replace=TRUE)
  points.1 <- cumsum(x)
  points.0 <- cumsum(1-x)
  win.1 <- points.1 >= m & points.0 <= points.1-margin
  win.0 <- points.0 >= n & points.1 <= points.0-margin
  which.max(c(win.1, TRUE)) < which.max(c(win.0, TRUE))
})
mean(sim)

Als ich dies durchführte, haben Sie in 8.570 Fällen von 10.000 Iterationen gewonnen. Ein Z-Score (mit ungefähr einer Normalverteilung) kann berechnet werden, um solche Ergebnisse zu testen:

Z <- (mean(sim) - 0.85591399165186659) / (sd(sim)/sqrt(n.sim))
message(round(Z, 3)) # Should be between -3 and 3, roughly.

Der Wert von in dieser Simulation stimmt vollkommen mit der vorstehenden theoretischen Berechnung überein.0.31


Anhang 1

Angesichts der Aktualisierung der Frage, in der die Ergebnisse der ersten 18 Spiele aufgelistet sind, werden hier die Spielpfade rekonstruiert, die mit diesen Daten übereinstimmen. Sie können sehen, dass zwei oder drei der Spiele gefährlich nahe an den Verlusten waren. (Jeder Pfad, der auf einem hellgrauen Quadrat endet, ist ein Verlust für Sie.)

Figur 2

Mögliche Verwendungen dieser Figur umfassen das Beobachten von:

  • Die Pfade konzentrieren sich um eine Steigung, die sich aus dem Verhältnis 267: 380 der Gesamtpunktzahl ergibt, was ungefähr 58,7% entspricht.

  • Die Streuung der Pfade um diese Steigung zeigt die erwartete Variation, wenn die Punkte unabhängig sind.

    • Wenn Punkte in Streifen gezeichnet werden, weisen einzelne Pfade in der Regel lange vertikale und horizontale Strecken auf.

    • Erwarten Sie in einer längeren Reihe ähnlicher Spiele, dass Pfade innerhalb des Farbbereichs bleiben, aber auch, dass einige darüber hinausgehen.

    • Die Aussicht auf ein oder zwei Spiele, deren Weg in der Regel über diesem Spread liegt, deutet auf die Möglichkeit hin, dass Ihr Gegner möglicherweise früher als später ein Spiel gewinnt.


Anlage 2

Der Code zum Erstellen der Figur wurde angefordert. Hier ist es (aufgeräumt, um eine etwas schönere Grafik zu erzeugen).

library(data.table)
library(ggplot2)

n <- 21      # Points your opponent needs to win
m <- 21      # Points you need to win
margin <- 2  # Minimum winning margin
p <- 0.58     # Your chance of winning a point
#
# Quick and dirty generation of a game that goes into overtime.
#
done <- FALSE
iter <- 0
iter.max <- 2000
while(!done & iter < iter.max) {
  Y <- sample(1:0, 3*(m+n), prob=c(p, 1-p), replace=TRUE)
  Y <- data.table(You=c(0,cumsum(Y)), Opponent=c(0,cumsum(1-Y)))
  Y[, Complete := (You >= m & You-Opponent >= margin) |
      (Opponent >= n & Opponent-You >= margin)]
  Y <- Y[1:which.max(Complete)]
  done <- nrow(Y[You==m-1 & Opponent==n-1 & !Complete]) > 0
  iter <- iter+1
}
if (iter >= iter.max) warning("Unable to find a solution. Using last.")
i.max <- max(n+margin, m+margin, max(c(Y$You, Y$Opponent))) + 1
#
# Represent the relevant part of the lattice.
#
X <- as.data.table(expand.grid(You=0:i.max,
                               Opponent=0:i.max))
X[, Win := (You == m & You-Opponent >= margin) |
    (You > m & You-Opponent == margin)]
X[, Loss := (Opponent == n & You-Opponent <= -margin) |
    (Opponent > n & You-Opponent == -margin)]
#
# Represent the absorbing boundary.
#
A <- data.table(x=c(m, m, i.max, 0, n-margin, i.max-margin),
                y=c(0, m-margin, i.max-margin, n, n, i.max),
                Winner=rep(c("You", "Opponent"), each=3))
#
# Plotting.
#
ggplot(X[Win==TRUE | Loss==TRUE], aes(You, Opponent)) +
  geom_path(aes(x, y, color=Winner, group=Winner), inherit.aes=FALSE,
            data=A, size=1.5) +
  geom_point(data=X, color="#c0c0c0") +
  geom_point(aes(fill=Win), size=3, shape=22, show.legend=FALSE) +
  geom_path(data=Y, size=1) +
  coord_equal(xlim=c(-1/2, i.max-1/2), ylim=c(-1/2, i.max-1/2),
              ratio=1, expand=FALSE) +
  ggtitle("Example Game Path",
          paste0("You need ", m, " points to win; opponent needs ", n,
                 "; and the margin is ", margin, "."))

Wie sind die disjunkt? Wiederholen Sie Ihre Konfigurationen nicht? Wenn beispielsweise der Binomialkoeffizient . Wenn dann ist . Aber eine der letzteren Konfigurationen ist genau die, die für (dh 21 gewonnene Punkte für unseren Spieler, 0 für den Gegner). Sollten wir nicht Schnittwahrscheinlichkeiten subtrahieren? Das hat mich in erster Linie blockiert. f(y)y=01y=1(2120)=21y=0
Easymode44

1
@whuber: Großartig, wäre auch die "nette Visualisierung" Teil der r codeImplementierungsoffenlegung? Danke vielmals.
Maximilian

7
@Stefan Mein Wert wurde mit exakter rationaler Arithmetik (in Mathematica ) berechnet und am Ende gerundet. Ich vermute, dass Sie möglicherweise nur mit Gleitkommazahlen mit doppelter Genauigkeit berechnet wurden, und nehme daher an, dass Ihre letzten Ziffern falsch sind. Als rationale Zahl lautet der Wert
2494929816061114641968058046704583744174849151775019163577995310486129149305191822350025177001953125000000000000000000000000000000000000.
Whuber

4
@Maximilian Ich habe Code für die Visualisierung gepostet.
whuber

3
Ich denke, eine einfachere Möglichkeit, mit Überstunden umzugehen, besteht darin, Punkte paarweise zu sammeln, sobald 20-20 erreicht sind. Die einzigen Dinge, die wichtig sind, sind entweder der erste Spieler, der beide gewinnt (Wahrscheinlichkeit 0,58²) oder der zweite, der beide gewinnt (0,42²). Wenn etwas anderes passiert, ignorieren Sie es und spielen Sie weiter, bis eines der oben genannten Ereignisse eintritt. Die Gewinnwahrscheinlichkeit des ersten Spielers nach 20-20 beträgt somit 0,58² / (0,58² + 0,42²) und die des zweiten Spielers beträgt 0,42² / (0,58² + 0,42²).
Supercat

25

Verwenden Sie die Binomialverteilung und nehmen Sie an, dass jeder Punkt unabhängig ist:

  • Die Wahrscheinlichkeit, dass der -Spieler in den ersten Punkten auf (unter Berücksichtigung der Tatsache, dass der letzte Punkt gewonnen werden muss), ist58%2140n=2140(n120)0.58210.42n21 =k=2140(40k)0.58k0.4240k 0.80695

  • Die Wahrscheinlichkeit, dass Spieler von Punkten erhalten, ist das Binomial . Vorausgesetzt, die Wahrscheinlichkeit, dass der -Spieler mit dem Zwei-Punkte-Vorsprung gewinnt, beträgt58%2040(4020)0.58200.42200.07463558%0.5820.582+0.4220.656006

Die Gesamtwahrscheinlichkeit, mit der der -Spieler gewinnt, liegt bei0,80695 + 0,074635 × 0,656006 0,855958%0.80695+0.074635×0.656006 0.8559

Die Wahrscheinlichkeit, dass der -Spieler die ersten Spiele beträgt dann ungefähr was ziemlich unwahrscheinlich ist. Die Wahrscheinlichkeit, dass der -Spieler die letzten Spiele liegt bei was sehr unwahrscheinlich ist. 15 0,85559 150,0969 58 % 35 0,85559 350,004358%150.85559150.096958%350.85559350.0043


2
Der Teil "Die Wahrscheinlichkeit, dass der -Spieler dann mit dem Zwei-Punkte-Vorsprung gewinnt, beträgt "58%0.582/(0.582+0.422)0.656006 könnte eine Erklärung gebrauchen, da dies wahrscheinlich der schwierigste Teil ist Problem.
JiK

1
@JiK: Einmal bei oder später Gleichheit, die Wahrscheinlichkeit eines entscheidenden paar Punkte ist und so ist die Wahrscheinlichkeit , dass der bessere Spieler zwei bekommt vor eher als der schlechten Spieler , da dies - ansonsten kehren sie zu derselben Position zurück20200.582+0.4220.5820.582+0.422
Henry

3
Eine viel prägnantere Antwort als die Top-Antwort, aber ich denke, da es keine Bilder gab und 12 Stunden später gepostet wurde, bekommt es 80 weniger Stimmen? = |
Attackfarm

17

Ich ging mit einer rechnerischen Antwort. Hier ist eine R-Funktion, die ein Ping-Pong-Spiel simuliert, bei dem der Gewinner mit 2 gewinnen muss. Das einzige Argument ist die Wahrscheinlichkeit, dass Sie einen Punkt gewinnen. Es wird das Endergebnis des Spiels zurückgegeben:

## data simulation function ----------------------------------------------------
sim_game <- function(pt_chance) {
  them <- 0
  you <- 0
  while (sum((them < 21 & you < 21), abs(them - you) < 2) > 0) {
    if (rbinom(1, 1, pt_chance) == 1) {
      you <- you + 1
      them <- them + 0
    } else {
      you <- you + 0
      them <- them + 1
    }
  }
  return(list(them = them, you = you))
}

Stellen wir zunächst sicher, dass es funktioniert, indem wir 10.000 Spiele simulieren, bei denen Sie eine 50% ige Chance haben, jeden Punkt zu gewinnen. Wir sollten beachten, dass Ihr Gewinnprozentsatz ungefähr 50% beträgt:

## testing 10,000 games --------------------------------------------------------
set.seed(1839)
results <- lapply(1:10000, function(x) sim_game(.5))
results <- as.data.frame(do.call(rbind, results))
results$you_win <- unlist(results$you) > unlist(results$them)
mean(results$you_win)

Dies ergibt .4955, ungefähr das, was wir erwarten würden. Also schließen wir Ihre 58% an:

## simulate 10,000 games -------------------------------------------------------
set.seed(1839)
results <- lapply(1:10000, function(x) sim_game(.58))
results <- as.data.frame(do.call(rbind, results))
results$you_win <- unlist(results$you) > unlist(results$them)
mean(results$you_win)

Das gibt 8606 zurück. Sie haben also eine Chance von 86,06%, ein Spiel zu gewinnen.

Wir können jetzt über 35 Spielstapel simulieren und sehen, wie oft Sie alle 35 gewinnen würden :

## how often do you win all 35? ------------------------------------------------
set.seed(1839)
won_all_35 <- c()
for (i in 1:10000) {
  results <- lapply(1:35, function(x) sim_game(.58))
  results <- as.data.frame(do.call(rbind, results))
  results$you_win <- unlist(results$you) > unlist(results$them)
  won_all_35[i] <- mean(results$you_win) == 1
}
mean(won_all_35)

Dies ergibt .0037, was bedeutet, dass Sie eine Chance von 0,37% haben, die nächsten 35 Spiele zu gewinnen. Dies setzt voraus, dass alle Spiele und alle Punkte unabhängig voneinander sind. Sie könnten das explizit in die obige Funktion programmieren, wenn Sie wollten.

Hinweis: Ich mache das im laufenden Betrieb. Ich bin mir sicher, dass es einen effizienteren Weg gibt, dies zu programmieren.


Versuchen Sie pbetterwins <- pbinom(19,40,0.42) + dbinom(20,40,0.42) * 0.58^2/(0.58^2+0.42^2); pbetterwins; pbetterwins^35eine Berechnung mit der Binomialverteilung. Nah genug an Ihrer Simulation
Henry

15

Sollen wir davon ausgehen, dass die Gewinnchance von 58% feststeht und die Punkte unabhängig voneinander sind?

Ich glaube, dass Whubers Antwort gut und schön geschrieben und erklärt ist, wenn man bedenkt, dass jeder Punkt unabhängig vom nächsten ist . Ich glaube jedoch, dass dies in der Praxis nur ein interessanter Ausgangspunkt ist (theoretisch / idealisiert). Ich stelle mir vor, dass die Punkte in Wirklichkeit nicht unabhängig voneinander sind, und dies könnte es mehr oder weniger wahrscheinlich machen, dass Ihr Kollege mindestens einmal von 50 zu einem Sieg kommt.

Zuerst stellte ich mir vor, dass die Abhängigkeit der Punkte ein zufälliger Prozess wäre , dh nicht von den Spielern kontrolliert (z. B. wenn man gewinnt oder verliert, wenn man anders spielt), und dies sollte zu einer größeren Streuung der Ergebnisse führen, die dem geringeren Spieler zugute kommt dieser eine von fünfzig Punkten.

Ein zweiter Gedanke könnte jedoch das Gegenteil suggerieren : Die Tatsache, dass Sie bereits mit 9,7% der Chancen etwas "erreicht" haben, kann aus bayesianischer Sicht einige (aber nur geringfügige) Vorteile für Ideen zur Bevorzugung von Mechanismen bringen, die Sie dazu bringen Gewinnen Sie mit einer Wahrscheinlichkeit von mehr als 85%, um ein Spiel zu gewinnen (oder machen Sie es zumindest weniger wahrscheinlich, dass Ihr Gegner eine viel höhere Wahrscheinlichkeit als 15% hat, wie in den vorherigen beiden Absätzen dargelegt). Zum Beispiel könnte es sein, dass Sie besser abschneiden, wenn Ihre Position weniger gut ist (es ist nicht verwunderlich, dass Spieler bei Spielpunkten für oder gegen viel mehr Punkte erzielen als bei regulären Punkten). Sie können die Schätzungen der 85% verbessern, indem Sie diese Dynamik berücksichtigen, und möglicherweise haben Sie eine Wahrscheinlichkeit von mehr als 85%, ein Spiel zu gewinnen.

Wie auch immer, es könnte sehr falsch sein, diese einfache Punktestatistik zu verwenden , um eine Antwort zu geben. Ja, Sie können es tun, aber es wird nicht richtig sein, da die Prämissen (Unabhängigkeit von Punkten) nicht unbedingt korrekt sind und die Antwort stark beeinflussen . Die Statistik 42/58 enthält mehr Informationen, aber wir wissen nicht genau, wie sie zu verwenden ist (die Richtigkeit des Modells), und die Verwendung der Informationen kann zu hochpräzisen Antworten führen, die es tatsächlich nicht gibt.


Beispiel

Beispiel: Ein ebenso vernünftiges Modell mit einem völlig anderen Ergebnis

Die hypothetische Frage (unter der Annahme unabhängiger Punkte und bekannter theoretischer Wahrscheinlichkeiten für diese Punkte) ist an sich interessant und kann beantwortet werden. Aber nur um nervig und skeptisch / zynisch zu sein. Eine Antwort auf den hypothetischen Fall bezieht sich nicht so sehr auf Ihr zugrunde liegendes / ursprüngliches Problem, und möglicherweise zögern die Statistiker / Datenwissenschaftler in Ihrem Unternehmen, eine klare Antwort zu geben.

Nur um ein alternatives (nicht unbedingt besseres) Beispiel zu nennen, das eine verwirrende (Gegen-) Aussage enthält: "F: Wie hoch ist die Wahrscheinlichkeit, alle 50 Spiele zu gewinnen, wenn ich bereits 15 gewonnen habe?" Wenn wir nicht glauben, dass "die Punktzahlen 42/58 relevant sind oder uns bessere Vorhersagen geben", werden wir anfangen, Vorhersagen über Ihre Wahrscheinlichkeit, das Spiel zu gewinnen, und Vorhersagen über weitere 35 Spiele zu treffen, die ausschließlich auf Ihren zuvor gewonnenen Ergebnissen basieren 15 Spiele:

  • mit einer Bayes'schen Technik für Ihre Wahrscheinlichkeit, ein Spiel zu gewinnen, würde dies bedeuten: was ungefähr 31% für ein einheitliches vorheriges f (x) = 1 ist, obwohl das ein bisschen zu optimistisch sein könnte. Wenn Sie jedoch eine Betaverteilung mit zwischen 1 und 5 in Betracht ziehen, erhalten Sie Folgendes:p(win another 35 | after already 15)=01f(p)p5001f(p)p15β=α

nachträgliche Chancen als Funktion der vorherigen Betaverteilung

Das bedeutet, dass ich nicht so pessimistisch wäre wie die einfache Vorhersage von 0,432%. Die Tatsache, dass Sie bereits 15 Spiele gewonnen haben, sollte die Wahrscheinlichkeit erhöhen, dass Sie die nächsten 35 Spiele gewinnen.


Notiz basierend auf den neuen Daten

Basierend auf Ihren Daten für die 18 Spiele habe ich versucht, ein Beta-Binomial-Modell anzupassen. Variiere und und berechne die Wahrscheinlichkeiten, um zu einer Punktzahl i, 21 (über i, 20) oder einer Punktzahl 20, 20 zu gelangen und dann ihre Logs zu summieren ein Log-Likelihood-Score.α=μνβ=(1μ)ν

Es zeigt sich, dass ein sehr hoher Parameter (geringe Streuung in der zugrunde liegenden Beta-Verteilung) eine höhere Wahrscheinlichkeit aufweist und daher wahrscheinlich eine geringe Überstreuung vorliegt. Das bedeutet, dass die Daten nicht darauf hindeuten, dass es besser ist, einen variablen Parameter für Ihre Gewinnwahrscheinlichkeit zu verwenden, als Ihre feste Gewinnchance von 58%. Diese neuen Daten bieten zusätzliche Unterstützung für die Whuber-Analyse, bei der Scores basierend auf einer Binomialverteilung angenommen werden. Dies setzt natürlich weiterhin voraus, dass das Modell statisch ist und dass Sie und Ihr Mitarbeiter sich nach einem Zufallsmodell verhalten (bei dem jedes Spiel und jeder Punkt unabhängig sind).ν

Schätzung der maximalen Wahrscheinlichkeit für Parameter der Betaverteilung anstelle einer festen Gewinnchance von 58%:

maximale Wahrscheinlichkeitsschätzung für die Beta-Verteilung von 58p Gewinnchance

F: Wie lese ich das Diagramm "LogLikelihood for parameters mu and nu"?

EIN:

  • 1) Die Maximum-Likelihood-Schätzung (MLE) ist eine Möglichkeit, ein Modell anzupassen. Wahrscheinlichkeit bedeutet die Wahrscheinlichkeit der Daten unter Berücksichtigung der Parameter des Modells, und dann suchen wir nach dem Modell, das dies maximiert. Dahinter steckt viel Philosophie und Mathematik.
  • 2) Die Darstellung ist eine langsame Berechnungsmethode, um zum optimalen MLE zu gelangen. Ich berechne einfach alle möglichen Werte in einem Raster und sehe, was das Valeu ist. Wenn Sie schneller sein müssen, können Sie entweder eine iterative Rechenmethode / einen Algorithmus verwenden, die / der das Optimum sucht, oder es gibt möglicherweise eine direkte analytische Lösung.
  • 3) Die Parameter und beziehen sich auf die Betaverteilung https://en.wikipedia.org/wiki/Beta_distribution, die als Modell für p = 0.58 verwendet wird (damit es nicht festgelegt wird, sondern von Zeit zu Zeit variiert) Zeit). Dieses modellierte "Beta-P" wird dann mit einem Binomialmodell kombiniert, um Vorhersagen der Wahrscheinlichkeiten zu erhalten, um bestimmte Punktzahlen zu erreichen. Es ist fast das gleiche wie die Beta-Binomialverteilung. Sie können sehen, dass das Optimum um was nicht überraschend ist. Der Wert ist hoch (dh geringe Dispersion). Ich hatte mir zumindest eine Überdispersion vorgestellt / erwartet.μνμ0.6ν

Code / Berechnung für Grafik 1

posterior <- sapply(seq(1,5,0.1), function(x) {
    integrate(function(p) dbeta(p,x,x)*p^50,0,1)[1]$value/
    integrate(function(p) dbeta(p,x,x)*p^15,0,1)[1]$value
  }
)

prior <- sapply(seq(1,5,0.1), function(x) {
  integrate(function(p) dbeta(p,x,x)*p^35,0,1)[1]$value
}
)

layout(t(c(1,2)))


plot(  seq(1,5,0.1), posterior,
       ylim = c(0,0.32),
       xlab = expression(paste(alpha, " and ", beta ," values for prior beta-distribution")),
       ylab = "P(win another 35| after already 15)"
)
title("posterior probability assuming beta-distribution")

plot(  seq(1,5,0.1), prior,
       ylim = c(0,0.32),
       xlab = expression(paste(alpha, " and ", beta ," values for prior beta-distribution")),
       ylab = "P(win 35)"
)
title("prior probability assuming beta-distribution")

Code / Berechnung für Grafik 2

library("shape")

# probability that you win and opponent has kl points
Pwl <- function(a,b,kl,kw=21) {
  kt <- kl+kw-1
  Pwl <- choose(kt,kw-1) * beta(kw+a,kl+b)/beta(a,b)
  Pwl
}

# probability to end in the 20-20 score
Pww <- function(a,b,kl=20,kw=20) {
  kt <- kl+kw
  Pww <- choose(kt,kw) * beta(kw+a,kl+b)/beta(a,b)
  Pww
}

# probability that you lin with kw points
Plw <- function(a,b,kl=21,kw) {
  kt <- kl+kw-1
  Plw <- choose(kt,kw) * beta(kw+a,kl+b)/beta(a,b)
  Plw
}

# calculation of log likelihood for data consisting of 17 opponent scores and 1 tie-position 
# parametezation change from mu (mean) and nu to a and b 
loglike <- function(mu,nu) { 
  a <- mu*nu
  b <- (1-mu)*nu
  scores <- c(18, 17, 11, 13, 15, 15, 16, 9, 17, 17, 13, 8, 17, 11, 17, 13, 19) 
  ps <- sapply(scores, function(x) log(Pwl(a,b,x)))
  loglike <- sum(ps,log(Pww(a,b)))
  loglike
}

#vectors and matrices for plotting contour
mu <- c(1:199)/200
nu <- 2^(c(0:400)/40)
z <- matrix(rep(0,length(nu)*length(mu)),length(mu))
for (i in 1:length(mu)) {
  for(j in 1:length(nu)) {
    z[i,j] <- loglike(mu[i],nu[j])
  }
}

#plotting
levs <- c(-900,-800,-700,-600,-500,-400,-300,-200,-100,-90,-80,-70,-60,-55,-52.5,-50,-47.5)
# contour plot
filled.contour(mu,log(nu),z,
               xlab="mu",ylab="log(nu)",         
               #levels=c(-500,-400,-300,-200,-100,-10:-1),
               color.palette=function(n) {hsv(c(seq(0.15,0.7,length.out=n),0),
                                              c(seq(0.7,0.2,length.out=n),0),
                                              c(seq(1,0.7,length.out=n),0.9))},
               levels=levs,
               plot.axes= c({
                 contour(mu,log(nu),z,add=1, levels=levs)
                 title("loglikelihood for parameters mu and nu")
                 axis(1)
                 axis(2)
               },""),
               xlim=range(mu)+c(-0.05,0.05),
               ylim=range(log(nu))+c(-0.05,0.05)
)

2
+1 Ich schätze die neue Perspektive. Aber ich würde die Behauptung anfechten, dass die Abhängigkeit von Punkten die Wahrscheinlichkeit erhöht, dass der Gegner in den nächsten 35 Spielen gewinnt. In der Tat könnte es in beide Richtungen gehen. Ein plausibler Mechanismus für die gegenteilige Schlussfolgerung ist, dass Sie viel stärker sind als die 58-42 Punkte, und dass Sie, wenn Sie angerufen werden, immer gewinnen können, auch wenn Sie weit zurückliegen. Das eigentliche Problem bei der Nichtübernahme der Unabhängigkeit besteht darin, wie die Nichtunabhängigkeit modelliert werden kann.
Whuber

@whuber, du hast recht. Ich argumentiere auch für beide Wege. 1) Meine ersten Gedanken gingen in eine Richtung, in der die Abhängigkeit zufällig sein würde, z. B. haben Menschen unkontrollierte Höhen und Tiefen, gute und schlechte Momente, und ich stelle mir vor, dass dies eine größere Streuung der Ergebnisse hervorruft, die die Wahrscheinlichkeit des kleineren Spielers erhöht. 2) Damals dachte ich jedoch über Bayes'sche Prinzipien nach und wie die 15 gewonnenen Partien die Analyse beeinflussen könnten (zumindest ist die Frage im Beitrag eine andere Situation als die Frage im Titel), und es könnte Mechanismen geben, von denen die profitieren stärkerer Spieler.
Martijn Weterings

1
In der zweiten Hälfte meines Beitrags gebe ich nur ein Beispiel, das besagt, dass die Gewinnwahrscheinlichkeit größer als 86% sein sollte. Aber obwohl all diese Mathematik sehr präzise klingt, sind wir uns in Wirklichkeit nicht so sicher, da unsere Modelle angesichts dieser geringen Menge an Informationen schlecht sind (mit vielen zusätzlichen, die Genauigkeit verringernden, subjektiven Informationen).
Martijn Weterings

2
@whuber Ich habe meine Antwort bearbeitet. Das war ein guter Kommentar, und ich hoffe, dass die Antwort jetzt klarer ist.
Martijn Weterings

1
2) Die Darstellung ist eine langsame Berechnungsmethode, um zum optimalen MLE zu gelangen. Ich berechne einfach alle möglichen Werte in einem Raster und sehe, was das Valeu ist. Wenn Sie schneller sein müssen, können Sie entweder eine iterative Rechenmethode / einen Algorithmus verwenden, die / der das Optimum sucht, oder es gibt möglicherweise eine direkte analytische Lösung.
Martijn Weterings

12

Man könnte viel Mühe auf ein perfektes Modell verwenden. Aber manchmal ist ein schlechtes Modell besser. Und nichts sagt schlechtes Modell wie der zentrale Grenzwertsatz - alles ist eine normale Kurve.

Wir werden "Überstunden" ignorieren. Wir modellieren die Summe der einzelnen Punkte als normale Kurve. Wir spielen Modell 38 Runden und wer die meisten Punkte hat, gewinnt, anstatt zuerst 20. Dies ist ziemlich ähnlich spieltechnisch!

Und ich behaupte blind, wir kommen der richtigen Antwort sehr nahe.

Sei die Verteilung eines Punktes. hat den Wert 1, wenn Sie einen Punkt erhalten, und 0, wenn Sie dies nicht tun.XX

Also ist = ~ und = = ~ .E(X)0.58Var(X)E(X)(1E(X))0.24

WennXii=138Xi

E(i=138Xi) = = ~38E(X)22.04

Var(i=138Xi) = 38 * Var ( ) = ~X9.12

und = = ~SD(i=138Xi) 3,0238Var(X))3.02

In unserem Rohmodell verlieren wir, wenn und gewinnen, wenn .38 i = 1 X i > 19i=138Xi<19i=138Xi>19

1,0115,62%22.04193.02 ist eine Standardabweichung von vom Mittelwert, die nach Konsultation eines z-Score-Diagramms eine von .1.0115.62%

Wenn wir mit den strengeren Antworten vergleichen, ist dies ungefähr weniger als der richtige Wert.1%

Im Allgemeinen ist es besser, die Zuverlässigkeit der Siegchance zu prüfen, als ein strengeres Modell, das eine Chance annimmt und diese perfekt modelliert.58 %58%58%


@Yakk, wo zum Teufel kamen die 38 her ?? Ich bin mir auch ziemlich sicher, dass var (38 * x) = 38 ^ 2 * var (X) und nicht 38 * var (X) ist. Wie hält sich Ihre "sehr schöne Rückseite der Umschlagberechnung", nachdem Sie diesen Fehler korrigiert haben?
use_norm_approx

@use_ Ich verwende ein schlampiges 38 * X als "Summe von 38 unabhängigen Xs", nicht "ein X mal 38". 38 kommt von "Wer mehr als 19 gewinnt, gewinnt das Spiel". Ich hätte stattdessen 39 Spiele und das erste> 19.5 spielen können. Ergebnis wäre ähnlich.
Yakk

3

Basierend auf der Simulation sieht es so aus, als ob die Wahrscheinlichkeit, ein bestimmtes Spiel zu gewinnen, bei 85,5% liegt.

Die Gewinnwahrscheinlichkeit von genau 2 (so habe ich den Titel gelesen, aber es scheint nicht das zu sein, wonach Sie fragen) liegt bei etwa 10,1%.

Führen Sie den folgenden Code aus.

set.seed(328409)
sim.game <- function(p)
{
 x1 = 0 
 x2 = 0 
 while( (max(c(x1,x2)) < 21) | abs(x1-x2)<2  ) 
 {
   if(runif(1) < p) x1 = x1 + 1 else x2 = x2 + 1 
 }
 return( c(x1,x2) ) 
}

S <- matrix(0, 1e5, 2)
for(k in 1:1e5) S[k,] <- sim.game(0.58)

mean( (S[,1]-S[,2]) == 2 ) #chance of winning by 2
mean(S[,1]>S[,2]) #chance of winning

1
Dies kommt Whubers analytischer Lösung sehr nahe: dbinom(20,40,0.58)*0.58^2/(1-2*0.58+2*0.58^2)+dbinom(20,39,0.58)*0.58Geben von 10,04%
Martijn Weterings
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.