Si tengo un 58% de posibilidades de ganar un punto, ¿cuál es la probabilidad de que gane un juego de ping pong a 21, gane por 2?


90

Tengo una apuesta con un compañero de trabajo de que de 50 juegos de ping pong (primero en ganar 21 puntos, ganar por 2), ganaré los 50. Hasta ahora hemos jugado 15 juegos y en promedio gano el 58% de los puntos, además he ganado todos los juegos hasta ahora. Entonces nos preguntamos si tengo un 58% de posibilidades de ganar un punto y él tiene un 42% de posibilidades de ganar un punto, ¿cuál es el porcentaje de posibilidades de que gane el juego? ¿Existe una fórmula que podamos conectar en% de probabilidad de diferencia?

Buscamos en Google por todas partes e incluso preguntamos a los científicos de datos de nuestra empresa, pero no pudimos encontrar una respuesta directa.

Editar: Wow, estoy impresionado por la minuciosidad de las respuestas. ¡¡¡Muchas gracias a todos!!! En caso de que la gente sienta curiosidad, tengo una actualización de cómo va mi apuesta: ahora he ganado 18 de 50 juegos, así que necesito ganar 32 juegos más. He ganado el 58.7% de todos los puntos y mi oponente ha ganado el 41.3% de los puntos. La desviación estándar para mi oponente es 3.52, su puntaje promedio es 14.83 y su puntaje promedio es 15.50. A continuación se muestra una captura de pantalla de la puntuación de cada juego hasta el momento. Puedo seguir actualizando a medida que avanza la apuesta, si la gente está interesada.

Edición n. ° 2 : Desafortunadamente solo hemos podido jugar algunos juegos más, a continuación se muestran los resultados. Voy a seguir reemplazando la imagen para no tener muchas capturas de pantalla de la partitura.

Actualización final : finalmente perdí contra mi compañero de trabajo en el juego # 28. Me ganó 21-13. ¡Gracias por toda tu ayuda!

ingrese la descripción de la imagen aquí


11
No es una fórmula: para que es en la forma veces un polinomio grado-20: 21 términos en todos (con grandes coeficientes, la más grande inferior o igual a ). Si todos los puntos son independientes, solo tienes un posibilidades de ganar los próximos 35 juegos. 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
Dudo que todos los puntos (y juegos) sean independientes entre sí (por una variedad de razones). La no independencia podría tener un gran impacto en la respuesta.
Mark L. Stone

8
Asumiendo que es el mismo juego que jugué, recuerdo que el que sirve tiene una ventaja; así que ignorar todo lo relacionado con la "mano caliente" podría ser que ganes 68% cuando sirvas y 48% cuando no, eso sesgará todas las probabilidades; incluso si se iguala al 58% Por lo tanto, no tenemos suficiente información ..
Hans Olsson

55
Solo un comentario: ¿21 puntos? El tenis de mesa cambió a un formato de 11 puntos, el mejor de 7 juegos, 2 saques por jugador a la vez, en 2001.
rcgldr

55
Continuaré publicando actualizaciones sobre esta apuesta cada ~ 5 juegos más o menos. Desafortunadamente, solo podemos jugar algunos juegos por semana, ya que solo jugamos después del trabajo.
Richard

Respuestas:


119

