अगर मेरे पास एक बिंदु जीतने का 58% मौका है, तो मेरे लिए 21 में से एक पिंग पांग गेम जीतने का क्या मौका है?


90

मेरे पास एक सहकर्मी के साथ शर्त है कि 50 पिंग पोंग गेम में से (पहले 21 अंक जीतने के लिए, 2 से जीतना), मैं सभी 50 जीतूंगा। अब तक हमने 15 गेम खेले हैं और औसतन मैं 58% जीतता हूं अंक, प्लस मैं अब तक सभी खेल जीता है। इसलिए हम सोच रहे हैं कि अगर मेरे पास एक पॉइंट जीतने का 58% मौका है और उसके पास एक पॉइंट जीतने का 42% मौका है, तो प्रतिशत का क्या मौका है कि मैं गेम जीत पाऊँ? क्या कोई सूत्र है जिसे हम अंतर% संभावना में प्लग कर सकते हैं?

हम सभी से गुज़र चुके हैं और यहां तक ​​कि हमारी कंपनी के डेटा वैज्ञानिकों से भी पूछा, लेकिन इसका सीधा जवाब नहीं मिला।

संपादित करें: वाह, मैं प्रतिक्रियाओं की पूरी तरह से उड़ा रहा हूं। आपका बहुत धन्यवाद!!! यदि लोग उत्सुक हैं, तो मेरे पास एक अपडेट है कि मेरा दांव कैसा चल रहा है: मैंने अब 50 में से 18 गेम जीते हैं, इसलिए मुझे 32 और गेम जीतने की आवश्यकता है। मैंने सभी बिंदुओं में 58.7% जीते हैं और मेरे प्रतिद्वंद्वी ने 41.3% अंक जीते हैं। मेरे प्रतिद्वंद्वी के लिए मानक विचलन 3.52 है, उनका औसत स्कोर 14.83 है, और उनका औसत स्कोर 15.50 है। नीचे अब तक के प्रत्येक खेल के स्कोर का स्क्रीनशॉट दिया गया है। जैसे ही लोग रुचि रखते हैं, मैं शर्त के अनुसार अपडेट करता रह सकता हूं।

# 2 संपादित करें : दुर्भाग्य से हम केवल कुछ और खेल खेलने में सक्षम हैं, नीचे परिणाम हैं। मैं बस तस्वीर को बदलते रहने वाला हूं, इसलिए मेरे पास स्कोर के स्क्रीनशॉट का एक गुच्छा नहीं है।

अंतिम अद्यतन : मैं अंत में खेल # 28 पर अपने सहकर्मी से हार गया। उसने मुझे 21-13 से हराया। आपकी मदद के लिए धन्यवाद!

यहाँ छवि विवरण दर्ज करें


11
वहाँ है एक सूत्र: के लिए यह रूप में है सभी में 21 मामले (बड़े गुणांक के साथ, सबसे बड़ा से अधिक: बार एक डिग्री -20 बहुपद )। यदि सभी बिंदु स्वतंत्र हैं, तो आपके पास अगले 35 गेम जीतने का केवल मौका है। 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
मुझे संदेह है कि सभी बिंदु (और खेल) एक दूसरे से (कई कारणों से) स्वतंत्र हैं। स्वतंत्रता का उत्तर पर बड़ा प्रभाव पड़ सकता है।
मार्क एल। स्टोन

8
यह मानते हुए कि यह वही खेल है जो मैंने खेला है, मुझे याद है कि एक सेवारत को एक फायदा है; इसलिए "हॉट हैंड" के बारे में सब कुछ अनदेखा करना यह हो सकता है कि आप सेवा करते समय 68% जीतें और जब 48% न हो - जो सभी संभावनाओं को तिरछा कर देगा; भले ही यह 58% तक बढ़ जाए। इस प्रकार हमारे पास पर्याप्त जानकारी नहीं है ..
हंस ऑल्सन

