不通过排除计算事件的概率

问题描述

我对这类问题有些怀疑,例如:

“如果我们让体育场内的 20,000 人掷硬币 10 次,至少一个人得到 10 次正面朝上的概率是多少?”

我从数据科学家的实用统计中拿了这个例子。

因此,至少一个人得到 10 个正面的概率是使用以下方法计算的:1 - P(体育场内没有人得到 10 个正面)。

所以我们在这里做了一个排除程序,首先我得到我试图测量的相反事件的概率,而不是我想要测量的实际实验:至少一个人得到 10 个正面。

我们为什么要这样做?

如何计算至少有人得到 10 个正面的概率,但不通过没有人得到 10 个正面的概率?

解决方法

正如@Robert Dodier 在评论中提到的,原因是计算更简单。我将以一个 20 人的体育场而不是 20000 人为例:

方法一:

一个人没有得到 10 个头的概率

= 1 - probability of getting 10 heads
= 1 - 10!/(10!0!)*0.5^10*(1-0.5)^0
= 0.9990234375

体育场内至少有一个人得到 10 个人头的概率

= 1 - P(of nobody in the stadium getting 10 heads)
= 1 - 0.9990234375**20 (because all coin tosses are independent)
= 0.019351109194852834

方法二:

一个人获得 10 个头的概率

= 10!/(10!0!)*0.5^10*(1-0.5)^0
= 0.0009765625

体育场内恰好有 1、2、3 人等人获得 10 个正面的概率:

p1 = 20!/(1!19!)*0.0009765625^1*(1-0.0009765625)^(20-1) = 0.019172021325613825
p2 = 20!/(2!18!)*0.0009765625^2*(1-0.0009765625)^(20-2) = 0.00017803929872270904
p3 = 20!/(3!17!)*0.0009765625^3*(1-0.0009765625)^(20-3) = 1.0442187608370032e-06
p4 = 20!/(4!16!)*0.0009765625^4*(1-0.0009765625)^(20-4) = 4.338152232216289e-09
p5 = 20!/(5!15!)*0.0009765625^5*(1-0.0009765625)^(20-5) = 1.3569977656981548e-11
p6 = 20!/(6!14!)*0.0009765625^6*(1-0.0009765625)^(20-6) = 3.316221323798032e-14
p7 = 20!/(7!13!)*0.0009765625^7*(1-0.0009765625)^(20-7) = 6.483326146232712e-17
p8 = 20!/(8!12!)*0.0009765625^8*(1-0.0009765625)^(20-8) = 1.029853859983202e-19
p9 = 20!/(9!11!)*0.0009765625^9*(1-0.0009765625)^(20-9) = 1.342266353839299e-22 
p10 = 20!/(10!10!)*0.0009765625^10*(1-0.0009765625)^(20-10) = 1.443297154665913e-25
p11 = 20!/(11!9!)*0.0009765625^11*(1-0.0009765625)^(20-11) = 1.2825887804726853e-28
p12 = 20!/(12!8!)*0.0009765625^12*(1-0.0009765625)^(20-12) = 9.403143551852531e-32
p13 = 20!/(13!7!)*0.0009765625^13*(1-0.0009765625)^(20-13) = 5.656451493707817e-35
p14 = 20!/(14!6!)*0.0009765625^14*(1-0.0009765625)^(20-14) = 2.7646390487330485e-38
p15 = 20!/(15!5!)*0.0009765625^15*(1-0.0009765625)^(20-15) = 1.0809927854283668e-41
p16 = 20!/(16!4!)*0.0009765625^16*(1-0.0009765625)^(20-16) = 3.3021529369146104e-45
p17 = 20!/(17!3!)*0.0009765625^17*(1-0.0009765625)^(20-17) = 7.59508466888531e-49
p18 = 20!/(18!2!)*0.0009765625^18*(1-0.0009765625)^(20-18) = 1.2373875315877011e-52
p19 = 20!/(19!1!)*0.0009765625^19*(1-0.0009765625)^(20-19) = 1.2732289258503896e-56
p20 = 20!/(20!0!)*0.0009765625^20*(1-0.0009765625)^(20-20) = 6.223015277861142e-61
 

体育场内至少有一个人得到 10 个人头的概率

= p1 + p2 + p3 + p4 + p5 + p6 + p7 + p8 + p9 + p10 + 
p11 + p12 + p13 + p14 + p15 + p16 + p17 + p18 + p19 + p20
= 0.01935110919485281
 

所以结果是一样的(微小的差异是由于浮点精度),但是正如你所看到的,对于 20 人来说,第一个计算稍微简单一点,20000 就不用考虑了;)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...