El análisis se complica por la posibilidad de que el juego entre en "tiempo extra" para ganar por un margen de al menos dos puntos. (De lo contrario, sería tan simple como la solución que se muestra en https://stats.stackexchange.com/a/327015/919 .) Mostraré cómo visualizar el problema y usarlo para dividirlo en contribuciones fácilmente calculadas para la respuesta. El resultado, aunque un poco desordenado, es manejable. Una simulación confirma su exactitud.


Sea su probabilidad de ganar un punto. p Suponga que todos los puntos son independientes. La posibilidad de que ganes un juego se puede dividir en eventos (sin solapamiento) según la cantidad de puntos que tenga tu oponente al final, suponiendo que no pases horas extras ( ) o que pases horas extras . En este último caso, es (o será) obvio que en algún momento el puntaje fue de 20-20.0,1,,19

Hay una buena visualización. Deje que los puntajes durante el juego se tracen como puntos donde es su puntaje es el puntaje de su oponente. A medida que se desarrolla el juego, las puntuaciones se mueven a lo largo de la red de enteros en el primer cuadrante que comienza en , creando una ruta de juego . Termina la primera vez que uno de ustedes ha marcado al menos y tiene un margen de al menos . Dichos puntos ganadores forman dos conjuntos de puntos, el "límite absorbente" de este proceso, donde la ruta del juego debe terminar.x y ( 0 , 0 ) 21 2(x,y)xy(0,0)212

Figura

Esta figura muestra parte del límite absorbente (se extiende infinitamente hacia arriba y hacia la derecha) junto con la ruta de un juego que entró en tiempo extra (con una pérdida para ti, por desgracia).

Contemos. El número de formas en que el juego puede terminar con puntos para tu oponente es el número de caminos distintos en la red entera de puntajes comienzan en el puntaje inicial y terminan en el penúltimo puntaje . Dichos caminos están determinados por cuál de los más de puntos en el juego que ganaste. Corresponden, por lo tanto, a los subconjuntos de tamaño de los números , y hay de ellos. Dado que en cada camino ganaste puntos (con probabilidades independientes cada vez, contando el punto final) y tu oponente ganóy(x,y)(0,0)(20,y)20+y201,2,,20+y(20+y20)21pypuntos (con probabilidades independientes cada vez), las rutas asociadas con representan una probabilidad total de1py

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

Del mismo modo, hay formas de llegar a representan el empate 20-20. En esta situación no tienes una victoria definitiva. Podemos calcular la posibilidad de su victoria adoptando una convención común: olvide cuántos puntos se han anotado hasta ahora y comience a rastrear el diferencial de puntos. El juego está en un diferencial de y terminará cuando alcance por primera vez o , pasando necesariamente por en el camino. Deje que sea ​​la oportunidad de ganar cuando el diferencial es .(20+2020)(20,20)0+22±1g(i)i{1,0,1}

Como su posibilidad de ganar en cualquier situación es , tenemosp

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

La solución única a este sistema de ecuaciones lineales para el vector implica(g(1),g(0),g(1))

g(0)=p212p+2p2.

Por lo tanto, esta es su oportunidad de ganar una vez que se alcanza (lo que ocurre con una probabilidad de ).(20,20)(20+2020)p20(1p)20

En consecuencia, su posibilidad de ganar es la suma de todas estas posibilidades disjuntas, igual a

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

Lo que está dentro de los paréntesis a la derecha es un polinomio en . (Parece que su grado es , pero todos los términos principales se cancelan: su grado es ).21 20p2120

Cuando , la posibilidad de una victoria es cercana a0,855913992.p=0.580.855913992.

No debería tener problemas para generalizar este análisis a los juegos que terminan con cualquier número de puntos. Cuando el margen requerido es mayor que el resultado se vuelve más complicado pero es igual de sencillo.2

Por cierto , con estas posibilidades de ganar, tenías una posibilidades de ganar los primeros juegos. Eso no es inconsistente con lo que informa, lo que podría alentarnos a continuar suponiendo que los resultados de cada punto son independientes. Por lo tanto, proyectaríamos que tiene la posibilidad de15(0.8559)159.7%15

(0.8559)350.432%

de ganar todos los juegos restantes , suponiendo que procedan de acuerdo con todos estos supuestos. ¡No parece una buena apuesta a menos que la recompensa sea grande!35


Me gusta verificar trabajos como este con una simulación rápida. Aquí hay un Rcódigo para generar decenas de miles de juegos en un segundo. Asume que el juego terminará en 126 puntos (extremadamente pocos juegos necesitan continuar tanto tiempo, por lo que esta suposición no tiene un efecto material en los resultados).

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)

Cuando ejecuté esto, ganaste en 8,570 casos de las 10,000 iteraciones. Se puede calcular un puntaje Z (con aproximadamente una distribución Normal) para probar tales resultados:

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

El valor de en esta simulación es perfectamente consistente con el cálculo teórico anterior.0.31


Apéndice 1

A la luz de la actualización de la pregunta, que enumera los resultados de los primeros 18 juegos, aquí hay reconstrucciones de rutas de juego consistentes con estos datos. Puedes ver que dos o tres de los juegos fueron peligrosamente cercanos a las pérdidas. (Cualquier camino que termine en un cuadrado gris claro es una pérdida para usted).

