Якщо у мене є 58% шансів виграти очко, який шанс у мене виграти пінг-понг до 21, виграти 2?


90

У мене є ставка з колегою, що з 50 ігор пінг-понгу (перший виграв 21 очко, виграв 2) я виграю всі 50. Поки ми грали 15 ігор і в середньому я виграю 58% очки, плюс я виграв усі ігри до цих пір. Тож нам цікаво, чи є у мене 58% шансів виграти очко, а у нього 42% шансу виграти очко, який відсотковий шанс я виграю в грі? Чи є формула, яку ми можемо використовувати в різниці% шансів?

Ми гуглили в усьому світі і навіть запитували науковців у нашій компанії, але не змогли знайти прямої відповіді.

Редагувати: Вау, мене здуває ретельність відповідей. Всім дякую !!! Якщо людям цікаво, у мене є відомості про те, як відбувається моя ставка: зараз я виграв 18 з 50 ігор, тому мені потрібно виграти ще 32 ігри. Я набрав 58,7% усіх очок, тому мій опонент набрав 41,3% очок. Стандартне відхилення для мого суперника - 3,52, його середній бал - 14,83, а його середній бал - 15,50. Нижче - скріншот результатів кожної гри до цих пір. Я можу постійно оновлюватись, коли ставка триватиме, якщо люди цікавляться.

Редагування №2 : На жаль, ми змогли пограти ще кілька ігор, нижче наведені результати. Я просто буду продовжувати замінювати картину, щоб у мене не було кулі скріншотів партитури.

Остаточне оновлення : я нарешті програв своєму колезі по грі №28. Він побив мене 21-13. Дякую за всю вашу допомогу!

введіть тут опис зображення


11
p=0.58,p21/(12p+2p2)1.6×10160.432%

8
Сумніваюся, що всі пункти (та ігри) є незалежними один від одного (з різних причин). Незалежність може мати великий вплив на відповідь.
Марк Л. Стоун

8
Припускаючи, що це та сама гра, в яку я грав, я пам’ятаю, що одна порція має перевагу; тому ігнорування всього, що стосується "гарячої руки", можливо, ви виграєте 68% при подачі та 48%, коли ні - це скаже всі ймовірності; навіть якщо це дорівнює 58%. Таким чином, ми не маємо достатньо інформації ..
Hans Olsson

5
Просто коментар - 21 бал? Настільний теніс перейшов на 11-кратний формат, найкращий з 7 ігор, 2 подачі на кожного гравця одночасно, ще в 2001 р.
rcgldr

5
Я продовжуватиму публікувати оновлення цієї ставки кожні ~ 5 ігор або близько того. На жаль, ми можемо грати лише кілька ігор на тиждень, оскільки граємо лише після роботи.
Річард

Відповіді:


119

Аналіз ускладнюється перспективою того, що гра переходить у «понаднормовий час», щоб виграти з відривом не менше ніж у два очки. (Інакше це було б так просто, як рішення, показане на https://stats.stackexchange.com/a/327015/919 .) Я покажу, як візуалізувати проблему та використати її для розбиття на легко обчислені внески до відповідь. Результат, хоча і трохи безладний, є керованим. Моделювання свідчить про свою правильність.


p0,1,,19

(x,y)xy(0,0)212

Малюнок

Ця фігура показує частину поглинаючої межі (вона простягається нескінченно вгору та праворуч) разом із трактом гри, яка перейшла в понаднормовий час (на жаль, втрата для вас).

y(x,y)(0,0)(20,y)20+y201,2,,20+y(20+y20)21py1py

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

Аналогічно, є способи досягти представляє собою 20-20 крапку. У цій ситуації у вас немає певного виграшу. Ми можемо обчислити шанс на ваш виграш, прийнявши загальну конвенцію: забудьте, скільки балів було набрано до цього часу, і почніть відстежувати бальний диференціал. Гра на різниці і закінчиться, коли вона вперше досягне або , обов'язково проходячи через по дорозі. Нехай - це шанс виграти, коли диференціальний .(20+2020)(20,20)0+22±1g(i)i{1,0,1}

Так як ваші шанси на перемогу в будь-якій ситуації , ми маємоp

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

Унікальне рішення цієї системи лінійних рівнянь для вектора передбачає(g(1),g(0),g(1))

g(0)=p212p+2p2.

Таким чином, це ваш шанс виграти, коли ви досягнете (що трапляється з шансом ).(20,20)(20+2020)p20(1p)20

Отже, ваш шанс на перемогу - це сума всіх цих непересічних можливостей, рівних

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

Речі всередині дужок праворуч - це многочлен у . (Схоже, його ступінь становить , але провідні терміни всі скасовують: ступінь - )p2120

Коли , шанс на виграш близький доp=0.580.855913992.

У вас не повинно виникнути проблем із узагальненням цього аналізу на ігри, які закінчуються будь-якою кількістю очок. Коли необхідна маржа перевищує результат ускладнюється, але стає таким же простим.2

До речі , маючи шанси на перемогу, у вас був шансів виграти перші ігор. Це не суперечить тому, що ви повідомляєте, що може спонукати нас продовжувати вважати, що результати кожної точки незалежні. Ми б таким чином спроектували, що у вас є шанс(0.8559)159.7%15

(0.8559)350.432%

виграти всі інші ігор, якщо припустити, що вони діють відповідно до всіх цих припущень. Це не здається гарною ставкою, якщо виплата не велика!35


Мені подобається перевіряти таку роботу за допомогою швидкого моделювання. Ось Rкод для генерування десятків тисяч ігор за секунду. Передбачається, що гра закінчиться протягом 126 очок (вкрай мало ігор потрібно тривати так довго, тому це припущення не має істотного впливу на результати).

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)

