Jika saya memiliki peluang 58% untuk memenangkan satu poin, apa peluang saya untuk memenangkan pertandingan pingpong ke 21, menang dengan 2?

90

Saya bertaruh dengan rekan kerja yang dari 50 pertandingan pingpong (pertama menang 21 poin, menang 2), saya akan memenangkan semua 50. Sejauh ini kami telah memainkan 15 pertandingan dan rata-rata saya menang 58% dari poin, ditambah saya sudah memenangkan semua game sejauh ini. Jadi kita bertanya-tanya apakah saya memiliki peluang 58% untuk memenangkan poin dan dia memiliki peluang 42% untuk memenangkan poin, berapa persen peluang saya untuk memenangkan permainan? Apakah ada rumus yang bisa kita pasang selisih% peluang?

Kami telah menelusuri seluruh Google dan bahkan bertanya kepada para ilmuwan data di perusahaan kami, tetapi tidak dapat menemukan jawaban langsung.

Sunting: Wow, saya terpesona oleh ketelitian tanggapan. Terima kasih banyak !!! Jika ada orang yang ingin tahu, saya memiliki informasi terbaru tentang bagaimana taruhan saya: Saya sekarang telah memenangkan 18 dari 50 pertandingan, jadi saya harus memenangkan 32 pertandingan lagi. Saya telah memenangkan 58,7% dari semua poin dan oleh karena itu lawan saya telah memenangkan 41,3% poin. Simpangan baku untuk lawan saya adalah 3,52, skor rata-rata 14,83, dan skor mediannya adalah 15,50. Di bawah ini adalah tangkapan layar dari skor setiap pertandingan sejauh ini. Saya dapat terus memperbarui seiring berjalannya waktu, jika orang tertarik.

Sunting # 2 : Sayangnya kami hanya dapat memainkan beberapa game lagi, berikut hasilnya. Saya hanya akan terus mengganti gambar jadi saya tidak punya banyak screenshot dari skor.

Pembaruan Terakhir : Saya akhirnya kalah dari rekan kerja saya di game # 28. Dia mengalahkan saya 21-13. Terima kasih atas semua bantuan Anda!

masukkan deskripsi gambar di sini

richard
sumber
11
Ada adalah rumus: untuk itu dalam bentuk kali gelar-20 polinomial: 21 istilah dalam semua (dengan koefisien besar, yang terbesar melebihi ). Jika semua poin independen, Anda hanya memiliki peluang untuk memenangkan 35 pertandingan berikutnya. 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
Saya ragu bahwa semua poin (dan permainan) tidak tergantung satu sama lain (karena berbagai alasan). Non-kemerdekaan bisa berdampak besar pada jawabannya.
Mark L. Stone
8
Dengan asumsi itu adalah permainan yang sama dengan yang saya mainkan, saya ingat bahwa satu porsi memiliki kelebihan; jadi abaikan segala hal tentang "hot hand" itu bisa jadi Anda menang 68% saat melayani dan 48% saat tidak - itu akan memiringkan semua probabilitas; bahkan jika itu meratakan hingga 58% Kami dengan demikian tidak memiliki informasi yang cukup ..
Hans Olsson
5
Hanya komentar - 21 poin? Tenis meja beralih ke format 11 poin, terbaik dari 7 pertandingan, 2 servis per pemain sekaligus, pada tahun 2001.
rcgldr
5
Saya akan terus memposting pembaruan pada taruhan ini setiap ~ 5 game atau lebih. Sayangnya kami hanya bisa memainkan beberapa game per minggu karena kami hanya bermain setelah bekerja.
richard

Jawaban:

119

