Se eu tiver 58% de chance de ganhar um ponto, qual é a chance de eu ganhar um jogo de pingue-pongue com 21 anos e ganhar por 2?

90

Apostei com um colega de trabalho que, em 50 jogos de pingue-pongue (primeiro a ganhar 21 pontos, a vitória por 2), vencerei todos os 50. Até agora, jogamos 15 jogos e, em média, ganho 58% dos os pontos, mais eu ganhei todos os jogos até agora. Então, estamos nos perguntando se eu tenho 58% de chance de ganhar um ponto e ele tem 42% de chance de ganhar um ponto, qual é a porcentagem de chance de eu ganhar o jogo? Existe uma fórmula na qual possamos conectar a diferença% de chances?

Pesquisamos no Google todo e até perguntamos aos cientistas de dados da nossa empresa, mas não conseguimos encontrar uma resposta direta.

Edit: Uau, estou impressionado com a profundidade das respostas. Obrigado a todos vocês!!! Caso as pessoas estejam curiosas, tenho uma atualização de como está minha aposta: agora ganhei 18 dos 50 jogos, então preciso vencer mais 32 jogos. Ganhei 58,7% de todos os pontos e, portanto, meu oponente ganhou 41,3% de pontos. O desvio padrão para o meu oponente é 3,52, a pontuação média é 14,83 e a mediana é 15,50. Abaixo está uma captura de tela da pontuação de cada jogo até agora. Posso continuar atualizando conforme a aposta, se as pessoas estiverem interessadas.

Edição 2 : Infelizmente, só conseguimos jogar mais alguns jogos, abaixo estão os resultados. Vou continuar substituindo a imagem para não ter um monte de capturas de tela da partitura.

Atualização final : Finalmente perdi para o meu colega de trabalho no jogo # 28. Ele me venceu 21-13. Obrigado por toda a sua ajuda!

insira a descrição da imagem aqui

Richard
fonte
11
Não é uma fórmula: para que é na forma vezes um grau polinomial-20: 21 em termos todos (com grandes coeficientes, a maior superior a ). Se todos os pontos forem independentes, você tem apenas chance de ganhar os próximos 35 jogos. 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
Duvido que todos os pontos (e jogos) sejam independentes um do outro (por várias razões). A não independência pode ter um grande impacto na resposta.
Mark L. Stone
8
Supondo que seja o mesmo jogo que joguei, lembro que aquele que serve tem uma vantagem; então, ignorando tudo sobre a "mão quente", você pode ganhar 68% ao servir e 48% quando não - isso distorcerá todas as probabilidades; mesmo que equilibra a 58% Nós, portanto, não temos informação suficiente ..
Hans Olsson
5
Apenas um comentário - 21 pontos? Ténis de mesa mudou para um formato de 11 pontos, o melhor de 7 jogos, 2 serve por jogador de cada vez, em 2001.
rcgldr
5
Continuarei postando atualizações sobre esta aposta a cada ~ 5 jogos ou mais. Infelizmente, apenas jogamos alguns jogos por semana, pois só jogamos depois do trabalho.
Richard

Respostas:

119

