zl程序教程

您现在的位置是:首页 >  后端

当前栏目

【Python-Numpy】numpy.random.binomial()的解析与使用

Pythonnumpy 解析 Random 使用
2023-09-14 09:12:40 时间

1 作用

从二项分布中抽取样本。
从具有指定参数,n次试验和p个成功概率的二项式分布中抽取样本,其中n个整数> = 0,且p在[0,1]区间内。(n可以作为浮点输入,但在使用中会被截断为整数)

2 参数解析

numpy.random.binomial(n,p,size = None )

  • n
    n个int或int的数组
    分布的参数,> =0。也接受浮点数,但它们将被截断为整数。

  • p
    float或float数组
    分布参数> = 0和<= 1。

  • size
    int或int元组,可选
    输出形状。如果给定的形状,如果size为(默认),则和均为标量时,将返回单个值。

3 何时使用

当使用随机样本估算总体中某个比例的标准误差时,正态分布就很好,除非乘积p * n <= 5,其中p =总体比例估计,n =样本数,在这种情况下而是使用二项式分布。

例如,一个15个人的样本显示了4个左撇子和11个右撇子。那么p = 4/15 = 27%。0.27 * 15 = 4,小于5,因此在这种情况下应使用二项式分布。

3 举例使用

1、 从分布中抽取样本:投掷硬币10次的结果,测试了1000次。

n, p = 10, .5  # n样本数量, p每个样本的概率
s = np.random.binomial(n, p, 1000)

2、一个真实的例子。一家公司钻了9口石油勘探井,每口井的成功概率估计为0.1。所有九口井都失败了。发生这种情况的可能性是多少?
让我们对模型进行20,000次试验,并计算产生零阳性结果的数目。

sum(np.random.binomial(9, 0.1, 20000) == 0)/20000.

输出
0.38885