Analisis ini diperumit oleh prospek bahwa permainan akan menjadi "lembur" untuk menang dengan selisih setidaknya dua poin. (Kalau tidak, akan sesederhana solusi yang ditampilkan di https://stats.stackexchange.com/a/327015/919 .) Saya akan menunjukkan cara memvisualisasikan masalah dan menggunakannya untuk memecahnya menjadi kontribusi yang siap dihitung untuk jawabannya. Hasilnya, meski agak berantakan, masih bisa dikelola. Sebuah simulasi menunjukkan kebenarannya.


Biarkan menjadi probabilitas Anda untuk memenangkan poin. p Asumsikan semua poin independen. Peluang Anda memenangkan permainan dapat dipecah menjadi peristiwa (tidak tumpang tindih) sesuai dengan berapa banyak poin yang dimiliki lawan Anda pada akhirnya dengan asumsi Anda tidak masuk ke lembur ( ) atau Anda lembur. . Dalam kasus terakhir jelas (atau akan menjadi) jelas bahwa pada tahap tertentu skornya adalah 20-20.0,1,,19

Ada visualisasi yang bagus. Biarkan skor selama pertandingan diplot sebagai poin mana adalah skor Anda dan adalah skor lawan Anda. Saat permainan dibuka, skor bergerak di sepanjang kisi integer di kuadran pertama yang dimulai dengan , menciptakan jalur permainan . Itu berakhir pertama kali salah satu dari Anda mencetak setidaknya dan memiliki margin minimal . Poin kemenangan seperti itu membentuk dua set poin, "batas penyerap" dari proses ini, di mana jalur permainan harus diakhiri.x y ( 0 , 0 ) 21 2(x,y)xy(0,0)212

Angka

Angka ini menunjukkan bagian dari batas yang menyerap (itu meluas tak terbatas ke atas dan ke kanan) bersama dengan jalur permainan yang masuk ke lembur (sayangnya, kerugian untuk Anda).

Mari berhitung. Jumlah cara permainan dapat berakhir dengan poin untuk lawan Anda adalah jumlah jalur yang berbeda dalam kisi integer dari skor dimulai dari skor awal dan berakhir pada skor kedua dari belakang . Jalur seperti itu ditentukan oleh poin dalam permainan yang Anda menangkan. Karena itu mereka sesuai dengan himpunan bagian ukuran dari angka , dan ada dari mereka. Karena di setiap jalur Anda menang poin (dengan probabilitas independen setiap kali, menghitung poin terakhir) dan lawan Anda menang( x , y ) ( 0 , 0 ) ( 20 , y ) 20 + y 20 1 , 2 , , 20 + yy(x,y)(0,0)(20,y)20+y201,2,,20+y(20+y20)21pypoin (dengan probabilitas independen setiap kali), jalur yang terkait dengan akun untuk peluang total1py

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

Demikian pula, ada cara untuk sampai pada mewakili dasi 20-20. Dalam situasi ini Anda tidak memiliki kemenangan yang pasti. Kami dapat menghitung peluang kemenangan Anda dengan mengadopsi konvensi umum: lupakan berapa banyak poin yang telah dicetak sejauh ini dan mulailah melacak perbedaan poin. Gim ini berada pada diferensial dan akan berakhir saat pertama mencapai atau , harus melewati sepanjang jalan. Biarkan menjadi peluang Anda menang ketika diferensial adalah .(20+2020)(20,20)0+22±1g(i)i{1,0,1}

Karena peluang Anda untuk menang dalam situasi apa pun adalah , kami memilikinyap

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

Solusi unik untuk sistem persamaan linear ini untuk vektor menyiratkan(g(1),g(0),g(1))

g(0)=p212p+2p2.

Karenanya, ini adalah kesempatan Anda untuk menang setelah tercapai (yang terjadi dengan peluang ).(20,20)(20+2020)p20(1p)20

Akibatnya kesempatan Anda untuk menang adalah jumlah dari semua kemungkinan yang terpisah ini, sama dengan

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

Hal-hal di dalam tanda kurung di sebelah kanan adalah polinomial dalam . (Kelihatannya derajatnya , tetapi syarat-syarat utama semuanya dibatalkan: derajatnya )21 20p2120

Ketika , peluang untuk menang dekat dengan0,855913992.p=0.580.855913992.

Anda seharusnya tidak mengalami kesulitan untuk menggeneralisasikan analisis ini ke permainan yang berakhir dengan jumlah poin berapa pun. Ketika margin yang dibutuhkan lebih besar dari hasilnya menjadi lebih rumit tetapi sama mudahnya.2

Kebetulan , dengan peluang menang ini, Anda memiliki untuk memenangkan pertandingan pertama . Itu tidak bertentangan dengan apa yang Anda laporkan, yang mungkin mendorong kami untuk terus mengandaikan bahwa setiap titik independen. Dengan demikian kami akan memproyeksikan bahwa Anda memiliki peluang15(0.8559)159.7%15

(0.8559)350.432%

memenangkan semua pertandingan yang tersisa , dengan asumsi mereka melanjutkan sesuai dengan semua asumsi ini. Kedengarannya itu bukan taruhan yang baik untuk dilakukan kecuali jika bayarannya besar!35


Saya suka memeriksa pekerjaan seperti ini dengan simulasi cepat. Berikut adalah Rkode untuk menghasilkan puluhan ribu game dalam sedetik. Diasumsikan permainan akan berakhir dalam 126 poin (sangat sedikit permainan yang perlu dilanjutkan selama itu, sehingga asumsi ini tidak memiliki efek material pada hasil).

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)