5
सिर्फ एक टिप्पणी - 21 अंक? टेबल टेनिस एक 11 सूत्रीय प्रारूप में बदल गया, 7 खेलों में से सर्वश्रेष्ठ, 2 एक बार में प्रति खिलाड़ी परोसता है, 2001 में वापस।
rcgldr

5
मैं इस शर्त पर हर ~ 5 गेम पर अपडेट पोस्ट करता रहूंगा। दुर्भाग्य से हम केवल प्रति सप्ताह कुछ खेल खेलते हैं क्योंकि हम केवल काम के बाद खेलते हैं।
रिचर्ड

जवाबों:


119

विश्लेषण इस संभावना से जटिल है कि गेम कम से कम दो अंकों के अंतर से जीतने के लिए "ओवरटाइम" में चला जाता है। (अन्यथा यह https://stats.stackexchange.com/a/327015/919 पर दिखाए गए समाधान जितना आसान होगा ।) मैं दिखाऊंगा कि समस्या की कल्पना कैसे करें और इसका उपयोग करके इसे आसानी से कम्प्यूटेड योगदान में तोड़ दें। उत्तर। परिणाम, हालांकि थोड़ा गड़बड़ है, प्रबंधनीय है। एक अनुकरण इसकी शुद्धता को दर्शाता है।


एक बिंदु जीतने की आपकी संभावना होने दें । p मान लें कि सभी बिंदु स्वतंत्र हैं। मौका है कि आप एक खेल को जीतने के कितने अंक अपने प्रतिद्वंद्वी अंत में है यह सोचते हैं आप अतिरिक्त समय (में मत जाओ के अनुसार (nonoverlapping) की घटनाओं में टूट किया जा सकता है ) या आप अतिरिक्त समय में जाने । बाद के मामले में यह (या बन जाएगा) स्पष्ट है कि किसी समय स्कोर 20-20 था।0,1,,19

एक अच्छा दृश्य है। खेल के दौरान स्कोर को अंक रूप में प्लॉट किया जाए जहां आपका स्कोर है और आपके प्रतिद्वंद्वी का स्कोर है। जैसे ही गेम सामने आता है, स्कोर शुरू होने वाले पहले क्वाड्रेंट में पूर्णांक जाली के साथ चलता है , जिससे गेम पथ बनता है । यह पहली बार समाप्त होता है जब आप में से किसी ने कम से कम स्कोर किया हो और उसमें कम से कम का मार्जिन हो । इस तरह के जीतने वाले बिंदुओं के दो सेट होते हैं, इस प्रक्रिया की "अवशोषित सीमा", खेल पथ को समाप्त करना चाहिए।x y ( 0 , 0 ) 21 2(x,y)xy(0,0)212

आकृति

यह आंकड़ा अवशोषित सीमा का हिस्सा दिखाता है (यह असीम रूप से और दाईं ओर फैली हुई है) साथ ही एक गेम का रास्ता भी है जो ओवरटाइम में चला गया (आपके लिए नुकसान के साथ, अफसोस)।

गिनती करते हैं। अपने प्रतिद्वंद्वी के लिए अंकों के साथ खेल के समाप्त होने के तरीकों की संख्या प्रारंभिक स्कोर पर शुरू होने वाले अंकों के पूर्णांक में अलग-अलग रास्तों की संख्या है और अंत में स्कोर स्कोर । इस तरह के रास्ते आपके द्वारा जीते गए खेल में अंकों में से द्वारा निर्धारित किए जाते हैं । इसलिए वे संख्या के आकार के सबसेट के अनुरूप हैं , और उनमें से हैं। ऐसे प्रत्येक रास्ते में जब से तुम जीता अंक (स्वतंत्र संभावनाओं के साथ हर बार, अंतिम बिंदु बढ़ रहा है) और अपने प्रतिद्वंद्वी को जीत लिया( 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)21py अंक (स्वतंत्र संभावनाओं के साथ हर बार), कुल अवसर के लिए खाते से जुड़े पथ1py

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

दाईं ओर कोष्ठक के अंदर का सामान में एक बहुपद है । (ऐसा लगता है कि इसकी डिग्री , लेकिन प्रमुख शब्द सभी रद्द करते हैं: इसकी डिग्री ।)21 20p2120

जब , एक जीत की संभावना करीब है0.855913992p=0.580.855913992.

आपको इस विश्लेषण को उन खेलों के लिए सामान्य बनाने में कोई परेशानी नहीं होनी चाहिए जो किसी भी संख्या के अंकों के साथ समाप्त होते हैं। जब आवश्यक मार्जिन से अधिक होता है , तो परिणाम अधिक जटिल हो जाता है लेकिन उतना ही सीधा होता है।2

संयोग से , जीतने के इन अवसरों के साथ, आपके पास पहले गेम जीतने का एक मौका था । आप जो रिपोर्ट करते हैं, वह असंगत नहीं है, जो हमें प्रोत्साहित कर सकता है कि हम प्रत्येक बिंदु के परिणामों को जारी रखने के लिए स्वतंत्र रहें। हम इस तरह से प्रोजेक्ट करेंगे कि आपके पास एक मौका हो15(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)

जब मैंने इसे चलाया, तो आपने 10,000 पुनरावृत्तियों में से 8,570 मामलों में जीत हासिल की। एक जेड-स्कोर (लगभग एक सामान्य वितरण के साथ) ऐसे परिणामों का परीक्षण करने के लिए गणना की जा सकती है:

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

इस आकृति के संभावित उपयोगों में शामिल हैं:

  • पथ कुल स्कोर के 380: 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=0y = 1 ( 21)1y=1y=0(2120)=21y=0
ईज़ी

1
@ शुभकर्ता: महान, r codeकार्यान्वयन प्रकटीकरण का "अच्छा दृश्य" भाग भी होगा ? बहुत धन्यवाद।
मैक्सिमिलियन

7
@ सफ़्फ़ान मेरा मूल्य सटीक तर्कसंगत अंकगणित ( गणितज्ञ में ) का उपयोग करके गणना की गई और अंत में गोल किया गया। मुझे संदेह है कि आपके द्वारा केवल दोहरे सटीक फ़्लोटिंग पॉइंट का उपयोग करके गणना की गई होगी, और इसलिए मान लें कि आपके पिछले कुछ अंक गलत हैं। एक परिमेय संख्या के रूप में मान
2494929816061114641968058046704583744174849151775019163577995310486129149305191822350025177001953125000000000000000000000000000000000000.
whuber

4
@ मैक्सीमिलियन I ने विज़ुअलाइज़ेशन के लिए कोड पोस्ट किया।
whuber

3
मुझे लगता है कि 20-20 तक पहुंचने के बाद ओवरटाइम को संभालने का एक सरल तरीका जोड़े में अंक लेना होगा। केवल यही चीजें मायने रखती हैं कि दोनों में से पहला खिलाड़ी (संभावना 0.58 or) या दूसरा विजेता दोनों (0.42।)। यदि कुछ और घटित होता है, तो इसे अनदेखा करें और जब तक उपरोक्त एक के लिए नहीं होता तब तक खेलते रहें। 20-20 के बाद पहले खिलाड़ी की जीत की संभावना इस प्रकार 0.58 (/ (0.58 0. + 0.42²) और दूसरे खिलाड़ी की 0.42's / (0.58² + 0.42²) है।
सुपरकैट

25

द्विपद वितरण का उपयोग करना और हर बिंदु को स्वतंत्र मानना:

  • खिलाड़ी की संभावना पहले अंक में हो जाती है (इस तथ्य को ध्यान में रखते हुए कि अंतिम बिंदु को जीतना चाहिए) is58%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

तो समग्र संभावना खिलाड़ी जीतता है0.८०,६९५ + 0.०,७४,६३५ × 0.६,५६,००६ 0.855958%0.80695+0.074635×0.656006 0.8559

खिलाड़ी के पहले गेम जीतने की संभावना तब तकरीबन जो काफी संभावना नहीं है। खिलाड़ी के अंतिम गेम जीतने की संभावना लगभग जो बहुत कम संभावना है। 15 0.८५,५५९ 150.0969 58 % 35 0.८५,५५९ 350.004358%150.85559150.096958%350.85559350.0043


2
भाग "संभाव्यता खिलाड़ी तब दो बिंदु मार्जिन के साथ जीतता है "0.58 2 / ( 0.58 2 + 0.42 2 ) 0.६,५६,००६58%0.582/(0.582+0.422)0.656006 कुछ स्पष्टीकरण का उपयोग कर सकता है, क्योंकि यह संभवतः इसमें सबसे कठिन हिस्सा है। मुसीबत।
जीके

1
@JiK: एक बार में या बाद में समानता, अंक की एक निर्णायक जोड़ी की संभावना है और इतने संभावना है कि बेहतर खिलाड़ी दो आगे बल्कि बदतर खिलाड़ी की तुलना में तो यह है कर रही हो जाता है - अन्यथा वे उसी स्थिति में लौटते हैं0.58 2 + 0.42 2 0.58 220200.582+0.4220.5820.582+0.422
हेनरी

3
शीर्ष उत्तर की तुलना में बहुत अधिक संक्षिप्त उत्तर, लेकिन मुझे लगता है क्योंकि इसमें चित्र नहीं थे और 12 घंटे बाद पोस्ट किया गया था, इसे 80 कम वोट मिले? = |
अटैकफार्म 16

17

मैं एक कम्प्यूटेशनल उत्तर के साथ गया था। यहां एक आर फ़ंक्शन है जो एक पिंग-पोंग गेम का अनुकरण करता है जहां विजेता को 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))
}