Figura 2

Los usos potenciales de esta figura incluyen observar:

  • Los caminos se concentran alrededor de una pendiente dada por la proporción 267: 380 del puntaje total, equivalente aproximadamente al 58.7%.

  • La dispersión de los caminos alrededor de esa pendiente muestra la variación esperada cuando los puntos son independientes.

    • Si los puntos se hacen en rayas, entonces las rutas individuales tenderían a tener tramos largos verticales y horizontales.

    • En un conjunto más largo de juegos similares, espere ver caminos que tienden a permanecer dentro del rango de color, pero también espera que algunos se extiendan más allá.

    • La posibilidad de un juego o dos cuyo camino se encuentra generalmente por encima de esta extensión indica la posibilidad de que su oponente eventualmente gane un juego, probablemente más temprano que tarde.


Apéndice 2

Se solicitó el código para crear la figura. Aquí está (limpiado para producir un gráfico un poco más agradable).

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

¿Cómo son los disjuntos? ¿No repiten sus configuraciones? Por ejemplo, cuando el coeficiente binomial es . Cuando entonces . Pero una de las últimas configuraciones es exactamente la que se encuentra para (es decir, 21 puntos ganados para nuestro jugador, 0 para el oponente). ¿No deberíamos restar las probabilidades de intersecciones? Esto es lo que me bloqueó en primer lugar. f(y)y=01y=1(2120)=21y=0
Easymode44

1
@whuber: Genial, ¿sería también la parte de "visualización agradable" de la r codedivulgación de implementación? Muchas gracias.
Maximiliano

77
@Stefan Mi valor se calculó utilizando aritmética racional exacta (en Mathematica ) y se redondeó al final. Sospecho que el suyo podría haberse calculado utilizando solo punto flotante de doble precisión, y por lo tanto supongo que sus últimos dígitos son incorrectos. Como número racional, el valor es
2494929816061114641968058046704583744174849151775019163577995310486129149305191822350025177001953125000000000000000000000000000000000000.
whuber

44
@Maximilian Publiqué el código para la visualización.
whuber

3
Creo que una forma más sencilla de manejar las horas extra sería tomar puntos en parejas una vez que se alcancen 20-20. Lo único que importa es que el primer jugador gane ambos (probabilidad 0.58²) o que el segundo gane ambos (0.42²). Si sucede algo más, ignóralo y sigue jugando hasta que ocurra uno de los anteriores. La probabilidad de ganar del primer jugador después de 20-20 es por lo tanto 0.58² / (0.58² + 0.42²) y la del segundo jugador es 0.42² / (0.58² + 0.42²).
supercat

25

Usar la distribución binomial y asumir que cada punto es independiente:

  • La probabilidad de que el jugador llegue a en los primeros puntos (teniendo en cuenta el hecho de que se debe ganar el último punto) es58%2140n=2140(n120)0.58210.42n21 =k=2140(40k)0.58k0.4240k 0.80695

  • La probabilidad de que el jugador obtenga de puntos jugados es el binomio . Condicionado a eso, la probabilidad de que el jugador gane con el margen de dos puntos es58%2040(4020)0.58200.42200.07463558%0.5820.582+0.4220.656006

Entonces, la probabilidad general de que gane el jugador es aproximadamente58%0.80695+0.074635×0.656006 0.8559

La probabilidad de que el jugador del gane los primeros juegos es entonces de aproximadamente cual es bastante improbable. La probabilidad de que el jugador del gane los últimos juegos es de aproximadamente cual es muy poco probable. 58%150.85559150.096958%350.85559350.0043


2
La parte "la probabilidad de que el jugador del gane luego con el margen de dos puntos es "58%0.582/(0.582+0.422)0.656006 podría usar alguna explicación, ya que probablemente sea la parte más difícil de este problema.
JiK

1
@JiK: una vez con una igualdad de o posterior, la probabilidad de un par decisivo de puntos es y, por lo tanto, la probabilidad de que el mejor jugador tenga dos puntos de ventaja en lugar de que el peor jugador lo haga es - de lo contrario regresan a la misma posición20200.582+0.4220.5820.582+0.422
Henry