Ketika saya menjalankan ini, Anda menang dalam 8.570 kasus dari 10.000 iterasi. Skor-Z (dengan kira-kira distribusi normal) dapat dihitung untuk menguji hasil seperti:

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

Nilai dalam simulasi ini sangat konsisten dengan perhitungan teoritis sebelumnya.0.31


Lampiran 1

Mengingat pembaruan untuk pertanyaan, yang berisi daftar hasil dari 18 pertandingan pertama, berikut adalah rekonstruksi jalur permainan yang konsisten dengan data ini. Anda dapat melihat bahwa dua atau tiga pertandingan hampir saja kalah. (Jalur apa pun yang berakhir pada kotak abu-abu terang adalah kerugian untuk Anda.)

Gambar 2

Potensi kegunaan gambar ini termasuk mengamati:

  • Jalur berkonsentrasi di sekitar kemiringan yang diberikan oleh rasio 267: 380 dari total skor, sama dengan sekitar 58,7%.

  • Penyebaran jalur di sekitar kemiringan tersebut menunjukkan variasi yang diharapkan saat titik independen.

    • Jika titik dibuat dalam garis belang, maka jalur individu cenderung memiliki peregangan vertikal dan horizontal yang panjang.

    • Dalam gim yang serupa yang lebih panjang, perkirakan untuk melihat jalur yang cenderung tetap berada dalam kisaran berwarna, tetapi juga perkirakan beberapa akan melampaui itu.

    • Prospek satu atau dua permainan yang jalurnya umumnya terletak di atas spread ini menunjukkan kemungkinan bahwa lawan Anda akhirnya akan memenangkan permainan, mungkin lebih cepat daripada nanti.


Lampiran 2

Kode untuk membuat gambar diminta. Ini dia (dibersihkan untuk menghasilkan grafik yang sedikit lebih bagus).

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
sumber
Bagaimana terpisah? Jangan ulangi konfigurasi Anda? Misalnya, ketika koefisien binomial adalah . Ketika maka . Tetapi salah satu dari konfigurasi yang terakhir adalah yang ditemukan untuk (yaitu 21 poin dimenangkan untuk pemain kami, 0 untuk lawan). Haruskah kita mengurangi probabilitas persimpangan? Inilah yang menghalangi saya sejak awal. f(y)y=01y=1(2120)=21y=0
Easymode44
1
@whuber: Hebat, akankah juga menjadi bagian "visualisasi yang bagus" dari r codepengungkapan implementasi? Terimakasih banyak.
Maximilian
7
@Stefan Nilai saya dihitung menggunakan aritmatika rasional yang tepat (dalam Mathematica ) dan dibulatkan pada akhirnya. Saya menduga Anda mungkin telah dihitung hanya menggunakan floating point presisi ganda, dan karena itu anggap beberapa digit terakhir Anda salah. Sebagai bilangan rasional, nilainya adalah
2494929816061114641968058046704583744174849151775019163577995310486129149305191822350025177001953125000000000000000000000000000000000000.
whuber
4
@ Maximilian saya memposting kode untuk visualisasi.
whuber
3
Saya pikir cara yang lebih sederhana untuk menangani lembur adalah dengan mengambil poin berpasangan setelah 20-20 tercapai. Satu-satunya hal yang penting adalah pemain pertama yang memenangkan keduanya (probabilitas 0,58²) atau menang kedua keduanya (0,42²). Jika hal lain terjadi, abaikan saja dan terus mainkan sampai salah satu dari hal di atas terjadi. Dengan demikian probabilitas kemenangan pemain pertama setelah 20-20 adalah 0,58² / (0,58² + 0,42²) dan pemain kedua adalah 0,42² / (0,58² + 0,42²).
supercat
25

