Si j'ai 58% de chances de gagner un point, quelle est ma chance de gagner une partie de ping-pong à 21, gagner par 2?

90

Je parie avec un collègue que sur 50 parties de ping-pong (le premier à avoir gagné 21 points, une victoire par 2), je gagnerai les 50. Jusqu'à présent, nous avons disputé 15 parties et en moyenne je gagne 58% des les points, plus j'ai gagné tous les jeux jusqu'à présent. Nous nous demandons donc si j'ai 58% de chances de gagner un point et s'il a 42% de chances de gagner un point, quel est le pourcentage de chance que je gagne le match? Existe-t-il une formule permettant de saisir la différence de% de chances?

Nous avons cherché sur Google et avons même demandé aux experts en informatique de notre société, mais nous n'avons pas trouvé de réponse directe.

Edit: Wow, je suis époustouflé par la minutie des réponses. Merci beaucoup à vous tous!!! Au cas où les gens seraient curieux, j’aurai une mise à jour de l’avancement de mon pari: j’ai maintenant gagné 18 parties sur 50, je dois donc gagner 32 parties de plus. J'ai gagné 58,7% de tous les points et mon adversaire a donc gagné 41,3% des points. L'écart type pour mon adversaire est de 3,52, son score moyen est de 14,83 et son score médian est de 15,50. Vous trouverez ci-dessous une capture d'écran du score de chaque jeu jusqu'à présent. Je peux garder la mise à jour au fur et à mesure que le pari se poursuit, si les gens sont intéressés.

Edit # 2 : Malheureusement, nous n’avons pu jouer qu’à quelques jeux supplémentaires, voici les résultats. Je vais juste continuer à remplacer la photo pour ne pas avoir quelques captures d'écran de la partition.

Dernière mise à jour : j'ai finalement perdu contre mon collègue au jeu n ° 28. Il m'a battu 21-13. Merci pour toute votre aide!

entrez la description de l'image ici

Richard
la source
11
Il existe une formule: pour il est sous la forme fois un polynôme de degré 20: 21 termes en tout (avec de grands coefficients, le plus grand dépassant ). Si tous les points sont indépendants, vous n’avez que chance de gagner les 35 prochains matchs. p 21 / ( 1 - 2 p + 2 p 2 ) 1,6 × 10 16 0,432 %p=0,58,p21/(1-2p+2p2)1,6×dix160,432%
whuber
8
Je doute que tous les points (et les jeux) soient indépendants les uns des autres (pour diverses raisons). La non-indépendance pourrait avoir un impact important sur la réponse.
Mark L. Stone
8
En supposant que ce soit le même jeu que j'ai joué, je me souviens que celui qui sert a un avantage; si vous ignorez tout de la "main chaude", il se peut que vous gagniez 68% au service et 48% au contraire - cela faussera toutes les probabilités; Même si cela fait 58%, nous n'avons donc pas assez d'informations.
Hans Olsson
5
Juste un commentaire - 21 points? Le tennis de table a changé pour un format de 11 points, le meilleur de 7 matchs, 2 services par joueur à la fois, en 2001.
Rappel du 23/02
5
Je continuerai à poster des mises à jour sur ce pari tous les ~ 5 jeux environ. Malheureusement, nous ne jouons que quelques matchs par semaine, car nous ne jouons qu'après le travail.
richard

Réponses:

119

L'analyse est compliquée par la perspective que le jeu passe en "prolongation" afin de gagner avec une marge d'au moins deux points. (Sinon, ce serait aussi simple que la solution présentée à l' adresse https://stats.stackexchange.com/a/327015/919 .) Je montrerai comment visualiser le problème et comment l'utiliser pour le décomposer en contributions faciles à calculer: la réponse. Le résultat, bien qu'un peu brouillon, est gérable. Une simulation confirme son exactitude.


Soit votre probabilité de gagner un point. p Supposons que tous les points sont indépendants. La chance que vous gagnez une partie peut être décomposée en événements (non-interchangeables) en fonction du nombre de points que votre adversaire a à la fin en supposant que vous n'effectuez pas de temps supplémentaire ( ) ou que vous le faites en temps supplémentaire. Dans ce dernier cas, il est (ou deviendra) évident que, à un moment donné, le score était de 20-20.0,1,,19

Il y a une belle visualisation. Laissez les scores de la partie sous forme de points x est votre score et y le score de votre adversaire. Au fur et à mesure du déroulement du jeu, les scores se déplacent le long du réseau entier du premier quadrant commençant à ( 0 , 0 ) , créant ainsi un chemin de jeu . Il se termine la première fois que l’un d’entre vous a marqué au moins 21 et a une marge d’au moins 2 . Ces points gagnants forment deux ensembles de points, la "limite d'absorption" de ce processus, à laquelle le chemin de jeu doit se terminer.(X,y)Xy(0,0)212

Figure

Cette figure montre une partie de la limite d'absorption (elle s'étend infiniment vers le haut et vers la droite) ainsi que le tracé d'un match en prolongation (avec une perte pour vous, hélas).