Коли я запускав це, ви виграли у 87070 випадках із 10 000 ітерацій. Для тестування таких результатів може бути обчислена Z-оцінка (з приблизно нормальним розподілом):

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

Значення у цьому моделюванні цілком відповідає попередньому теоретичному обчисленню.0.31


Додаток 1

У світлі оновлення до питання, в якому перераховані результати перших 18 ігор, ось реконструкції ігрових доріжок, що відповідають цим даним. Видно, що дві-три гри були небезпечно близькими до втрат. (Будь-який шлях, що закінчується на світло-сірому квадраті, - це втрата для вас.)

Малюнок 2

Потенційне використання цієї цифри включає спостереження:

  • Шляхи концентруються навколо схилу, заданого співвідношенням 267: 380 від загальної кількості балів, рівним приблизно 58,7%.

  • Розсіяність шляхів навколо цього схилу показує варіацію, очікувану, коли точки незалежні.

    • Якщо точки зроблені смугами, то окремі доріжки мають тенденцію мати довгі вертикальні та горизонтальні простягання.

    • У більш тривалому наборі подібних ігор розраховуйте побачити шляхи, які, як правило, залишаються в кольоровому діапазоні, але також очікуйте, що кілька вийде за межі нього.

    • Перспектива гри або двох, чий шлях, як правило, лежить вище цього поширення, вказує на можливість того, що ваш опонент зрештою виграє гру, ймовірно, швидше, ніж пізніше.


Додаток 2

Запросили код для створення фігури. Ось це (очищено для отримання трохи приємнішої графіки).

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

Як роз'єднуються? Не ваші повторні конфігурації? Наприклад, коли біноміальний коефіцієнт дорівнює . Коли то . Але одна з останніх конфігурацій - це саме та, яка знайдена для (тобто 21 бал, виграний для нашого гравця, 0 - для суперника). Чи не слід віднімати ймовірності перехресть? Це те, що блокувало мене в першу чергу. f(y)y=01y=1(2120)=21y=0
Easymode44

1
@whuber: Чудово, чи буде також "приємна візуалізація" частиною r codeрозкриття реалізації? Дуже дякую.
Максиміліан

7
@Stefan Моє значення було обчислено за допомогою точної раціональної арифметики (в Mathematica ) і округлене в кінці. Я підозрюю, що ваш може бути обчислений, використовуючи лише плаваючу крапку з подвійною точністю, і тому припускаю, що ваші останні кілька цифр невірні. Як раціональне число значення
2494929816061114641968058046704583744174849151775019163577995310486129149305191822350025177001953125000000000000000000000000000000000000.
whuber

4
@Maximilian Я розмістив код для візуалізації.
качан

3
Я думаю, що більш простим способом вирішити понаднормові було б брати бали попарно, як тільки 20-20 буде досягнуто. Важливо лише те, що перший гравець виграє обидва (ймовірність 0,58 ²), або другий, який виграє обидва (0,42 ²). Якщо щось інше трапиться, ігноруйте це і продовжуйте грати, поки не відбудеться одне з вищезазначених. Таким чином, вірогідність виграшу першого гравця після 20-20 становить 0,58 ² / (0,58 ² + 0,42 ²), а для другого гравця 0,42 ² / (0,58 ² + 0,42 ²).
supercat

