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


Python numpy random.mtrand.RandomState.hypergeometric用法及代码示例


用法:

RandomState.hypergeometric(ngood, nbad, nsample, size=None)

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

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

参数:
ngood int 或 array_like of ints

做出好的选择的数量。必须为非负数。

nbad int 或 array_like of ints

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

nsample int 或 array_like of ints

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

size int 或 tuple of ints, 可选参数

输出形状。如果给定的形状是(m, n, k), 然后m * n * k抽取样品。如果尺寸是None(默认),如果ngood,nbad和nsample均为标量,则返回单个值。除此以外,np.broadcast(ngood, nbad, nsample).size抽取样品。

返回值:
out ndarray或标量

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

注意:

超几何分布的概率密度为

P(x) = \frac{\binom{g}{x}\binom{b}{n-x}}{\binom{g+b}{n}},

哪里0 \le x \le nn-b \le x \le g

对于P(x)x抽取的样本中的好结果,g = ngood,b = nbad,n = nsample。

考虑其中有黑色和白色大理石的an,其中ngood是黑色,nbad是白色。如果您绘制nsample球而不进行替换,则超几何分布将描述绘制的样品中黑球的分布。

请注意,此分布与二项式分布非常相似,不同的是在这种情况下,样本是在不替换的情况下绘制的,而在二项式情况下,样本是在替换的情况下绘制的(或者样本空间是无限的)。随着样本空间变大,此分布接近二项式。

参考文献:

[1]Lentner,Marvin,“Elementary Applied Statistics”,Bogden和Quigley,1972年。
[2]Weisstein,EricW。“超几何分布”。来自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个黑色大理石的marble。如果您随机拉15个弹珠,那么其中12个或更多是一种颜色的可能性是多少?

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

相关用法


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