Comptons. Le nombre de façons dont le jeu peut se terminer avec des points pour votre adversaire est le nombre de chemins distincts dans le réseau entier de scores ( x , y ) commençant au score initial ( 0 , 0 ) et se terminant à l'avant-dernier score ( 20 , y ) . Ces chemins sont déterminés par lequel des 20 + y points du jeu que vous avez gagnés. Ils correspondent donc aux sous-ensembles de taille 20 des nombres 1 , 2 , , 20 +y(X,y)(0,0)(20,y)20+y20 , et il y a ( 20 + y1,2,,20+y d'entre eux. Etant donnédans chaque cheminvous avez gagné21points(avecprobabilités indépendantespchaque fois,comptant le dernier point) et votre adversaire gagnéypoints (avecprobabilités indépendantes1-pchaque fois), les chemins associés àycompte pourune chance total de(20+y20)21py1-py

F(y)=(20+y20)p21(1-p)y.

De même, il y a façons d’arriver à(20,20)représentant le match nul 20-20. Dans cette situation, vous n'avez pas de victoire définitive. Nous pouvons calculer les chances de votre victoire en adoptant une convention commune: oubliez le nombre de points marqués jusqu'à présent et commencez à suivre le différentiel de points. Le jeu est à un différentiel de0et se terminera quand il atteindra pour la première fois+2ou-2, en passant nécessairement par±1 encours de route. Soitg(i)la chance que tu gagnes quand le différentiel esti{-1(20+2020)(20,20)0+2-2±1g(je) .je{-1,0,1}

Puisque votre chance de gagner dans n'importe quelle situation est , nous avonsp

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

La solution unique à ce système d’équations linéaires pour le vecteur implique(g(-1),g(0),g(1))

g(0)=p212p+2p2.

C’est donc votre chance de gagner une fois atteinte (ce qui se produit avec une chance de ( 20 + 20)(20,20)).(20+2020)p20(1p)20

Par conséquent, votre chance de gagner est la somme de toutes ces possibilités disjointes, égale à

Σy=019F(y)+g(0)p20(1-p)20(20+2020)=Σy=019(20+y20)p21(1-p)y+p21-2p+2p2p20(1-p)20(20+2020)=p211-2p+2p2(Σy=019(20+y20)(1-2p+2p2)(1-p)y+(20+2020)p(1-p)20).

Le contenu entre les parenthèses sur la droite est un polynôme dans . (Il semble que son degré soit égal à 21 , mais les termes principaux s’annulent tous: son degré est égal à 20. )p2120

Lorsque , les chances de gagner sont proches de 0,855913992.p=0,580,855913992.

Vous ne devriez pas avoir de difficulté à généraliser cette analyse aux jeux qui se terminent par un nombre de points quelconque. Lorsque la marge requise est supérieure à le résultat devient plus compliqué mais reste tout aussi simple.2

Incidemment , avec ces chances de gagner, vous aviez chances de gagner les 15 premiers matchs. Cela n’est pas incompatible avec ce que vous rapportez, ce qui pourrait nous encourager à continuer à supposer que les résultats de chaque point sont indépendants. Nous projeterions ainsi que vous avez une chance de(0,8559)159.7%15

(0,8559)350,432%

de remporter tous les jeux restants , en supposant qu'ils procèdent en fonction de toutes ces hypothèses. Cela ne semble pas être un bon pari, à moins que le gain soit important!35


J'aime vérifier un travail comme celui-ci avec une simulation rapide. Voici le Rcode pour générer des dizaines de milliers de jeux en une seconde. Cela suppose que le jeu sera terminé dans un délai de 126 points (extrêmement peu de jeux ont besoin de continuer aussi longtemps, cette hypothèse n'a donc aucun effet matériel sur les résultats).

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)

Quand j’ai couru ça, vous avez gagné dans 8 570 cas sur 10 000 itérations. Un score Z (avec approximativement une distribution normale) peut être calculé pour tester de tels résultats:

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

La valeur de dans cette simulation est parfaitement cohérente avec le calcul théorique précédent.0,31


Annexe 1