25

Використання біноміального розподілу та припущення, що кожна точка незалежна:

  • Ймовірність того, що гравець потрапить до за перші балів (з урахуванням факту, що повинен бути виграний останній бал), є58%2140n=2140(n120)0.58210.42n21 =k=2140(40k)0.58k0.4240k 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


2
Частина "ймовірність того, що гравець виграє з двома поля, становить ",58%0.582/(0.582+0.422)0.656006 може використовувати якесь пояснення, оскільки це, мабуть, найскладніша частина в цьому проблема.
JiK

1
@JiK: Після рівності чи пізніших вірогідність рішучої пари очок становить тому ймовірність того, що кращий гравець вийде на два попереду, ніж гірший гравець, що робить це - інакше вони повернуться в ту саму позицію20200.582+0.4220.5820.582+0.422
Генрі

3
Набагато більш лаконічна відповідь, ніж головна відповідь, але я думаю, оскільки вона не мала фотографій і була розміщена через 12 годин, вона отримує на 80 менше голосів? = |
Attackfarm

17

Я пішов з обчислювальною відповіддю. Ось функція R, яка імітує гру з пінг-понгу, де переможець повинен виграти на 2. Єдиним аргументом є ймовірність того, що ви виграєте очко. Він поверне остаточний рахунок цієї гри:

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

Давайте спочатку переконаємось, що вона працює, імітуючи 10000 ігор, де у вас є 50% шансів виграти кожну очку. Ми повинні зауважити, що ваш відсоток виграшу становить близько 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)

Це повертає .4955, про те, що ми очікували. Тож давайте підключіть 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)

Це повертає .8606. Таким чином, у вас є приблизно 86,06% шансів виграти одну гру.

Тепер ми можемо імітувати 35 ігор партій і бачити, скільки разів ви вигравали б усі 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)

Це повертає .0037, що означає, що ви маєте приблизно 0,37% шансу виграти наступні 35 ігор. Це передбачає, що всі ігри та всі очки незалежні одна від одної. Ви можете запрограмувати це явно у вищезгадану функцію, якщо хочете.

Примітка: я роблю це на льоту. Я впевнений, що існує більш обчислювально ефективний спосіб програмування цього.


Спробуйте pbetterwins <- pbinom(19,40,0.42) + dbinom(20,40,0.42) * 0.58^2/(0.58^2+0.42^2); pbetterwins; pbetterwins^35обчислити, використовуючи біноміальний розподіл. Досить близько до вашого моделювання
Генрі

15

Чи слід вважати, що 58% шансів на перемогу є фіксованими і що очки незалежні?

Я вважаю, що відповідь Вюбера є вдалою і красиво написаною та поясненою, якщо врахувати, що кожна точка незалежна від наступної . Однак я вважаю, що на практиці це лише цікавий вихідний пункт (теоретичний / ідеалізований). Я думаю, що насправді очки не залежать одна від одної, і це може зробити більш-менш ймовірним, що ваш опонент-колега отримає виграш хоча б один раз з 50.

Спочатку я уявляв, що залежність очок буде випадковим процесом , тобто не контролюється гравцями (наприклад, коли хтось виграє або програє, граючи по-іншому), і це повинно створити більшу дисперсію результатів, що допоможе меншому гравцеві отримати це один бал із п’ятдесяти.

Однак друга думка може припустити протилежне : той факт, що ви вже «досягли» чогось із 9,7% шансів, може дати певну (але лише незначну) користь, з байєсівської точки зору, ідеям переваги механізмів, які спонукають вас до виграти більше 85% ймовірності виграти гру (або принаймні зробити меншою ймовірність того, що ваш опонент має набагато більшу ймовірність, ніж 15%, як це було аргументовано у попередніх двох абзацах). Наприклад, може бути так, що ви забиваєте краще, коли ваша позиція менш хороша (не дивно, що люди забивають набагато більше за бали матчів, на користь чи проти, ніж на звичайні очки). Ви можете покращити оцінки 85%, враховуючи цю динаміку, і, можливо, у вас є більше 85% ймовірності виграти гру.

У будь-якому випадку, може бути дуже неправильним використання цієї простої статистики балів для надання відповіді. Так, ви можете це зробити, але це не буде правильно, оскільки приміщення (незалежність балів) не обов'язково правильні і сильно впливають на відповідь . Статистика 42/58 - це більше інформації, але ми не дуже добре знаємо, як її використовувати (правильність моделі), а використання інформації може дати відповіді з високою точністю, якої вона насправді не має.