A análise é complicada pela perspectiva de que o jogo entre em "horas extras" para vencer por uma margem de pelo menos dois pontos. (Caso contrário, seria tão simples quanto a solução mostrada em https://stats.stackexchange.com/a/327015/919 .) Vou mostrar como visualizar o problema e usá-lo para dividi-lo em contribuições prontamente computadas para a resposta. O resultado, embora um pouco confuso, é gerenciável. Uma simulação confirma sua correção.


Seja sua probabilidade de ganhar um ponto. p Suponha que todos os pontos sejam independentes. A chance de você ganhar um jogo pode ser dividida em eventos (sem sobreposição), de acordo com quantos pontos seu oponente tem no final, assumindo que você não faça horas extras ( ) ou faça horas extras. Neste último caso, é (ou se tornará) óbvio que em algum momento a pontuação foi de 20 a 20.0,1,,19

Há uma boa visualização. Deixe as pontuações durante o jogo serem plotadas como pontos que x é a sua pontuação e y é a pontuação do seu oponente. À medida que o jogo se desenrola, as pontuações se movem ao longo da rede inteira no primeiro quadrante, começando em ( 0 , 0 ) , criando um caminho para o jogo . Termina na primeira vez que um de vocês marca pelo menos 21 e tem uma margem de pelo menos 2 . Esses pontos vencedores formam dois conjuntos de pontos, o "limite absorvente" desse processo, onde o caminho do jogo deve terminar.(x,y)xy(0,0)212

Figura

Esta figura mostra parte do limite absorvente (que se estende infinitamente para cima e para a direita) junto com o caminho de um jogo que passou para a prorrogação (com uma perda para você, infelizmente).

Vamos contar. O número de maneiras pelas quais o jogo pode terminar com pontos para o seu oponente é o número de caminhos distintos na rede inteira de pontuações ( x , y ) , começando na pontuação inicial ( 0 , 0 ) e terminando na penúltima pontuação ( 20 , y ) . Esses caminhos são determinados por qual dos 20 + y pontos no jogo que você ganhou. Eles correspondem, portanto, aos subconjuntos de tamanho 20 dos números 1 , 2 , , 20 +y(x,y)(0,0)(20,y)20+y201,2,,20+y 21py1-py(20+y20)21py1py

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

Da mesma forma, existem maneiras de chegar a representando o empate 20-20. Nesta situação, você não tem uma vitória definitiva. Podemos calcular a chance de sua vitória adotando uma convenção comum: esqueça quantos pontos foram marcados até agora e comece a rastrear o diferencial de pontos. O jogo tem um diferencial de e termina quando atinge ou , passando necessariamente por ao longo do caminho. Seja a chance de ganhar quando o diferencial for .(20+2020)(20,20)0+22±1g(i)i{1,0,1}

Como sua chance de ganhar em qualquer situação é , temosp

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

A solução exclusiva para este sistema de equações lineares para o vetor implica(g(1),g(0),g(1))

g(0)=p212p+2p2.

Essa é, portanto, sua chance de ganhar uma vez alcançada (o que ocorre com uma chance de ).(20,20)(20+2020)p20(1p)20

Consequentemente, sua chance de ganhar é a soma de todas essas possibilidades disjuntas, iguais 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).

O material dentro dos parênteses à direita é um polinômio na . (Parece que seu grau é , mas todos os termos principais são cancelados: seu grau é ).p2120

Quando , a chance de vitória é próxima dep=0.580.855913992.

Você não deve ter problemas para generalizar essa análise para jogos que terminam com qualquer número de pontos. Quando a margem exigida é maior que o resultado fica mais complicado, mas é igualmente simples.2

Aliás , com essas chances de ganhar, você tinha chance de ganhar os primeiros jogos. Isso não é inconsistente com o que você denuncia, o que pode nos encorajar a continuar supondo que os resultados de cada ponto sejam independentes. Assim, projetaríamos que você tem uma chance de(0.8559)159.7%15

(0.8559)350.432%

de vencer todos os jogos restantes , supondo que eles procedam de acordo com todas essas premissas. Não parece uma boa aposta a menos que o pagamento seja grande!35


Eu gosto de verificar trabalhos como este com uma simulação rápida. Aqui está o Rcódigo para gerar dezenas de milhares de jogos em um segundo. Assume-se que o jogo terminará em 126 pontos (poucos jogos precisam continuar por tanto tempo, portanto essa suposição não tem efeito material nos 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)

Quando eu executei isso, você venceu em 8.570 casos das 10.000 iterações. Um escore Z (com aproximadamente uma distribuição Normal) pode ser calculado para testar esses resultados:

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

O valor de nesta simulação é perfeitamente consistente com o cálculo teórico anterior.0.31


Apêndice 1

À luz da atualização da pergunta, que lista os resultados dos primeiros 18 jogos, aqui estão as reconstruções dos caminhos do jogo consistentes com esses dados. Você pode ver que dois ou três dos jogos estavam perigosamente perto de perdas. (Qualquer caminho que termine em um quadrado cinza claro é uma perda para você.)

Figura 2