आइए पहले यह सुनिश्चित करें कि यह 10,000 खेलों का अनुकरण करके काम करता है जहां आपके पास प्रत्येक बिंदु जीतने का 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, जिसका अर्थ है कि आपके पास अगले 35 गेम जीतने का 0.37% मौका है। यह मानता है कि सभी खेल और सभी बिंदु एक दूसरे से स्वतंत्र हैं। यदि आप चाहते हैं तो आप उपरोक्त कार्य को स्पष्ट रूप से कर सकते हैं।

नोट: मैं यह मक्खी पर कर रहा हूँ। मुझे यकीन है कि यह प्रोग्रामिंग का अधिक कम्प्यूटेशनल रूप से कुशल तरीका है।


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 आँकड़ा अधिक जानकारी है, लेकिन हम इसे (मॉडल की शुद्धता) का उपयोग करने के तरीके के बारे में अच्छी तरह से नहीं जानते हैं और जानकारी का उपयोग करके उच्च परिशुद्धता के साथ उत्तर दे सकते हैं जो वास्तव में ऐसा नहीं है।


उदाहरण

उदाहरण: पूरी तरह से अलग परिणाम के साथ एक समान रूप से उचित मॉडल

तो काल्पनिक प्रश्न (स्वतंत्र अंक और इन बिंदुओं के लिए ज्ञात, सैद्धांतिक, संभावनाएं) अपने आप में दिलचस्प है और इसका उत्तर दिया जा सकता है, लेकिन सिर्फ कष्टप्रद और संदेहवादी / निंदक होने के लिए; काल्पनिक मामले का उत्तर आपकी अंतर्निहित / मूल समस्या से बहुत संबंधित नहीं है, और हो सकता है कि आपकी कंपनी के सांख्यिकीविद् / डेटा-वैज्ञानिक सीधे जवाब देने के लिए अनिच्छुक हों।