Приклад

Приклад: однаково розумна модель із зовсім іншим результатом

Тож гіпотетичне запитання (якщо припустити незалежні моменти та відомі, теоретичні, ймовірності для цих точок) саме по собі є цікавим і на нього можна відповісти, але просто дратувати та скептично / цинічно; відповідь на гіпотетичний випадок не стосується вашої основної / первісної проблеми, і може бути тому, що статистики / науковці даних у вашій компанії не хочуть давати прямої відповіді.

Просто навести альтернативний приклад (не обов’язково кращий), який дає заплутане (зустрічне) твердження: "Питання: яка ймовірність виграти всі 50 ігор, якщо я вже виграв 15?" Якщо ми не почнемо думати, що «бальні показники 42/58 є релевантними або дають нам кращі прогнози», тоді ми б почали робити прогнози щодо вашої ймовірності виграти гру та прогнозуєте виграти ще 35 ігор виключно на основі ваших раніше виграних 15 ігор:

  • з байєсівською технікою для вашої ймовірності виграти гру це означатиме: що становить приблизно 31% для рівномірного попереднього f (x) = 1, хоча це може бути занадто оптимістично. Але якщо ви розглядаєте бета-розподіл з між 1 і 5, ви отримуєте:p(win another 35 | after already 15)=01f(p)p5001f(p)p15β=α

задні шанси як функція попереднього розподілу бета-версії

це означає, що я не був би таким песимістичним, як відвертий прогноз на 0,432% . Те, що ви вже виграли 15 ігор, повинно підвищити ймовірність того, що ви виграєте наступні 35 ігор.


Примітка на основі нових даних

На основі ваших даних для 18 ігор я спробував підлаштувати бета-біноміальну модель. Варіація та та обчислення ймовірностей потрапити на бал i, 21 (через i, 20) або бал 20,20, а потім підсумовувати свої журнали до оцінка вірогідності журналу.α=μνβ=(1μ)ν

Це показує, що дуже високий параметр (невелика дисперсія в базовому бета-розподілі) має більш високу ймовірність, і, отже, малоенергетична дисперсія. Це означає, що дані не підказують, що для використання ймовірності виграти очко краще використовувати змінний параметр, а не 58% шансів на перемогу. Ці нові дані забезпечують додаткову підтримку аналізу Вюбера, який передбачає бали на основі біноміального розподілу. Але, звичайно, це все ж передбачає, що модель є статичною, а також, що ви та ваш колега поводитесь за випадковою моделлю (в якій кожна гра та точка незалежні).ν

Максимальна оцінка ймовірності параметрів бета-розподілу замість фіксованого 58% виграшного шансу:

максимальна оцінка ймовірності для бета-розподілу шансів на виграш 58p

Питання: як я читаю графік "LogLikelihood для параметрів mu і nu"?

A:

  • 1) Максимальна оцінка ймовірності (MLE) - це спосіб підходити до моделі. Імовірність означає ймовірність даних, заданих параметрами моделі, і тоді ми шукаємо модель, яка це максимально збільшує. За цим стоїть багато філософії та математики.
  • 2) Сюжет - це ледачий обчислювальний метод, щоб дістатись до оптимального MLE. Я просто обчислюю всі можливі значення в сітці і бачу, що таке valeu. Якщо вам потрібно бути швидшим, ви можете скористатися обчислювальним ітеративним методом / алгоритмом, який шукає оптимальну, або, можливо, може бути пряме аналітичне рішення.
  • 3) Параметри та відносяться до бета-розподілу https://en.wikipedia.org/wiki/Beta_distribution, який використовується як модель для p = 0,58 (щоб зробити його не фіксованим, а натомість змінюватись в залежності від часу час). Цей модельований "бета-р" поєднується з біноміальною моделлю, щоб дійти до передбачень ймовірності досягнення певних показників. Це майже те саме, що і бета-біноміальний розподіл. Ви можете бачити, що оптимум становить приблизно що не дивно. Значення висока (означає низьку дисперсію). Я уявляв / очікував хоч якусь перевитрату.ν μ 0,6 νμνμ0.6ν

код / ​​обчислення для графіку 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")

