本文简要介绍 python 语言中 numpy.random.RandomState.hypergeometric
的用法。
用法:
random.RandomState.hypergeometric(ngood, nbad, nsample, size=None)
从超几何分布中抽取样本。
样本是从具有指定参数的超几何分布中抽取的,好(做出好的选择的方法),不好(做出错误选择的方法),以及样本(抽样的项目数,小于等于总和
ngood + nbad
)。注意
新代码应改为使用
default_rng()
实例的hypergeometric
方法;请参阅快速入门。- ngood: int 或 数组 整数
做出良好选择的方法的数量。必须是非负数。
- nbad: int 或 数组 整数
做出错误选择的方法的数量。必须是非负数。
- nsample: int 或 数组 整数
抽样的项目数。必须至少为 1 且最多为
ngood + nbad
。- size: int 或整数元组,可选
输出形状。如果给定的形状是,例如,
(m, n, k)
, 然后m * n * k
样本被抽取。如果尺寸是None
(默认),如果返回单个值好,不好, 和样本都是标量。否则,np.broadcast(ngood, nbad, nsample).size
样本被抽取。
- out: ndarray 或标量
从参数化的超几何分布中抽取样本。每个样本是从一组 ngood 好项目和 nbad 坏项目中随机选择的大小为 nsample 的子集中的好项目的数量。
参数:
返回:
注意:
超几何分布的概率密度为
其中 和
对于 P(x) 的概率
x
抽取样品中的良好结果,g =好, b =不好, 和 n =样本.考虑一个装有黑白大理石的骨灰盒,其中 ngood 是黑色的,nbad 是白色的。如果您在没有放回的情况下绘制 nsample 个球,则超几何分布说明了绘制的样本中黑球的分布。
请注意,此分布与二项分布非常相似,只是在这种情况下,样本是在没有放回的情况下抽取的,而在二项分布的情况下,样本是有放回的(或者样本空间是无限的)。随着样本空间变大,这种分布接近二项式。
参考:
伦特纳,马文,“Elementary Applied Statistics”,博格登和奎格利,1972 年。
Weisstein, Eric W. “超几何分布”。来自MathWorld-A Wolfram Web 资源。http://mathworld.wolfram.com/HypergeometricDistribution.html
维基百科,“Hypergeometric distribution”,https://en.wikipedia.org/wiki/Hypergeometric_distribution
1:
2:
3:
例子:
从分布中抽取样本:
>>> 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!
相关用法
- Python numpy RandomState.standard_exponential用法及代码示例
- Python numpy RandomState.bytes用法及代码示例
- Python numpy RandomState.uniform用法及代码示例
- Python numpy RandomState.standard_gamma用法及代码示例
- Python numpy RandomState.seed用法及代码示例
- Python numpy RandomState.power用法及代码示例
- Python numpy RandomState.standard_normal用法及代码示例
- Python numpy RandomState.geometric用法及代码示例
- Python numpy RandomState.random_sample用法及代码示例
- Python numpy RandomState.gumbel用法及代码示例
- Python numpy RandomState.logseries用法及代码示例
- Python numpy RandomState.noncentral_chisquare用法及代码示例
- Python numpy RandomState.wald用法及代码示例
- Python numpy RandomState.chisquare用法及代码示例
- Python numpy RandomState.poisson用法及代码示例
- Python numpy RandomState.randn用法及代码示例
- Python numpy RandomState.vonmises用法及代码示例
- Python numpy RandomState.gamma用法及代码示例
- Python numpy RandomState.zipf用法及代码示例
- Python numpy RandomState.triangular用法及代码示例
- Python numpy RandomState.f用法及代码示例
- Python numpy RandomState.shuffle用法及代码示例
- Python numpy RandomState.rayleigh用法及代码示例
- Python numpy RandomState.randint用法及代码示例
- Python numpy RandomState.permutation用法及代码示例
注:本文由纯净天空筛选整理自numpy.org大神的英文原创作品 numpy.random.RandomState.hypergeometric。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。