बस एक वैकल्पिक उदाहरण देने के लिए (neccesately बेहतर नहीं) जो एक भ्रामक (काउंटर) कथन प्रदान करता है 'प्रश्न: यदि मैं पहले से ही 15 जीतता हूं तो कुल 50 गेम जीतने की संभावना क्या है?' यदि हम यह नहीं सोचना शुरू करते हैं कि 'बिंदु स्कोर 42/58 प्रासंगिक हैं या हमें बेहतर भविष्यवाणियां देते हैं' तो हम गेम जीतने के लिए आपकी संभावना की भविष्यवाणियां करना शुरू कर देंगे और 35 अन्य गेम जीतने की भविष्यवाणियां पूरी तरह से आपके पहले से जीते 15 खेल:

  • एक गेम जीतने की आपकी संभावना के लिए बायेसियन तकनीक से इसका मतलब होगा: जो लगभग एक समान पूर्व एफ (एक्स) = 1 के लिए 31% है, हालांकि यह थोड़ा बहुत आशावादी हो सकता है। लेकिन फिर भी अगर आप 1 और 5 के बीच साथ एक बीटा वितरण पर विचार करते हैं, तो आपको निम्न मिलते हैं:p(win another 35 | after already 15)=01f(p)p5001f(p)p15β=α

