• 技术文章 >Python技术 >Python基础教程

    超几何分布python代码实现

    爱喝马黛茶的安东尼爱喝马黛茶的安东尼2019-10-26 15:27:40原创5343

    超几何分布属于离散型随机变量的概率分布问题,随机变量可以取有限个值,在每取一个值时可以求出一个概率,此时求解的方法就是采用古典概型公式。

    产品抽样检查中经常遇到一类实际问题,假定在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实例代码:

    import numpy as np
    import matplotlib.pyplot as plt
    # 超几何分布 hypergeometric(ngood, nbad, nsample, size=None) 好的总数、坏的总数、每次采样数、试验次数
    # np.random.hypergeometric(10,20,5,size=4)
    # 在一个口袋中装有30个球,其中有10个红球,其余为白球,这些球除颜色外完全相同。游戏者一次从中摸出5个球。
    摸到至少4个红球就中一等奖,那么获一等奖的概率是多少?
    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()
    专题推荐:超几何分布 python 代码实现
    上一篇:命令行运行python时找不到模块怎么解决 下一篇:python正则表达式如何不区分大小写

    相关文章推荐

    • python加法程序怎么写• python闭包函数是什么

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网