Os usos potenciais desta figura incluem a observação:

  • Os caminhos concentram-se em torno de uma inclinação dada pela razão 267: 380 da pontuação total, igual a aproximadamente 58,7%.

  • A dispersão dos caminhos ao redor dessa inclinação mostra a variação esperada quando os pontos são independentes.

    • Se os pontos são feitos em faixas, os caminhos individuais tendem a ter longos trechos verticais e horizontais.

    • Em um conjunto mais longo de jogos semelhantes, espere ver caminhos que tendem a permanecer dentro da faixa colorida, mas também espere que alguns se estendam além dela.

    • A perspectiva de um jogo ou dois cujo caminho esteja geralmente acima desse spread indica a possibilidade de seu oponente vencer um jogo, provavelmente mais cedo ou mais tarde.


Apêndice 2

O código para criar a figura foi solicitado. Aqui está (limpo para produzir um gráfico um pouco melhor).

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
fonte
Como os disjuntos? Suas configurações repetidas não? Por exemplo, quando o coeficiente binomial é . Quando então . Mas uma das últimas configurações é exatamente a encontrada para (ou seja, 21 pontos ganhos para o nosso jogador, 0 para o oponente). Não devemos subtrair probabilidades de interseções? Foi isso que me bloqueou em primeiro lugar. f(y)y=01y=1(2120)=21y=0
Easymode44
11
@whuber: Ótimo, seria também a "boa visualização" parte da r codedivulgação da implementação? Muito Obrigado.
Maximilian
7
@ Stefan Meu valor foi calculado usando aritmética racional exata (no Mathematica ) e arredondado no final. Eu suspeito que o seu pode ter sido calculado usando apenas ponto flutuante de precisão dupla e, portanto, suponha que seus últimos dígitos estejam incorretos. Como um número racional, o valor é
2494929816061114641968058046704583744174849151775019163577995310486129149305191822350025177001953125000000000000000000000000000000000000.
whuber
4
@ Maximilian Publiquei código para a visualização.
whuber
3
Eu acho que uma maneira mais simples de lidar com horas extras seria ganhar pontos em pares quando chegar 20-20. As únicas coisas que importam são o primeiro jogador a ganhar os dois (probabilidade 0,58²) ou o segundo vencedor a ambos (0,42²). Se algo mais acontecer, ignore-o e continue jogando até que ocorra uma das situações acima. A probabilidade de vitória do primeiro jogador após 20-20 é, portanto, de 0,58² / (0,58² + 0,42²) e a do segundo jogador é de 0,42² / (0,58² + 0,42²).
Supercat 23/02
25

Usando a distribuição binomial e assumindo que cada ponto é independente:

  • A probabilidade de jogadores chegarem a nos primeiros pontos (levando em conta o fato de que o último ponto deve ser ganho) é58%2140n=2140(n120)0.58210.42n21 =k=2140(40k)0.58k0.4240k 0.80695

  • A probabilidade de jogadores receberem dos pontos jogados é o binômio . Com essa condição, a probabilidade de o jogador de vencer com a margem de dois pontos é58%2040(4020)0.58200.42200.07463558%0.5820.582+0.4220.656006

Portanto, a probabilidade geral que o jogador de vence é de cerca de0,80695 + 0,074635 × 0,656006 0,855958%0.80695+0.074635×0.656006 0.8559

A probabilidade de o jogador de vencer os primeiros jogos é então de que é bastante improvável. A probabilidade de o jogador de vencer os jogos finais é de cerca de que é muito improvável. 15 0,85559 150,0969 58 % 35 0,85559 350,004358%150.85559150.096958%350.85559350.0043

Henry
fonte
2
A parte "a probabilidade de o jogador de vencer com a margem de dois pontos é "0,58 2 / ( 0,58 2 + 0,42 2 ) 0,65600658%0.582/(0.582+0.422)0.656006 poderia usar alguma explicação, pois provavelmente é a parte mais difícil deste problema.
JIK
11
@JiK: Uma vez na igualdade de a ou mais tarde, a probabilidade de um par decisivo de pontos é de e, portanto, a probabilidade de que o melhor jogador consiga dois à frente em vez do pior jogador é - caso contrário, eles retornam à mesma posição #0,58 2 + 0,42 2 0,58 220200.582+0.4220.5820.582+0.422
Henry
3
Uma resposta muito mais concisa do que a resposta principal, mas acho que, como não tinha fotos e foi postada 12 horas depois, obtém 80 votos a menos? = |
Attackfarm
17