पूर्व बीटा वितरण के कार्य के रूप में पीछे की संभावना

जिसका मतलब है कि मैं इतना निराशावादी नहीं होगा जितना कि सीधा 0.432% भविष्यवाणी है कि आप पहले से ही 15 गेम जीत चुके हैं, इस संभावना को बढ़ाना चाहिए कि आप अगले 35 गेम जीते।


नए डेटा के आधार पर नोट करें

18 गेम के लिए आपके डेटा के आधार पर मैंने बीटा-बिनोमियल मॉडल को फिट करने की कोशिश की। Varying और और स्कोर की गणना करने की संभावनाओं को i, 21 (i, 20) के माध्यम से या स्कोर 20,20 या फिर उनके लॉग योग करें लॉग-लाइक स्कोर।β = ( 1 - μ ) να=μνβ=(1μ)ν

यह दर्शाता है कि एक बहुत ही उच्च पैरामीटर (अंतर्निहित बीटा वितरण में थोड़ा फैलाव) की संभावना अधिक होती है और इस प्रकार संभवतः बहुत अधिक फैलाव होता है। इसका मतलब है कि डेटा यह सुझाव नहीं देता है कि आपके जीतने की निश्चित 58% संभावना के बजाय, एक बिंदु जीतने की संभावना के लिए एक चर पैरामीटर का उपयोग करना बेहतर है। यह नया डेटा व्हीबर के विश्लेषण के लिए अतिरिक्त सहायता प्रदान कर रहा है, जो एक द्विपद वितरण के आधार पर स्कोर मानता है। लेकिन निश्चित रूप से, यह अभी भी मानता है कि मॉडल स्थिर है और यह भी कि आप और आपके सहकर्मी एक यादृच्छिक मॉडल (जिसमें हर खेल और बिंदु स्वतंत्र हैं) के अनुसार व्यवहार करते हैं।ν

निर्धारित 58% जीतने के अवसर के स्थान पर बीटा वितरण के मापदंडों के लिए अधिकतम संभावना अनुमान:

58p जीतने के अवसर के बीटा वितरण के लिए अधिकतम संभावना अनुमान

प्रश्न: मैं "लॉजिकलीहुड के लिए पैरामीटर म्यू और नु" ग्राफ कैसे पढ़ूं?

ए:

  • 1) अधिकतम संभावना अनुमान (MLE) एक मॉडल को फिट करने का एक तरीका है। संभावना का अर्थ है मॉडल के मापदंडों को दिए गए डेटा की संभावना और फिर हम उस मॉडल की तलाश करते हैं जो इसे अधिकतम करता है। इसके पीछे बहुत कुछ दर्शन और गणित है।
  • 2) प्लॉट इष्टतम MLE पाने के लिए एक आलसी कम्प्यूटेशनल तरीका है। मैं बस एक ग्रिड पर सभी संभावित मूल्यों की गणना करता हूं और देखता हूं कि वीलू क्या है। यदि आपको तेज होने की आवश्यकता है, तो आप या तो कम्प्यूटेशनल पुनरावृत्ति विधि / एल्गोरिथ्म का उपयोग कर सकते हैं जो इष्टतम खोजता है, या संभवतः एक प्रत्यक्ष विश्लेषणात्मक समाधान हो सकता है।
  • 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

