本文主要是介绍二项分布理解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
二项分布
篮球例子:
疫苗例子:
新冠例子:
二项分布
第一种理解方式: 四个人中选两个,c42
第二种理解方式:总阶乘除以重复数的阶乘
篮球例子:
某人篮球投篮的命中率是0.3,总共投篮10次,问至少投中2次的概率?
分析:
(1)每次投篮有2种结果,投中或没投中;
(2)每次投篮的投中概率是相同的,都为0.3;
(3)每次投篮可认为是独立事件。
因此,符合二项分布。
python实现
import numpy as np
import scipy.stats as sps
n = 10
p = 0.3
k = np.arange(n + 1)
PX = sps.binom.pmf(k, n, p)
print(sum(PX[2:3]))
0.233
print(sum(PX[2:]))
0.85
疫苗例子:
某种疫苗注射后过敏反应的概率是0.08,问某社区卫生院在接种该疫苗100人后,少于3人有过敏反应的概率是多少?
采用上例中的分析方法,该问题也属于二项分布问题。少于3人有过敏反应,即求:
P(X<3)=P(X=0)+P(X=1)+P(X=2)=C(100,0)(0.08)0(0.02)100+C(100,1)(0.08)1(0.02)99+C(100,2)(0.08)2(0.02)98=0.01127=1.127%
import numpy as np
import scipy.stats as sps
n = 100
p = 0.08
k = np.arange(n + 1)
PX = sps.binom.pmf(k, n, p)
print(sum(PX[:3]))
1.127%
新冠例子:
不良率是1%,假设有10000人,有百分百可能不良人数小于200
import numpy as np
import scipy.stats as sps
n = 10000
p = 0.01
k = np.arange(n + 1)
PX = sps.binom.pmf(k, n, p)
print(sum(PX[:50]))
print(sum(PX[:100]))
print(sum(PX[:150]))
print(sum(PX[:200]))
print(sum(PX[200:]))
1.03124838183e-08 0.48650072829 0.99999834295 1.00000000001 5.63008540759e-19
这篇关于二项分布理解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!