Eu fui com uma resposta computacional. Aqui está uma função R que simula um jogo de pingue-pongue em que o vencedor precisa vencer por 2. O único argumento é a probabilidade de você ganhar um ponto. Ele retornará a pontuação final desse jogo:

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

Vamos primeiro garantir que ele funcione, simulando 10.000 jogos em que você tem 50% de chance de ganhar cada ponto. Devemos observar que sua porcentagem de vitórias é de cerca de 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)

Isso retorna 0,4955, sobre o que esperaríamos. Então, vamos conectar seus 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)

Isso retorna 0,8606. Então você tem cerca de 86,06% de chance de ganhar um jogo.

Agora podemos simular 35 lotes de jogos e ver quantas vezes você venceria todos os 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)

Isso retorna 0,0000, o que significa que você tem cerca de 0,37% de chance de ganhar nos próximos 35 jogos. Isso pressupõe que todos os jogos e todos os pontos são independentes um do outro. Você pode programar isso explicitamente na função acima, se quiser.

Nota: estou fazendo isso em tempo real. Tenho certeza de que há uma maneira mais eficiente computacionalmente de programar isso.

Mark White
fonte
Tente fazer pbetterwins <- pbinom(19,40,0.42) + dbinom(20,40,0.42) * 0.58^2/(0.58^2+0.42^2); pbetterwins; pbetterwins^35um cálculo usando a distribuição binomial. Perto o suficiente para a sua simulação
Henry
15

Devemos assumir que a chance de vencer 58% é fixa e que os pontos são independentes?

Acredito que a resposta de Whuber seja boa e lindamente escrita e explicada, quando se considera que cada ponto é independente do próximo . No entanto, acredito que, na prática, é apenas um ponto de partida interessante (teórico / idealizado). Imagino que, na realidade, os pontos não sejam independentes um do outro, e isso pode tornar mais ou menos provável que seu oponente colega de trabalho consiga uma vitória pelo menos uma vez em cada 50.

No começo, imaginei que a dependência dos pontos seria um processo aleatório , ou seja, não controlado pelos jogadores (por exemplo, quando alguém está ganhando ou perdendo jogando de forma diferente), e isso deve criar uma maior dispersão dos resultados, beneficiando o jogador menor a obter este ponto em cinquenta.

Um segundo pensamento, no entanto, pode sugerir o oposto : o fato de você já ter "alcançado" algo com 9,7% de chance pode dar algum (mas apenas ligeiro) benefício, do ponto de vista bayesiano, a idéias sobre mecanismos favoráveis ​​que levam você a ganhe mais de 85% de probabilidade de ganhar um jogo (ou pelo menos torne menos provável que seu oponente tenha uma probabilidade muito maior que 15%, conforme discutido nos dois parágrafos anteriores). Por exemplo, pode ser que você marque melhor quando sua posição é menos boa (não é estranho para as pessoas que pontuam muito mais diferentes em pontos de jogo, a favor ou contra, do que em pontos regulares). Você pode melhorar as estimativas dos 85% levando em consideração essas dinâmicas e, possivelmente, você tem mais de 85% de probabilidade de ganhar um jogo.

De qualquer forma, pode ser muito errado usar essa estatística simples de pontos para fornecer uma resposta. Sim, você pode fazê-lo, mas não será correto, pois as premissas (independência de pontos) não são necessariamente corretas e influenciam muito a resposta . A estatística 42/58 é mais informações, mas não sabemos muito bem como usá-la (a exatidão do modelo) e o uso das informações pode fornecer respostas com alta precisão que ela realmente não possui.


Exemplo

Exemplo: um modelo igualmente razoável com um resultado completamente diferente

Portanto, a pergunta hipotética (assumindo pontos independentes e probabilidades conhecidas, teóricas para esses pontos) é interessante por si só e pode ser respondida, mas apenas para ser irritante e cético / cínico; uma resposta ao caso hipotético não se relaciona muito com o problema subjacente / original e pode ser por isso que os estatísticos / cientistas de dados da sua empresa relutam em fornecer uma resposta direta.