3
Una respuesta mucho más concisa que la respuesta principal, pero supongo que dado que no tenía fotos y se publicó 12 horas después, ¿obtiene 80 votos menos? = |
Attackfarm

17

Fui con una respuesta computacional. Aquí hay una función R que simula un juego de ping-pong donde el ganador tiene que ganar por 2. El único argumento es la probabilidad de que ganes un punto. Devolverá el puntaje final de ese juego:

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

Primero, asegurémonos de que funciona simulando 10,000 juegos en los que tienes un 50% de posibilidades de ganar cada punto. Debemos observar que su porcentaje de victorias es aproximadamente del 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)

Esto devuelve .4955, sobre lo que esperaríamos. Así que conectemos su 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)

Esto devuelve .8606. Entonces tienes una probabilidad de 86.06% de ganar un juego.

Ahora podemos simular en 35 lotes de juegos y ver cuántas veces ganarías los 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)

Esto devuelve .0037, lo que significa que tienes alrededor de un 0,37% de posibilidades de ganar los próximos 35 juegos. Esto supone que todos los juegos y todos los puntos son independientes entre sí. Podrías programarlo explícitamente en la función anterior, si quisieras.

Nota: estoy haciendo esto sobre la marcha. Estoy seguro de que hay una manera más computacionalmente eficiente de programar esto.


Intente pbetterwins <- pbinom(19,40,0.42) + dbinom(20,40,0.42) * 0.58^2/(0.58^2+0.42^2); pbetterwins; pbetterwins^35un cálculo usando la distribución binomial. Lo suficientemente cerca de su simulación
Henry

15

¿Debemos suponer que el 58% de posibilidades de ganar es fijo y que los puntos son independientes?

Creo que la respuesta de Whuber es buena , y está bellamente escrita y explicada, cuando se considera que cada punto es independiente del siguiente . Sin embargo, creo que, en la práctica, es solo un punto de partida interesante (teórico / idealizado). Me imagino que en realidad los puntos no son independientes entre sí, y esto podría hacer que sea más o menos probable que su oponente compañero de trabajo gane al menos una vez de 50.

Al principio, imaginé que la dependencia de los puntos sería un proceso aleatorio , es decir, no controlado por los jugadores (por ejemplo, cuando uno gana o pierde jugando de manera diferente), y esto debería crear una mayor dispersión de los resultados que beneficiaría al jugador menor para obtener este punto de cincuenta.

Sin embargo, un segundo pensamiento podría sugerir lo contrario : el hecho de que ya "haya logrado" algo con un 9.7% de probabilidad puede brindar algún beneficio (pero solo leve), desde un punto de vista bayesiano, a ideas sobre cómo favorecer mecanismos que lo lleven a gana más del 85% de probabilidad de ganar un juego (o al menos hace que sea menos probable que tu oponente tenga una probabilidad mucho mayor que el 15% como se argumenta en los dos párrafos anteriores). Por ejemplo, podría ser que su puntaje sea mejor cuando su posición es menos buena (no es extraño que las personas obtengan puntos mucho más diferentes en los puntos de partido, a favor o en contra, que en los puntos normales). Puede mejorar las estimaciones del 85% teniendo en cuenta estas dinámicas y posiblemente tenga más del 85% de probabilidad de ganar un juego.

De todos modos, podría ser muy incorrecto usar esta estadística de puntos simples para proporcionar una respuesta. Sí, puede hacerlo, pero no será correcto ya que las premisas (independencia de los puntos) no son necesariamente correctas e influyen mucho en la respuesta . La estadística 42/58 es más información, pero no sabemos muy bien cómo usarla (la corrección del modelo) y el uso de la información podría proporcionar respuestas con alta precisión que en realidad no tiene.


Ejemplo

Ejemplo: un modelo igualmente razonable con un resultado completamente diferente

Entonces, la pregunta hipotética (asumiendo puntos independientes y probabilidades conocidas, teóricas para estos puntos) es en sí misma interesante y puede ser respondida, pero solo para ser molesta y escéptica / cínica; Una respuesta al caso hipotético no se relaciona tanto con su problema subyacente / original, y podría ser la razón por la cual los estadísticos / científicos de datos de su empresa son reacios a proporcionar una respuesta directa.