À la lumière de la mise à jour de la question, qui répertorie les résultats des 18 premiers jeux, voici des reconstructions de chemins de jeu cohérents avec ces données. Vous pouvez voir que deux ou trois des jeux ont été dangereusement proches des pertes. (Tout chemin se terminant sur un carré gris clair est une perte pour vous.)

Figure 2

Les utilisations potentielles de cette figure incluent:

  • Les chemins se concentrent autour d'une pente donnée par le ratio 267: 380 du total des scores, soit environ 58,7%.

  • La dispersion des chemins autour de cette pente montre la variation attendue lorsque les points sont indépendants.

    • Si les points sont faits en traînées, les trajectoires individuelles auront tendance à avoir de longues étendues verticales et horizontales.

    • Dans une série plus longue de jeux similaires, attendez-vous à voir des chemins qui tendent à rester dans la plage colorée, mais attendez-vous également à ce que quelques-uns s'étendent au-delà.

    • La perspective d’une ou deux parties dont le chemin se situe généralement au-dessus de cet écart indique la possibilité que votre adversaire finisse par gagner une partie, probablement le plus tôt possible.


Annexe 2

Le code pour créer la figure a été demandé. La voici (nettoyée pour produire un graphique légèrement plus joli).

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, "."))
whuber
la source
F(y)y=01y=1(2120)=21y=0
1
@whuber: Parfait, serait-ce aussi la "belle visualisation" de la r codedivulgation de la mise en oeuvre? Merci beaucoup.
Maximilian
7
249492981606111464196805804670458374417484915177501916357799531048612914930519182235002517700195312500000000000000000000000000000000.
4
@ Maximilian j'ai posté du code pour la visualisation.
whuber
3
Je pense qu'une façon plus simple de gérer les heures supplémentaires serait de prendre des points par paires une fois que 20-20 est atteint. Les seules choses qui comptent sont soit le premier joueur gagnant les deux (probabilité de 0,58²), soit le second gagnant les deux (0,42²). Si quelque chose d'autre se passe, ignorez-le et continuez à jouer jusqu'à ce que l'un des problèmes ci-dessus se produise. La probabilité de victoire du premier joueur après 20-20 est donc de 0,58² / (0,58² + 0,42²) et celle du second joueur est de 0,42² / (0,58² + 0,42²).
Supercat
25

En utilisant la distribution binomiale et en supposant que chaque point est indépendant:

  • 58%2140Σn=2140(n-120)0,58210.42n-21 =Σk=2140(40k)0,58k0.4240-k 0.80695

  • 58%2040(4020)0,58200.42200,07463558%0,5820,582+0.4220,656006

58%0.80695+0,074635×0,656006 0,8559

58%150,85559150,096958%350,85559350,0043

Henri
la source
2
58%0,582/(0,582+0.422)0,656006
1
20-200,582+0.4220,5820,582+0.422
3
Une réponse beaucoup plus concise que la première réponse, mais je suppose que, vu qu’elle n’a pas de photos et a été postée 12 heures plus tard, elle obtient 80 votes de moins? = |
Attackfarm
17

Je suis allé avec une réponse informatique. Voici une fonction R qui simule un jeu de ping-pong dans lequel le gagnant doit gagner par 2. Le seul argument est la probabilité que vous gagniez un point. Il retournera le score final de ce jeu:

## 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))
}

Commençons par nous assurer que cela fonctionne en simulant 10 000 jeux dans lesquels vous avez 50% de chances de gagner chaque point. Nous devrions observer que votre pourcentage de victoire est d'environ 50%:

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

Cela renvoie .4955, à propos de ce à quoi nous nous attendions. Alors connectons vos 58%:

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

Cela retourne 0,8606. Vous avez donc environ 86,06% de chances de gagner une partie.

Nous pouvons maintenant simuler 35 lots de jeu et voir combien de fois vous gagneriez tous les 35:

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

Cela renvoie 0,0037, ce qui signifie que vous avez environ 0,37% de chances de gagner les 35 prochains matchs. Cela suppose que tous les jeux et tous les points sont indépendants les uns des autres. Vous pouvez programmer cela explicitement dans la fonction ci-dessus, si vous le souhaitez.

Note: Je fais ça à la volée. Je suis sûr qu'il existe un moyen de programmation plus efficace sur le plan informatique.

Mark White
la source
Essayez pbetterwins <- pbinom(19,40,0.42) + dbinom(20,40,0.42) * 0.58^2/(0.58^2+0.42^2); pbetterwins; pbetterwins^35un calcul en utilisant la distribution binomiale. Assez proche de votre simulation
Henry
15

Devons-nous supposer que les 58% de chances de gagner sont fixes et que les points sont indépendants?