Apenas para dar um exemplo alternativo (não necessariamente melhor) que fornece uma declaração confusa (contra) : 'Q: qual é a probabilidade de ganhar todo o total de 50 jogos se eu já venci 15?' Se não começarmos a pensar que 'os pontos 42/58 são relevantes ou nos dão melhores previsões', começaríamos a fazer previsões de sua probabilidade de ganhar o jogo e previsões de ganhar outros 35 jogos apenas com base nos ganhos anteriormente ganhos. 15 jogos:

  • com uma técnica bayesiana para a sua probabilidade de ganhar um jogo, isso significaria: que é aproximadamente 31% para um uniforme anterior f (x) = 1, embora isso possa ser um pouco otimista demais. Ainda assim, se você considerar uma distribuição beta com entre 1 e 5, poderá:p(win another 35 | after already 15)=01f(p)p5001f(p)p15β=α

chances posteriores em função da distribuição beta prévia

o que significa que eu não seria tão pessimista quanto a previsão direta de 0,432%. O fato de você já ter ganho 15 jogos deve aumentar a probabilidade de ganhar os próximos 35 jogos.


Nota com base nos novos dados

Com base nos seus dados para os 18 jogos, tentei ajustar um modelo beta-binomial. Variando e e calculando as probabilidades de obter uma pontuação i, 21 (via i, 20) ou uma pontuação 20,20 e, em seguida, some seus logs para uma pontuação de probabilidade de log.β = ( 1 - μ ) να=μνβ=(1μ)ν

Isso mostra que um parâmetro muito alto (pouca dispersão na distribuição beta subjacente) tem uma probabilidade mais alta e, portanto, provavelmente há pouca dispersão excessiva. Isso significa que os dados não sugerem que é melhor usar um parâmetro variável para sua probabilidade de ganhar um ponto, em vez de sua chance fixa de 58% de ganhar. Esses novos dados estão fornecendo suporte extra para a análise de Whuber, que assume pontuações com base em uma distribuição binomial. Mas é claro que isso ainda pressupõe que o modelo é estático e também que você e seu colega de trabalho se comportam de acordo com um modelo aleatório (no qual todos os jogos e pontos são independentes).ν

Estimativa de probabilidade máxima para parâmetros de distribuição beta no lugar de 58% de chance de vitória fixa:

estimativa de probabilidade máxima para distribuição beta da chance de vitória de 58p

P: como leio o gráfico "LogLikelihood for parameters mu and nu"?

UMA:

  • 1) A estimativa de máxima verossimilhança (MLE) é uma maneira de ajustar um modelo. Probabilidade significa a probabilidade dos dados, dados os parâmetros do modelo e, em seguida, procuramos o modelo que maximiza isso. Há muita filosofia e matemática por trás disso.
  • 2) O gráfico é um método computacional preguiçoso para obter o MLE ideal. Eu apenas calculo todos os valores possíveis em uma grade e vejo qual é o valor. Se você precisar ser mais rápido, poderá usar um método / algoritmo computacional iterativo que busca o melhor, ou possivelmente pode haver uma solução analítica direta.
  • 3) Os parâmetros e relacionados à distribuição beta https://en.wikipedia.org/wiki/Beta_distribution que é usada como modelo para p = 0,58 (para torná-lo não fixo, mas varia de vez para quando Tempo). Esse 'beta-p' modelado é então combinado com um modelo binomial para obter previsões de probabilidades para atingir determinadas pontuações. É quase o mesmo que a distribuição beta-binomial. Você pode ver que o ideal é de cerca de que não é surpreendente. O valor é alto (significando baixa dispersão). Eu imaginava / esperava pelo menos alguma dispersão excessiva.ν μ 0,6 νμνμ0.6ν