Menggunakan distribusi binomial dan mengasumsikan setiap titik independen:

  • Peluang pemain mencapai pada poin pertama (dengan memperhitungkan fakta bahwa poin terakhir harus dimenangkan) adalah58%2140n=2140(n120)0.58210.42n21 =k=2140(40k)0.58k0.4240k 0.80695

  • Probabilitas pemain mendapat dari poin yang dimainkan adalah binomial . Dengan syarat bahwa, probabilitas pemain kemudian menang dengan margin dua poin adalah58%2040(4020)0.58200.42200.07463558%0.5820.582+0.4220.656006

Jadi probabilitas keseluruhan pemain menang adalah sekitar58%0.80695+0.074635×0.656006 0.8559

Probabilitas pemain memenangkan pertandingan pertama adalah sekitar yang tidak mungkin. Probabilitas pemain memenangkan pertandingan terakhir adalah sekitar yang sangat tidak mungkin. 58%150.85559150.096958%350.85559350.0043

Henry
sumber
2
Bagian "probabilitas pemain kemudian menang dengan margin dua poin adalah "58%0.582/(0.582+0.422)0.656006 dapat menggunakan beberapa penjelasan, karena ini mungkin merupakan bagian yang paling sulit dalam hal ini. masalah.
JiK
1
@JiK: Sekali pada kesetaraan atau lebih baru, probabilitas pasangan poin yang menentukan adalah dan probabilitas bahwa pemain yang lebih baik mendapat dua angka di depan daripada pemain yang lebih buruk melakukannya adalah - jika tidak mereka kembali ke posisi yang sama20200.582+0.4220.5820.582+0.422
Henry
3
Jawaban yang jauh lebih ringkas daripada jawaban teratas, tapi saya kira karena tidak memiliki gambar dan diposting 12 jam kemudian, mendapat 80 suara lebih sedikit? = |
Attackfarm
17

Saya pergi dengan jawaban komputasi. Berikut adalah fungsi R yang mensimulasikan permainan ping-pong di mana pemenang harus menang dengan 2. Satu-satunya argumen adalah probabilitas bahwa Anda memenangkan poin. Ini akan mengembalikan skor akhir dari game itu:

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

Pertama mari kita pastikan itu bekerja dengan mensimulasikan 10.000 game di mana Anda memiliki peluang 50% untuk memenangkan setiap poin. Kami harus memperhatikan bahwa persentase kemenangan Anda adalah sekitar 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)

Ini mengembalikan 0,4955, tentang apa yang kita harapkan. Jadi mari kita pasang 58% Anda:

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

Ini mengembalikan 0,8606. Jadi, Anda memiliki peluang 86,06% untuk memenangkan satu pertandingan.

Kami sekarang dapat mensimulasikan 35 batch game dan melihat berapa kali Anda akan memenangkan semua 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)

Ini mengembalikan 0,0037, yang berarti Anda memiliki peluang 0,37% untuk memenangkan 35 pertandingan berikutnya. Ini mengasumsikan bahwa semua game dan semua poin independen satu sama lain. Anda dapat memprogram itu secara eksplisit ke dalam fungsi di atas, jika Anda mau.

Catatan: Saya melakukan ini dengan cepat. Saya yakin ada cara pemrograman yang lebih efisien secara komputasi.

Mark White
sumber
Coba pbetterwins <- pbinom(19,40,0.42) + dbinom(20,40,0.42) * 0.58^2/(0.58^2+0.42^2); pbetterwins; pbetterwins^35untuk perhitungan menggunakan distribusi binomial. Cukup dekat dengan simulasi Anda
Henry
15

Haruskah kita berasumsi bahwa peluang 58% untuk menang sudah pasti dan poinnya independen?

Saya percaya bahwa jawaban Whuber adalah yang baik , dan ditulis dan dijelaskan dengan indah, ketika pertimbangannya adalah bahwa setiap poin independen dari yang berikutnya . Namun saya percaya bahwa, dalam praktiknya itu hanya titik awal yang menarik (teoretis / ideal). Saya membayangkan bahwa dalam kenyataannya poin tidak independen satu sama lain, dan ini mungkin membuatnya lebih atau kurang mungkin bahwa lawan rekan kerja Anda menang setidaknya sekali dari 50.

Pada awalnya saya membayangkan bahwa ketergantungan poin akan menjadi proses acak , yaitu tidak dikendalikan oleh para pemain (misalnya ketika seseorang menang atau kalah bermain berbeda), dan ini harus membuat dispersi yang lebih besar dari hasil yang menguntungkan pemain yang lebih kecil untuk mendapatkan satu poin ini dari lima puluh.

