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


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


本文简要介绍 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 个球,则超几何分布说明了绘制的样本中黑球的分布。

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

参考

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!

相关用法


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