- 也称伯努力分布
若随机变量X只有两个可能的取值0和1,其概率分布为
P ( X = x i ) = p x i ( 1 − p ) 1 − x i , x i = 0 , 1 P(X=x_{i}) = p^{x_{i}}(1-p)^{1-x_{i}} \qquad,x_{i}=0,1 P(X=xi)=pxi(1−p)1−xi,xi=0,1
- 二项分布是指在只有两个结果的n次独立的伯努利试验中,所期望的结果出现
次数的概率
,记
B ( n , k , p ) = C n k p k ( 1 − p ) n − k B (n,k,p)= C_{n}^{k} p^{k} (1-p)^{n-k} B(n,k,p)=Cnkpk(1−p)n−k
其中,n表示试验次数,k表示出现某个结果的次数, C n k = n ( n − 1 ) . . ( n − k + 1 ) k ( k − 1 ) . . . 1 = n ! ( n − k ) ! k ! C_{n}^{k}=\frac{n(n-1)..(n-k+1)}{k(k-1)...1} = \frac{n!}{(n-k)!k!} Cnk=k(k−1)...1n(n−1)..(n−k+1)=(n−k)!k!n!
在很多工厂里,通常都会跟零件供应商约定供货合格率,并对每批供货进行抽检,就是所谓的IQC。设约定的合格品率为97%(p)
,如果每批随机抽10件(n)
,那么抽出1件(k)
不合格时,整批的零件的合格率是不是达不到97%?
根据题意,p=0.97,n=10,k=9
,据此算出10个样品中有9个合格品的概率是
B
(
10
,
9
,
0.97
)
=
C
10
9
p
9
(
1
−
0.97
)
10
−
9
=
0.228
B (10,9,0.97)= C_{10}^{9} p^{9} (1-0.97)^{10-9} = 0.228
B(10,9,0.97)=C109p9(1−0.97)10−9=0.228
反过来,如果考虑不合格品率,p=0.03,n=10,k= 1
,据此计算出10个样品中有1个不合格品的概率是
B
(
10
,
1
,
0.03
)
=
C
10
1
p
1
(
1
−
0.03
)
10
−
1
=
0.228
B (10,1,0.03)= C_{10}^{1} p^{1} (1-0.03)^{10-1} = 0.228
B(10,1,0.03)=C101p1(1−0.03)10−1=0.228
结果是一样的。由此可见,10个样品中有1个不合格品的概率还是很大的,因此不能说这批零件不合格。
那抽出2个不合格的呢?
B
(
10
,
8
,
0.97
)
=
C
10
8
p
8
(
1
−
0.97
)
10
−
8
=
0.0317
B (10,8,0.97)= C_{10}^{8} p^{8} (1-0.97)^{10-8} = 0.0317
B(10,8,0.97)=C108p8(1−0.97)10−8=0.0317
因此如果10个样品中有2个或以上的不合格品,则整批的零件合格率肯定达不到97%,可以整批退货。
如果约定的合格率是99.5%,则出现0个、1个、2个不合格品的概率分别为0.951、0.0478、0.001,如此10个只要抽出1个不合格品就可以整批退货了。
- 代码中的情况对应上文案例
from scipy.special import comb
def GetBinomial(n,k,p):
'''
功能:计算给定参数的二项分布值
传入:n(实验总次数)、k(事件出现的次数)、p(事件出现的概率)
输出:二项分布值
'''
C = comb(n,k) # 计算所有组合数量
B = C * p**k * (1-p)**(n-k)
return B
b1 = GetBinomial(10,9,0.97) # 情况1
b2 = GetBinomial(10,1,0.03) # 情况2
b3 = GetBinomial(10,10,0.995) # 情况3
b4 = GetBinomial(10,9,0.995) # 情况4
b5 = GetBinomial(10,8,0.995) # 情况5
b6 = GetBinomial(10,7,0.995) # 情况6
print("情况1:",b1)
print("情况2:",b2)
print("情况3:",b3)
print("情况4:",b4)
print("情况5:",b5)
print("情况6:",b6)
参考:统计基础篇之十:怎么理解二项分布
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)