Namun pemikiran kedua mungkin menyarankan yang sebaliknya : Fakta bahwa Anda telah "mencapai" sesuatu dengan peluang 9,7% dapat memberikan beberapa manfaat (tetapi hanya sedikit), dari sudut pandang Bayesian, ke ide-ide tentang mekanisme yang mendukung Anda. menangkan lebih dari 85% probabilitas untuk memenangkan permainan (atau setidaknya membuatnya lebih kecil kemungkinannya bahwa lawan Anda memiliki probabilitas jauh lebih tinggi dari 15% seperti yang diperdebatkan dalam dua paragraf sebelumnya). Misalnya, bisa jadi Anda mendapat skor lebih baik ketika posisi Anda kurang bagus (tidak aneh bagi orang yang mencetak jauh lebih berbeda pada poin pertandingan, mendukung atau menentang, daripada pada poin reguler). Anda dapat meningkatkan perkiraan 85% dengan memperhitungkan dinamika ini dan mungkin Anda memiliki probabilitas lebih dari 85% untuk memenangkan permainan.

Bagaimanapun, mungkin sangat salah menggunakan statistik poin sederhana ini untuk memberikan jawaban. Ya, Anda bisa melakukannya, tetapi itu tidak benar karena premis (independensi poin) tidak selalu benar dan sangat mempengaruhi jawabannya . Statistik 42/58 adalah informasi yang lebih banyak tetapi kami tidak tahu bagaimana menggunakannya (kebenaran model) dan menggunakan informasi tersebut dapat memberikan jawaban dengan presisi tinggi yang sebenarnya tidak dimiliki.


Contoh

Contoh: model yang sama masuk akal dengan hasil yang sama sekali berbeda

Jadi pertanyaan hipotetis (dengan asumsi poin independen dan diketahui, teoritis, probabilitas untuk poin ini) dengan sendirinya menarik dan dapat dijawab, Tetapi hanya untuk menjadi menjengkelkan dan skeptis / sinis; jawaban untuk kasus hipotetis tidak banyak berhubungan dengan masalah mendasar / awal Anda, dan mungkin mengapa ahli statistik / data-ilmuwan di perusahaan Anda enggan memberikan jawaban langsung.

Hanya untuk memberikan contoh alternatif (tidak lebih baik dari itu) yang memberikan pernyataan (kontra) yang membingungkan 'T: berapa probabilitas untuk memenangkan semua dari total 50 pertandingan jika saya sudah memenangkan 15?' Jika kami tidak mulai berpikir bahwa 'skor poin 42/58 relevan atau memberi kami prediksi yang lebih baik' maka kami akan mulai membuat prediksi probabilitas Anda untuk memenangkan pertandingan dan prediksi untuk memenangkan 35 pertandingan lainnya hanya berdasarkan kemenangan Anda sebelumnya. 15 pertandingan:

  • dengan teknik Bayesian untuk probabilitas Anda memenangkan permainan, ini berarti: yang kira-kira 31% untuk seragam sebelumnya f (x) = 1, meskipun itu mungkin agak terlalu optimis. Namun tetap saja jika Anda mempertimbangkan distribusi beta dengan antara 1 dan 5 maka Anda dapat: β=αp(win another 35 | after already 15)=01f(p)p5001f(p)p15β=α

peluang posterior sebagai fungsi dari distribusi beta sebelumnya

yang berarti bahwa saya tidak akan terlalu pesimis seperti prediksi langsung 0,432% Fakta bahwa Anda telah memenangkan 15 pertandingan harus meningkatkan kemungkinan Anda memenangkan 35 pertandingan berikutnya.


Catatan berdasarkan data baru

Berdasarkan data Anda untuk 18 game saya mencoba memasang model beta-binomial. Memvariasikan dan dan menghitung probabilitas untuk mendapatkan skor i, 21 (via i, 20) atau skor 20,20 dan kemudian menjumlahkan log mereka ke skor log-likelihood.β = ( 1 - μ ) να=μνβ=(1μ)ν

Hal ini menunjukkan bahwa sangat tinggi parameter (kecil dispersi dalam distribusi beta yang mendasari) memiliki kemungkinan yang lebih tinggi dan dengan demikian mungkin ada sedikit over-dispersi. Itu berarti bahwa data tidak menyarankan bahwa lebih baik menggunakan parameter variabel untuk kemungkinan Anda memenangkan poin, daripada peluang tetap 58% Anda untuk menang. Data baru ini memberikan dukungan tambahan untuk analisis Whuber, yang mengasumsikan skor berdasarkan distribusi binomial. Tapi tentu saja, ini masih mengasumsikan bahwa model itu statis dan juga bahwa Anda dan rekan kerja Anda berperilaku sesuai dengan model acak (di mana setiap permainan dan titik independen).ν