Solo para dar un ejemplo alternativo (no necesariamente mejor) que proporciona una confusa (contra) declaración 'P: ¿cuál es la probabilidad de ganar el total de 50 juegos si ya gané 15?' Si no empezamos a pensar que "los puntajes de puntos 42/58 son relevantes o nos dan mejores predicciones", entonces comenzaríamos a hacer predicciones de su probabilidad de ganar el juego y predicciones para ganar otros 35 juegos únicamente en función de su ganado anteriormente 15 juegos:

  • con una técnica bayesiana para su probabilidad de ganar un juego, esto significaría: que es aproximadamente el 31% para un uniforme anterior f (x) = 1, aunque eso podría ser un poco demasiado optimista. Pero aún así, si considera una distribución beta con entre 1 y 5, obtendrá:p(win another 35 | after already 15)=01f(p)p5001f(p)p15β=α

Posibilidades posteriores en función de la distribución beta previa

lo que significa que no sería tan pesimista como la predicción directa de 0.432%. El hecho de que ya haya ganado 15 juegos debería aumentar la probabilidad de que gane los próximos 35 juegos.


Nota basada en los nuevos datos.

Según sus datos para los 18 juegos, intenté ajustar un modelo beta-binomial. Variando y y calculando las probabilidades de obtener un puntaje i, 21 (a través de i, 20) o un puntaje 20,20 y luego sumar sus registros a un puntaje de probabilidad de registro.α=μνβ=(1μ)ν

Muestra que un parámetro muy alto (poca dispersión en la distribución beta subyacente) tiene una mayor probabilidad y, por lo tanto, es probable que haya poca sobredispersión. Eso significa que los datos no sugieren que es mejor usar un parámetro variable para su probabilidad de ganar un punto, en lugar de su probabilidad fija de ganar del 58%. Estos nuevos datos proporcionan soporte adicional para el análisis de Whuber, que asume puntajes basados ​​en una distribución binomial. Pero, por supuesto, esto todavía supone que el modelo es estático y que usted y su compañero de trabajo se comportan de acuerdo con un modelo aleatorio (en el que cada juego y cada punto son independientes).ν

Estimación de máxima verosimilitud para los parámetros de distribución beta en lugar de una probabilidad de ganar fija del 58%:

Estimación de probabilidad máxima para la distribución beta de 58p de probabilidad de ganar

P: ¿cómo se lee el gráfico "LogLikelihood para parámetros mu y nu"?

UNA:

  • 1) La estimación de máxima verosimilitud (MLE) es una forma de ajustar un modelo. Probabilidad significa la probabilidad de los datos dados los parámetros del modelo y luego buscamos el modelo que maximiza esto. Hay mucha filosofía y matemáticas detrás de esto.
  • 2) La trama es un método computacional perezoso para llegar al MLE óptimo. Solo calculo todos los valores posibles en una cuadrícula y veo cuál es el valeu. Si necesita ser más rápido, puede usar un método / algoritmo computacional iterativo que busque lo óptimo, o posiblemente pueda haber una solución analítica directa.
  • 3) Los parámetros y relacionan con la distribución beta https://en.wikipedia.org/wiki/Beta_distribution que se usa como modelo para p = 0.58 (para que no se arregle, sino que varía de un momento a otro) hora). Este 'beta-p' modelado se combina con un modelo binomial para llegar a predicciones de probabilidades de alcanzar ciertas puntuaciones. Es casi lo mismo que la distribución beta-binomial. Puede ver que lo óptimo es alrededor de cual no es sorprendente. El valor es alto (es decir, baja dispersión). Había imaginado / esperado al menos algo de dispersión excesiva.ν μ 0.6 νμνμ0.6ν

código / cálculo para el gráfico 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")

código / cálculo para el gráfico 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 Aprecio la nueva perspectiva. Pero desafiaría la afirmación de que la dependencia entre puntos hace que sea más probable que el oponente gane en los próximos 35 juegos. De hecho, podría ir en cualquier dirección. Un mecanismo plausible para la conclusión opuesta es que eres mucho más fuerte de lo que sugeriría la ventaja de 58-42 en puntos, y que cuando se te solicita, siempre puedes recuperarte para ganar cualquier juego, incluso si estás muy por detrás. El verdadero problema de no asumir la independencia se refiere a cómo modelar la no independencia.
whuber