código / computação para o 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 / computação para o 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)
)
Sextus Empiricus
fonte
2
+1 Aprecio a nova perspectiva. Mas eu contestaria a afirmação de que a dependência entre pontos aumenta a probabilidade de o adversário vencer nos próximos 35 jogos. De fato, poderia ser de qualquer maneira. Um mecanismo plausível para a conclusão oposta é que você é muito mais forte do que o limite de 58-42 em pontos sugeriria e, quando chamado, você sempre pode se unir para vencer qualquer jogo, mesmo que esteja muito atrasado. O verdadeiro problema em não assumir a independência diz respeito a como modelar a não independência.
whuber
@ Whuber, você está certo. Eu também argumento de qualquer maneira. 1) Meus primeiros pensamentos foram em uma direção: a dependência seria aleatória, por exemplo, as pessoas têm altos e baixos descontrolados, bons e maus momentos, e isso eu imagino que criará uma dispersão maior dos resultados, aumentando a probabilidade do jogador menor. 2) No entanto, eu estava pensando nos princípios bayesianos e em como os 15 jogos vencidos podem influenciar a análise (pelo menos a pergunta no post é uma situação diferente da pergunta no título), e poderia haver possíveis mecanismos que beneficiem o jogador mais forte.
Sextus Empiricus
11
Na segunda metade do meu post, cito apenas um exemplo que argumenta que a probabilidade de vitória deve ser maior que 86%. Mas, embora toda essa matemática pareça muito precisa, na realidade não temos tanta certeza, já que nossos modelos são ruins (com muitas informações adicionais, decrescentes da precisão e subjetivas), dada essa pequena quantidade de informações.
Sextus Empiricus
2
@whuber eu editei minha resposta. Esse foi um bom comentário e espero que fique mais claro agora na resposta.
Sextus Empiricus
11
2) O gráfico é um método computacional preguiçoso para obter o MLE ideal. Eu apenas calculo todos os valores possíveis em uma grade e vejo qual é o valor. Se você precisar ser mais rápido, poderá usar um método / algoritmo computacional iterativo que busca o melhor, ou possivelmente pode haver uma solução analítica direta.
Sextus Empiricus
12

Muito esforço poderia ser gasto em um modelo perfeito. Mas, às vezes, um modelo ruim é melhor. E nada diz um modelo ruim como o teorema do limite central - tudo é uma curva normal.

Vamos ignorar "horas extras". Modelaremos a soma dos pontos individuais como uma curva normal. Vamos modelar jogando 38 rodadas e quem tiver mais pontos ganha, em vez do primeiro a 20. Isso é bastante parecido com o jogo!

E, cegamente, afirmo que chegamos perto da resposta certa.

Seja a distribuição de um ponto. tem valor 1 quando você obtém um ponto e 0 quando não obtém.XXX

Então = ~ e = = ~ .E(X)0.58Var(X)E(X)(1E(X))0.24

Se são pontos independentes, então são os pontos que você recebe após jogar 38 rodadas.Xii=138Xi

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

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

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

Em nosso modelo bruto, perdemos se e se .38 i = 1 X i > 19i=138Xi<19i=138Xi>19

1,0115,62%22.04193.02 está a desvios padrão da média, o que resulta em uma probabilidade de de falha após consultar um gráfico de pontuação z .1.0115.62%

Se compararmos com as respostas mais rigorosas, isso representa cerca de do valor correto.1%

Geralmente, seria melhor examinar a confiabilidade da chance de vitória de vez de um modelo mais rigoroso que assume chance e a modela perfeitamente.58 %58%58%

Yakk
fonte
@ Yakk, de onde diabos os 38 vieram? Também tenho certeza que var (38 * x) = 38 ^ 2 * var (X), não 38 * var (X). Como o seu "bom cálculo do verso do envelope" se mantém após você corrigir esse erro?
use_norm_approx
@use_ Estou usando um 38 * X desleixado como "soma de 38 Xs independentes", não "um X vezes 38". 38 vem de "quem obtiver mais de 19 vitórias primeiro vence o jogo". Eu poderia ter usado 39 jogos e o primeiro> 19,5; resultado seria semelhante.
Yakk
3

Com base na simulação, parece que a probabilidade de ganhar qualquer jogo é de cerca de 85,5%.

A probabilidade de ganhar exatamente 2 (que é como eu leio o título, mas não parece ser o que você está perguntando) é de cerca de 10,1%.

Execute o código abaixo.

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
inside_person
fonte
11
Isso fica muito próximo da solução analítica da 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