Estimasi kemungkinan maksimum untuk parameter distribusi beta sebagai ganti peluang menang 58% tetap:

estimasi kemungkinan maksimum untuk distribusi beta dari peluang menang 58p

T: bagaimana cara saya membaca grafik "LogLikelihood for parameters mu and nu"?

SEBUAH:

  • 1) Estimasi kemungkinan maksimum (MLE) adalah cara untuk menyesuaikan model. Likelihood berarti probabilitas data yang diberikan parameter model dan kemudian kita mencari model yang memaksimalkan ini. Ada banyak filosofi dan matematika di baliknya.
  • 2) Plot adalah metode komputasi yang malas untuk mencapai MLE yang optimal. Saya hanya menghitung semua nilai yang mungkin pada grid dan melihat apa valeu itu. Jika Anda perlu lebih cepat, Anda dapat menggunakan metode / algoritma iteratif komputasi yang mencari yang optimal, atau mungkin ada solusi analitik langsung.
  • 3) Parameter dan berhubungan dengan distribusi beta https://en.wikipedia.org/wiki/Beta_distribution yang digunakan sebagai model untuk p = 0,58 (untuk membuatnya tidak diperbaiki tetapi sebaliknya bervariasi dari waktu ke waktu). waktu). Model beta-p ini dibandingkan dengan model binomial untuk mendapatkan prediksi probabilitas untuk mencapai skor tertentu. Ini hampir sama dengan distribusi beta-binomial. Anda dapat melihat bahwa yang optimal adalah sekitar yang tidak mengejutkan. Nilai tinggi (artinya dispersi rendah). Saya telah membayangkan / mengharapkan setidaknya beberapa dispersi yang berlebihan.ν μ 0,6 νμνμ0.6ν

kode / perhitungan untuk grafik 1

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

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

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


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

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

kode / perhitungan untuk grafik 2

library("shape")

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

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

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

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

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

#plotting
levs <- c(-900,-800,-700,-600,-500,-400,-300,-200,-100,-90,-80,-70,-60,-55,-52.5,-50,-47.5)
# contour plot
filled.contour(mu,log(nu),z,
               xlab="mu",ylab="log(nu)",         
               #levels=c(-500,-400,-300,-200,-100,-10:-1),
               color.palette=function(n) {hsv(c(seq(0.15,0.7,length.out=n),0),
                                              c(seq(0.7,0.2,length.out=n),0),
                                              c(seq(1,0.7,length.out=n),0.9))},
               levels=levs,
               plot.axes= c({
                 contour(mu,log(nu),z,add=1, levels=levs)
                 title("loglikelihood for parameters mu and nu")
                 axis(1)
                 axis(2)
               },""),
               xlim=range(mu)+c(-0.05,0.05),
               ylim=range(log(nu))+c(-0.05,0.05)
)
Sextus Empiricus
sumber
2
+1 Saya menghargai perspektif baru. Tapi saya akan menantang pernyataan bahwa ketergantungan di antara poin membuat semakin besar kemungkinan lawan akan menang dalam 35 pertandingan berikutnya. Bahkan, itu bisa berjalan baik. Mekanisme yang masuk akal untuk kesimpulan yang berlawanan adalah bahwa Anda jauh lebih kuat daripada poin 58-42 dalam poin akan menyarankan, dan bahwa ketika dipanggil, Anda selalu dapat mengumpulkan untuk memenangkan permainan apa pun bahkan jika jauh di belakang. Masalah sebenarnya dalam tidak mengasumsikan independensi berkaitan dengan bagaimana model non-kemerdekaan.
whuber
@whuber, kamu benar. Saya juga berdebat untuk kedua cara. 1) Pikiran pertama saya pergi ke satu arah ketergantungan akan acak, misalnya orang memiliki terkendali pasang surut saat baik dan saat-saat buruk, dan ini saya membayangkan akan membuat dispersi yang lebih besar dari hasil mendorong kemungkinan pemain yang lebih rendah. 2) Namun, kemudian saya memikirkan prinsip-prinsip Bayesian dan bagaimana 15 game yang dimenangkan dapat memengaruhi analisis (setidaknya pertanyaan dalam posting adalah situasi yang berbeda dari pertanyaan dalam judul), dan mungkin ada mekanisme yang mungkin menguntungkan pemain yang lebih kuat.
Sextus Empiricus
1
Pada paruh kedua posting saya, saya memberikan hanya satu contoh yang berpendapat bahwa probabilitas untuk menang harus lebih besar dari 86%. Tetapi sementara semua matematika ini terdengar sangat tepat, pada kenyataannya kita tidak benar-benar yakin karena model kita buruk (dengan banyak tambahan, penurunan akurasi, informasi subyektif) yang diberikan sejumlah kecil informasi ini.
Sextus Empiricus
2
@whuber saya telah mengedit jawaban saya. Itu komentar yang bagus, dan saya harap jawabannya sekarang lebih jelas.
Sextus Empiricus
1
2) Plot adalah metode komputasi yang malas untuk mencapai MLE yang optimal. Saya hanya menghitung semua nilai yang mungkin pada grid dan melihat apa valeu itu. Jika Anda perlu lebih cepat, Anda dapat menggunakan metode / algoritma iteratif komputasi yang mencari yang optimal, atau mungkin ada solusi analitik langsung.
Sextus Empiricus
12

