当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python dask.array.random.hypergeometric用法及代码示例


用法:

dask.array.random.hypergeometric(ngood, nbad, nsample, size=None, chunks='auto', **kwargs)

从超几何分布中抽取样本。

此文档字符串是从 numpy.random.mtrand.RandomState.hypergeometric 复制的。

可能存在与 Dask 版本的一些不一致之处。

样本是从具有指定参数的超几何分布中抽取的,ngood(做出好的选择的方法)、nbad(做出错误选择的方法)和nsample(采样的项目数,小于或等于总和 ngood + nbad )。

注意

新代码应改为使用default_rng() 实例的hypergeometric 方法;请参阅快速入门。

参数

ngoodint 或 数组 整数

做出良好选择的方法的数量。必须是非负数。

nbadint 或 数组 整数

做出错误选择的方法的数量。必须是非负数。

nsampleint 或 数组 整数

抽样的项目数。必须至少为 1 且最多为 ngood + nbad

sizeint 或整数元组,可选

输出形状。例如,如果给定的形状是 (m, n, k) ,则绘制 m * n * k 样本。如果 size 为 None(默认),如果 ngoodnbadnsample 都是标量,则返回单个值。否则,将抽取np.broadcast(ngood, nbad, nsample).size 样本。

返回

outndarray 或标量

从参数化的超几何分布中抽取样本。每个样本是从一组ngood好项目和nbad坏项目中随机选择的大小为nsample的子集中的好项目的数量。

注意

超几何分布的概率密度为

其中

对于 P(x),x 在抽取的样本中获得良好结果的概率,g = ngood,b = nbad,和 n = nsample

考虑一个装有黑白大理石的骨灰盒,其中ngood 是黑色的,nbad 是白色的。如果您在没有放回的情况下绘制nsample 球,则超几何分布说明了所绘制样本中黑球的分布。

请注意,此分布与二项分布非常相似,只是在这种情况下,样本是在没有放回的情况下抽取的,而在二项分布的情况下,样本是有放回的(或者样本空间是无限的)。随着样本空间变大,这种分布接近二项式。

参考

1

伦特纳,马文,“Elementary Applied Statistics”,博格登和奎格利,1972 年。

2

Weisstein, Eric W. “超几何分布”。来自MathWorld-A Wolfram Web 资源。http://mathworld.wolfram.com/HypergeometricDistribution.html

3

维基百科,“Hypergeometric distribution”,https://en.wikipedia.org/wiki/Hypergeometric_distribution

例子

从分布中抽取样本:

>>> ngood, nbad, nsamp = 100, 2, 10  
# number of good, number of bad, and number of samples
>>> s = np.random.hypergeometric(ngood, nbad, nsamp, 1000)  
>>> from matplotlib.pyplot import hist  
>>> hist(s)  
#   note that it is very unlikely to grab both bad items

假设你有一个装有 15 颗白色弹珠和 15 颗黑色弹珠的骨灰盒。如果你随机拉出 15 颗弹珠,其中 12 颗或更多颗是一种颜色的可能性有多大?

>>> s = np.random.hypergeometric(15, 15, 15, 100000)  
>>> sum(s>=12)/100000. + sum(s<=3)/100000.  
#   answer = 0.003 ... pretty unlikely!

相关用法


注:本文由纯净天空筛选整理自dask.org大神的英文原创作品 dask.array.random.hypergeometric。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。