r - A队赢得系列赛的概率
问题描述
在双边系列赛中,球队相互对抗,直到一队赢得 4 场比赛。假设 A 队在每场比赛中有 45% 的机会击败 B 队。A队赢得双边系列赛的概率是多少?
我手动计算了概率,结果应该是 0.39,我还尝试使用复制和采样并在 R 中获得相同的输出,但我犯了一个错误,我无法在下面的 5、6、7 匹配输出中获得正确的输出. 当只有 4 场比赛时,我得到正确的输出,但我无法调整 R 代码以仅考虑比赛 5、6、7(m5、m6、m7)中的前 4 场胜利。下面是我的尝试。
teama_wins<- function(variables) {
m4 <- mean(replicate(1000,sum(sample(c(0,1), 4, replace = TRUE, prob = c(0.55, 0.45)))==4))
m5 <- mean(replicate(1000,sum(sample(c(0,1), 5, replace = TRUE, prob = c(0.55, 0.45)))==4))
m6 <- mean(replicate(1000,sum(sample(c(0,1), 6, replace = TRUE, prob = c(0.55, 0.45)))==4))
m7 <- mean(replicate(1000,sum(sample(c(0,1), 7, replace = TRUE, prob = c(0.55, 0.45)))==4))
return(sum(m4,m5,m6,m7))
}
teama_wins()
解决方案
从数学上讲,决定系列赛后的比赛是否进行并不重要,因此您只需将代码更改为:
teama_wins<- function(variables) {
mean(replicate(1000,sum(sample(c(0,1), 7, replace = TRUE, prob = c(0.55, 0.45)))>=4))
}
teama_wins()
请注意,现在这是检查 A 队至少赢了四场比赛,而不是在每个场景中都赢了 4 场。
我发现我需要将样本数量增加到 10,000 才能合理地接近预期的答案,但随后它会达到预期的 ~0.39
推荐阅读
- php - 如何检查缺少哪些标题/文件以及为什么?
- python - 在同一个熊猫数据框中交换两行(连同索引)
- python - 如何使用importlib在python中动态导入模块?
- ruby-on-rails - Rails 预编译 index.html.erb
- html - div 元素在新行上,
但我不想这样做 - swift - 如何在 Firebase 中引入数据库中的用户和存储中的图像?
- angular - 绑定 mat-stepper 上的 Angular Material Stepper 错误
- reactjs - 寻找反应数据表/网格库支持样式组件
- javascript - 如何使用 Redux 实现多个请求的身份验证
- python - 如何修复 SyntaxError:无法分配给文字