@ आप सही हैं। मैं किसी भी तरीके से बहस करता हूं। 1) मेरा पहला विचार एक दिशा में चला गया, निर्भरता यादृच्छिक होगी, जैसे लोगों के पास अच्छे क्षणों और बुरे क्षणों में अनियंत्रित उतार-चढ़ाव हैं, और यह मैं कल्पना करता हूं कि कम खिलाड़ी की संभावना को धक्का देने वाले परिणामों का एक बड़ा फैलाव होगा। 2) हालांकि, तब मैं बायेसियन सिद्धांतों के बारे में सोच रहा था और 15 जीता हुआ गेम विश्लेषण को कैसे प्रभावित कर सकता है (कम से कम पोस्ट में सवाल शीर्षक में सवाल से अलग स्थिति है), और संभव तंत्र हो सकता है जो लाभ पहुंचाते हों मजबूत खिलाड़ी।
मार्टिज़न वेटरिंग्स

1
अपनी पोस्ट के दूसरे भाग में मैं सिर्फ एक उदाहरण देता हूं जो तर्क देता है कि जीतने की संभावना 86% से अधिक होनी चाहिए। लेकिन जब यह सब गणित बहुत सटीक लगता है, तो वास्तव में हम वास्तव में निश्चित नहीं हैं कि चूंकि हमारे मॉडल खराब हैं (बहुत अतिरिक्त, सटीकता घटने, व्यक्तिपरक जानकारी के साथ) इस जानकारी की थोड़ी मात्रा दी।
मार्टिज़न वेटरिंग्स

2
@ जब भी मैंने अपना उत्तर संपादित किया है। यह एक अच्छी टिप्पणी थी, और मुझे उम्मीद है कि उत्तर में अब यह अधिक स्पष्ट है।
मार्टिज़न वेटरिंग्स

1
2) प्लॉट इष्टतम MLE पाने के लिए एक आलसी कम्प्यूटेशनल तरीका है। मैं बस एक ग्रिड पर सभी संभावित मूल्यों की गणना करता हूं और देखता हूं कि वीलू क्या है। यदि आपको तेज होने की आवश्यकता है, तो आप या तो कम्प्यूटेशनल पुनरावृत्ति विधि / एल्गोरिथ्म का उपयोग कर सकते हैं जो इष्टतम खोजता है, या संभवतः एक प्रत्यक्ष विश्लेषणात्मक समाधान हो सकता है।
मार्टिज़न वेटरिंग्स

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 * वार ( ) = ~X9.12

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

हमारे क्रूड मॉडल में, हम if खो देते हैं और if ।Σ 38 मैं = 1 एक्स मैं > 19i=138Xi<19i=138Xi>19

1.0115.62%22.04193.02 है मतलब है, जो एक के लिए बाहर काम करता है से मानक विचलन दूर एक परामर्श के बाद असफलता का मौका z स्कोर चार्ट1.0115.62%

यदि हम अधिक कठोर उत्तरों की तुलना करते हैं, तो यह सही मान से लगभग है।1%

आप आमतौर पर जीत के अवसर की विश्वसनीयता की जांच करने से बेहतर होंगे कि एक और अधिक कठोर मॉडल की बजाय मौका और इसे पूरी तरह से मॉडल माना जाए ।58 %58%58%


@ यक, जहां बिल्ली 38 से आया था ?? इसके अलावा, मुझे पूरा यकीन है कि var (38 * x) = 38 ^ 2 * var (X), 38 * var (X) नहीं। उस त्रुटि को सही करने के बाद आपकी "लिफाफे की गणना का बहुत अच्छा हिस्सा" कैसे बनता है?
use_norm_approx

@use_ मैं 38 * X को "38 स्वतंत्र 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.5810.04%
मार्टिज़न
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.