Banyak usaha yang bisa dihabiskan untuk model yang sempurna. Namun terkadang model yang buruk lebih baik. Dan tidak ada yang mengatakan model yang buruk seperti teorema batas pusat - semuanya adalah kurva normal.

Kami akan mengabaikan "lembur". Kami akan memodelkan jumlah poin individu sebagai kurva normal. Kami akan memodelkan bermain 38 putaran dan siapa pun yang menang poin terbanyak, daripada yang pertama ke 20. Ini adalah permainan yang sangat mirip!

Dan, secara membabi buta, saya akan mengklaim kita mendekati jawaban yang benar.

Biarkan menjadi distribusi suatu titik. memiliki nilai 1 ketika Anda mendapatkan poin, dan 0 ketika Anda tidak.XX

Jadi = ~ dan = = ~ .E(X)0.58Var(X)E(X)(1E(X))0.24

Jika adalah poin independen, maka adalah poin yang Anda dapatkan setelah bermain 38 putaran.Xii=138Xi

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

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

dan = = ~SD(i=138Xi)38Var(X))3.02

Dalam model kasar kami, kami kehilangan jika dan menang jika .38 i = 1 X i > 19i=138Xi<19i=138Xi>19

1.0115.62%22.04193.02 adalah standar deviasi dari rata-rata, yang menghasilkan peluang kegagalan setelah berkonsultasi dengan grafik skor z .1.0115.62%

Jika kita bandingkan dengan jawaban yang lebih teliti, ini sekitar dari nilai yang benar.1%

Anda biasanya akan lebih baik memeriksa keandalan peluang kemenangan daripada model yang lebih ketat yang mengasumsikan peluang dan memodelkannya dengan sempurna.58 %58%58%

Yakk
sumber
@ Yakk, dari mana sih 38 berasal ?? Juga saya cukup yakin var (38 * x) = 38 ^ 2 * var (X), bukan 38 * var (X). Bagaimana cara Anda "sangat bagus dalam penghitungan amplop" bertahan setelah Anda memperbaiki kesalahan itu?
use_norm_approx
@use_ Saya menggunakan 38 * X ceroboh sebagai "jumlah 38 Xs independen", bukan "satu X kali 38". 38 berasal dari "siapa yang mendapat lebih dari 19 kemenangan, pertama memenangkan permainan". Saya bisa menggunakan 39 game dan yang pertama> 19,5 sebagai gantinya; hasilnya akan serupa.
Yakk
3

Berdasarkan simulasi, sepertinya probabilitas memenangkan setiap game adalah sekitar 85,5%.

Probabilitas menang dengan tepat 2 (yaitu bagaimana saya membaca judul, tetapi tampaknya tidak seperti yang Anda tanyakan) adalah sekitar 10,1%.

Jalankan kode di bawah ini.

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
dalam_orang
sumber
1
Ini menjadi sangat dekat dengan solusi analitis Whuber: dbinom(20,40,0.58)*0.58^2/(1-2*0.58+2*0.58^2)+dbinom(20,39,0.58)*0.58memberikan 10,04%
Sextus Empiricus