一、定义
1.1 0-1分布
- 也称伯努力分布
若随机变量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
1.2 二项分布
- 二项分布是指在只有两个结果的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)=Cnk?pk(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)=C109?p9(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)=C101?p1(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)=C108?p8(1?0.97)10?8=0.0317 ???? 因此如果10个样品中有2个或以上的不合格品,则整批的零件合格率肯定达不到97%,可以整批退货。 ???? 如果约定的合格率是99.5%,则出现0个、1个、2个不合格品的概率分别为0.951、0.0478、0.001,如此10个只要抽出1个不合格品就可以整批退货了。
三、python 实现
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)
b2 = GetBinomial(10,1,0.03)
b3 = GetBinomial(10,10,0.995)
b4 = GetBinomial(10,9,0.995)
b5 = GetBinomial(10,8,0.995)
b6 = GetBinomial(10,7,0.995)
print("情况1:",b1)
print("情况2:",b2)
print("情况3:",b3)
print("情况4:",b4)
print("情况5:",b5)
print("情况6:",b6)
参考:统计基础篇之十:怎么理解二项分布
|