код / ​​обчислення для графи 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 Я ціную нову перспективу. Але я б заперечував твердження, що залежність серед очок робить більш імовірним, що опонент виграє у наступних 35 іграх. Насправді це могло піти в будь-який бік. Правдоподібний механізм протилежного висновку полягає в тому, що ви набагато сильніші, ніж це показало б на 58-42 краю в очках, і що коли вас закликають, ви завжди можете згуртуватися, щоб виграти будь-яку гру, навіть якщо далеко відстаєте. Справжня проблема в тому, щоб не здобути незалежність, стосується того, як моделювати незалежність.
whuber

@whuber, ти маєш рацію. Я також аргументую будь-який спосіб. 1) Мої перші думки пішли в один бік, залежність була б випадковою, наприклад, люди мають неконтрольовані злети і падіння хороших моментів і поганих моментів, і це, на мою думку, створить більшу дисперсію результатів, що підвищить ймовірність меншого гравця. 2) Однак тоді я думав про байєсівські принципи та про те, як 15 виграних ігор можуть впливати на аналіз (принаймні, питання в публікації - це інша ситуація, ніж питання в заголовку), і можуть бути можливі механізми, які принесуть користь сильніший гравець.
Martijn Weterings

1
У другій половині своєї посади я наводжу лише один приклад, який стверджує, що ймовірність перемогти повинна бути більшою, ніж 86%. Але хоча вся ця математика звучить дуже точно, насправді ми не дуже впевнені, оскільки наші моделі погані (з великою кількістю додаткової, зменшення точності, суб'єктивна інформація) з огляду на цей невеликий обсяг інформації.
Martijn Weterings

2
@whuber Я змінив свою відповідь. Це був хороший коментар, і я сподіваюся, що це тепер зрозуміліше у відповіді.
Martijn Weterings

1
2) Сюжет - це ледачий обчислювальний метод, щоб дістатись до оптимального MLE. Я просто обчислюю всі можливі значення в сітці і бачу, що таке valeu. Якщо вам потрібно бути швидшим, ви можете скористатися обчислювальним ітеративним методом / алгоритмом, який шукає оптимальну, або, можливо, може бути пряме аналітичне рішення.
Martijn Weterings

12

Багато сил можна витратити на ідеальну модель. Але іноді краще погана модель. І нічого не говорить про погану модель, як центральна гранична теорема - все це нормальна крива.

Ми будемо ігнорувати "понаднормово". Ми будемо моделювати суму окремих точок як звичайну криву. Ми будемо моделювати гру в 38 раундів, і той, хто отримає найбільшу кількість очок, замість першого до 20. Це досить схожа гра!

І, сліпо, я стверджу, що ми наблизимось до правильної відповіді.

Нехай - розподіл точки. має значення 1, коли ви отримуєте бал, і 0, коли ви цього не робите.XX

Отже = ~ і = = ~ .E(X)0.58Var(X)E(X)(1E(X))0.24

Якщо є незалежними очками, то - це очки, які ви отримаєте після 38 раундів.Xii=138Xi

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

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

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

У нашій сирій моделі ми програємо, якщо і переможемо, якщо .38 i = 1 X i > 19i=138Xi<19i=138Xi>19

1,0115,62%22.04193.02 - це стандартних відхилень від середнього значення, що виявляється до шансу виходу з ладу після консультації з z .1.0115.62%

Якщо порівняти з більш жорсткими відповідями, це приблизно на від правильного значення.1%

Як правило, вам краще вивчити надійність шансу на перемогу а не більш жорстку модель, яка передбачає шансів і прекрасно моделює її.58 %58%58%


@Yakk, звідки чорт узяв 38 з ?? Також я впевнений, що var (38 * x) = 38 ^ 2 * var (X), а не 38 * var (X). Як ваша "дуже приємна зворотна частина обчислення конверта" тримається після виправлення цієї помилки?
use_norm_approx

@use_ Я використовую неохайний 38 * X як "суму 38 незалежних Xs", а не "один X раз 38". 38 походить від того, "хто отримує більше 19 перемог, той і той перемагає в грі". Я міг використати 39 ігор, а першу - 19,5; результат був би подібний.
Якк

3

На основі моделювання, схоже, вірогідність виграти будь-яку гру становить приблизно 85,5%.

Ймовірність виграти рівно на 2 (саме так я читаю заголовок, але, здається, не те, що ви просите) становить приблизно 10,1%.

Запустіть код нижче.

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
Це дуже наближається до аналітичного рішення Вюбера: dbinom(20,40,0.58)*0.58^2/(1-2*0.58+2*0.58^2)+dbinom(20,39,0.58)*0.58даючи 10,04%
Martijn Weterings
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.