Je pense que la réponse de Whuber est bonne , et bien écrite et expliquée, lorsque l’on tient compte du fait que chaque point est indépendant du point suivant . Cependant, je pense que, dans la pratique, ce n’est qu’un point de départ intéressant (théorique / idéalisé). J'imagine qu'en réalité, les points ne sont pas indépendants les uns des autres, ce qui peut rendre plus ou moins probable que votre collègue adversaire remporte une victoire au moins une fois sur 50.

Au début, j’imaginais que la dépendance des points serait un processus aléatoire , c’est-à-dire non contrôlé par les joueurs (par exemple, lorsque l’on gagne ou que l'on perd de jouer différemment), ce qui devrait créer une plus grande dispersion des résultats, ce qui profiterait au joueur inférieur. celui-ci pointe sur cinquante.

Une seconde réflexion pourrait toutefois suggérer le contraire : le fait que vous ayez déjà "atteint" quelque chose avec 9,7% de chance peut donner un avantage (mais seulement minime), du point de vue bayésien, aux idées sur les mécanismes favorisant gagnez plus de 85% de chances de gagner une partie (ou du moins, réduisez le risque que votre adversaire ait une probabilité beaucoup plus élevée que 15%, comme indiqué dans les deux paragraphes précédents). Par exemple, il se peut que vous obteniez de meilleurs résultats lorsque votre position est moins bonne (il n’est pas étonnant que les personnes marquant des scores beaucoup plus différents sur les points de match, favorables ou défavorables, que sur les points ordinaires). Vous pouvez améliorer les estimations des 85% en tenant compte de cette dynamique et vous avez probablement plus de 85% de chances de gagner une partie.

Quoi qu’il en soit, il pourrait être très erroné d’utiliser cette simple statistique de points pour fournir une réponse. Oui, vous pouvez le faire, mais ce ne sera pas correct car les prémisses (indépendance des points) ne sont pas nécessairement correctes et influencent grandement la réponse . La statistique 42/58 donne plus d’informations mais nous ne savons pas très bien comment l’utiliser (la justesse du modèle) et son utilisation pourrait fournir des réponses d’une grande précision qu’elle n’a pas réellement.


Exemple

Exemple: un modèle tout aussi raisonnable avec un résultat complètement différent

Donc, la question hypothétique (supposant des points indépendants et des probabilités théoriques connues pour ces points) est en elle-même intéressante et on peut y répondre, mais juste pour être ennuyeuse et sceptique / cynique; une réponse au cas hypothétique ne concerne pas tellement votre problème sous-jacent / original, et pourrait expliquer pourquoi les statisticiens / informaticiens de votre société hésitent à donner une réponse claire.

Juste pour donner un exemple alternatif (pas nécessairement meilleur) qui fournit une déclaration (contre-) déroutante "Q: quelle est la probabilité de gagner la totalité des 50 parties si je gagne déjà 15?" Si nous ne commençons pas à penser que «les points 42/58 sont pertinents ou nous donnent de meilleures prédictions», nous commencerions alors à prédire votre probabilité de gagner le jeu et les prédictions de gagner 35 autres jeux uniquement sur la base de vos gains précédents. 15 jeux:

  • p(gagner un autre 35 | après déjà 15)=01F(p)p5001F(p)p15β=α

chances postérieures en fonction de la distribution bêta antérieure

ce qui signifie que je ne serais pas aussi pessimiste que la simple prédiction de 0,432%. Le fait que vous ayez déjà remporté 15 matchs devrait augmenter la probabilité de gagner les 35 prochains matchs.


Note basée sur les nouvelles données

α=μνβ=(1-μ)ν

ν

Estimation du maximum de vraisemblance pour les paramètres de la distribution bêta à la place d'une chance de gain fixée à 58%:

estimation du maximum de vraisemblance pour la distribution bêta de la chance de gagner 58p

Q: comment lire le graphique "LogLikelihood pour les paramètres mu et nu"?

UNE:

  • 1) L'estimation de vraisemblance maximale (MLE) est un moyen de s'adapter à un modèle. La vraisemblance signifie la probabilité des données compte tenu des paramètres du modèle, puis nous recherchons le modèle qui maximise cette valeur. Il y a beaucoup de philosophie et de mathématiques derrière cela.
  • 2) L'intrigue est une méthode de calcul paresseuse pour obtenir le MLE optimal. Je viens de calculer toutes les valeurs possibles sur une grille et de voir ce que valeu est. Si vous devez être plus rapide, vous pouvez utiliser une méthode / un algorithme de calcul itératif qui recherche l'optimum, ou éventuellement une solution analytique directe.
  • μνμ0.6ν