@whuber, tienes razón. También defiendo de cualquier manera. 1) Mis primeros pensamientos fueron en una dirección, la dependencia sería aleatoria, por ejemplo, las personas tienen altibajos incontrolados buenos y malos momentos, y esto imagino que creará una mayor dispersión de los resultados al aumentar la probabilidad del jugador menor. 2) Sin embargo, estaba pensando en los principios bayesianos y en cómo los 15 juegos ganados pueden influir en el análisis (al menos la pregunta en la publicación es una situación diferente de la pregunta en el título), y podría haber posibles mecanismos que beneficien al jugador más fuerte
Sextus Empiricus

1
En la segunda mitad de mi publicación, doy solo un ejemplo que argumenta que la probabilidad de ganar debería ser mayor al 86%. Pero si bien todas estas matemáticas suenan muy precisas, en realidad no estamos tan seguros ya que nuestros modelos son malos (con mucha información adicional, que disminuye la precisión y subjetiva) dada esta pequeña cantidad de información.
Sextus Empiricus

2
@whuber He editado mi respuesta. Ese fue un buen comentario, y espero que ahora esté más claro en la respuesta.
Sextus Empiricus

1
2) La trama es un método computacional perezoso para llegar al MLE óptimo. Solo calculo todos los valores posibles en una cuadrícula y veo cuál es el valeu. Si necesita ser más rápido, puede usar un método / algoritmo computacional iterativo que busque lo óptimo, o posiblemente pueda haber una solución analítica directa.
Sextus Empiricus

12

Se podría gastar mucho esfuerzo en un modelo perfecto. Pero a veces un mal modelo es mejor. Y nada dice mal modelo como el teorema del límite central: todo es una curva normal.

Ignoraremos el "tiempo extra". Modelaremos la suma de puntos individuales como una curva normal. Vamos a modelar jugando 38 rondas y el que tenga más puntos gana, en lugar de primero a 20. ¡Es un juego bastante similar!

Y, ciegamente, afirmaré que nos acercamos a la respuesta correcta.

Deje ser la distribución de un punto. tiene el valor 1 cuando obtienes un punto y 0 cuando no.XX

Entonces = ~ y = = ~ .E(X)0.58Var(X)E(X)(1E(X))0.24

Si son puntos independientes, entonces son los puntos que obtienes después de jugar 38 rondas.Xii=138Xi

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

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

y = = ~SD(i=138Xi) 3.0238Var(X))3.02

En nuestro modelo crudo, perdemos si y ganamos si .38 i = 1 X i > 19i=138Xi<19i=138Xi>19

1,0115,62%22.04193.02 está a desviaciones estándar de la media, lo que se en un posibilidades de falla después de consultar una tabla de puntuación z .1.0115.62%

Si comparamos con las respuestas más rigurosas, esto es aproximadamente descuento en el valor correcto.1%

En general, sería mejor examinar la confiabilidad de la probabilidad de victoria del lugar de un modelo más riguroso que asume una probabilidad del y lo modela perfectamente.58 %58%58%


@Yakk, ¿de dónde diablos vinieron los 38? También estoy bastante seguro de que var (38 * x) = 38 ^ 2 * var (X), no 38 * var (X). ¿Cómo se mantiene su "cálculo muy agradable del reverso del sobre" después de corregir ese error?
use_norm_approx

@use_ Estoy usando una descuidada 38 * X como "suma de 38 X independientes", no "una X multiplicada por 38". 38 proviene de "quien obtiene más de 19 victorias primero gana el juego". Podría haber usado 39 juegos y el primero> 19.5 en su lugar; El resultado sería similar.
Yakk

3

Según la simulación, parece que la probabilidad de ganar un juego determinado es de aproximadamente el 85.5%.

La probabilidad de ganar exactamente 2 (que es como leí el título, pero no parece ser lo que estás preguntando) es de aproximadamente 10.1%.

Ejecute el código a continuación.

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
Esto se acerca mucho a la solución analítica de Whuber: dbinom(20,40,0.58)*0.58^2/(1-2*0.58+2*0.58^2)+dbinom(20,39,0.58)*0.58dar 10.04%
Sextus Empiricus
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.