超几何分布python代码实现
发布时间:2025-05-08 10:45:46
超几何分布是离散随机变量的概率分布问题。随机变量可以获得有限的值,每个值都可以获得概率。此时,解决方案是使用古典的概率公式。
在产品抽样检验中经常会遇到一种实际问题,假设N件产品中有M件不合格品,即不合格率 。
检查产品中随机抽取n件,发现k件不合格品的概率为 ,k=0,1,2,...,min{n,M}。
相关推荐:Python基础教程
亦可写作
(与上式不同的是,M可以是任何实数,而C表示的组合数M为非负整数)
它是古典概型的组合形式,a是下限,b是上限。此时,我们称随机变量X服从超几何分布(hypergeometric distribution)。
需要注意的是:
(1)超几何分布模型不放回抽样。
(2)超几何分布中的参数为M,N,n,上述超几何分布作为X~H(n,N,M)。
python实例代码:
importnumpyasnp importmatplotlib.pyplotasplt #超级几何分布hypergeometricetriccethypergeome(ngood,nbad,nsample,size=None)好的总数,坏的总数,每次采样的数量,测试的数量 #np.random.hypergeometric(10,20,5,size=4) #一个口袋里有30个球,其中10个红球,其余的是白球,除了颜色完全相同。游戏玩家一次摸出五个球。 至少有四个红球获得一等奖,那么获得一等奖的概率是多少呢? s=np.random.hypergeometric(10,20,5,size=1000000) p=sum(s>=4)/1000000. print(p) fig=plt.figure(figsize=(8,6)) a1=fig.add_subplot(2,2,1) a1.hist(s,bins=20,color='k',alpha=0.3) plt.show()