code / calcul pour le graphique 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 / calcul pour le graphique 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)
)
Sextus Empiricus
la source
2
+1 J'apprécie la nouvelle perspective. Mais je conteste l'affirmation selon laquelle la dépendance entre les points augmente les chances de voir l'adversaire gagner lors des 35 prochains matchs. En fait, cela pourrait aller dans les deux sens. Un mécanisme plausible pour la conclusion opposée est que vous êtes bien plus fort que ne le laisse supposer un avantage de 58-42, et que, lorsque vous y êtes invité, vous pouvez toujours vous rallier pour gagner n'importe quel match, même si vous êtes loin derrière. Le vrai problème de ne pas assumer l'indépendance concerne la modélisation de la non-indépendance.
whuber
@ Whuber, vous avez raison. Je plaide également pour l'un ou l'autre moyen. 1) Mes premières pensées allaient dans une direction: la dépendance serait aléatoire, par exemple, les gens ont des hauts et des bas incontrôlés , bons et mauvais moments, ce qui, je suppose, créera une plus grande dispersion des résultats, ce qui augmentera la probabilité du joueur inférieur. 2) Cependant, je pensais alors aux principes bayésiens et à la manière dont les 15 parties gagnées pouvaient influencer l’analyse (du moins la question posée dans le message est différente de celle du titre), et il pourrait exister des mécanismes favorables à la joueur plus fort.
Sextus Empiricus
1
Dans la seconde moitié de mon post, je ne donne qu'un exemple en faisant valoir que la probabilité de gagner devrait être supérieure à 86%. Mais si toutes ces mathématiques semblent très précises, en réalité, nous n’en sommes pas vraiment sûrs car nos modèles sont mauvais (avec beaucoup d’informations subjectives supplémentaires, de moins en moins exactes) compte tenu de cette petite quantité d’informations.
Sextus Empiricus
2
@whuber j'ai édité ma réponse. C'était un bon commentaire et j'espère que c'est plus clair maintenant dans la réponse.
Sextus Empiricus
1
2) L'intrigue est une méthode de calcul paresseuse pour obtenir le MLE optimal. Je viens de calculer toutes les valeurs possibles sur une grille et de voir ce que valeu est. Si vous devez être plus rapide, vous pouvez utiliser une méthode / un algorithme de calcul itératif qui recherche l'optimum, ou éventuellement une solution analytique directe.
Sextus Empiricus
12

Beaucoup d'efforts pourraient être consacrés à un modèle parfait. Mais parfois, un mauvais modèle, c'est mieux. Et rien ne dit mauvais modèle comme le théorème limite centrale - tout est une courbe normale.

Nous allons ignorer les "heures supplémentaires". Nous modéliserons la somme des points individuels sous forme de courbe normale. Nous modéliserons en jouant 38 tours et celui qui a le plus de points gagne, au lieu du premier à 20. C'est assez similaire au point de vue du jeu!

Et aveuglément, je dirai que nous nous approchons de la bonne réponse.

XX

E(X)0,58Vuner(X)E(X)*(1-E(X))0.24

XjeΣje=138Xje

E(Σje=138Xje)38*E(X)22.04

Vuner(Σje=138Xje)X9.12

S(Σje=138Xje)38*Vuner(X))3.02

Σje=138Xje<19Σje=138Xje>19

22.04-193.021,0115.62%

1%

58%58%

Yakk
la source
@Yakk, d'où vient le 38? De plus, je suis presque sûr que var (38 * x) = 38 ^ 2 * var (X), pas 38 * var (X). Comment votre "très bon calcul de retour de l'enveloppe" résiste-t-il après avoir corrigé cette erreur?
use_norm_approx
@use_ J'utilise un 38 * X bâclé comme "somme de 38 X indépendants", et non "un X fois 38". 38 vient de "quiconque obtient plus de 19 victoires remporte le premier gagne la partie". J'aurais pu utiliser 39 jeux et le premier> 19,5 à la place; résultat serait similaire.
Yakk
3

Sur la base de la simulation, la probabilité de gagner n’importe quel jeu est d’environ 85,5%.

La probabilité de gagner exactement 2 (c'est ainsi que je lis le titre, mais cela ne semble pas être ce que vous demandez) est d'environ 10,1%.

Exécutez le code ci-dessous.

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
intra_personne
la source
1
Cela se rapproche beaucoup de la solution analytique de Whuber: dbinom(20,40,0.58)*0.58^2/(1-2*0.58+2*0.58^2)+dbinom(20,39,0.58)*0.58donner 10,04%
Sextus Empiricus.