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


Python SciPy stats.hypergeom用法及代码示例


本文简要介绍 python 语言中 scipy.stats.hypergeom 的用法。

用法:

scipy.stats.hypergeom = <scipy.stats._discrete_distns.hypergeom_gen object>#

超几何离散随机变量。

超几何分布模型从 bin 中绘制对象。 M 是对象的总数,n 是 I 类对象的总数。随机变量表示从总人口中未替换的 N 中类型 I 对象的数量。

作为 rv_discrete 类的实例,hypergeom 对象从它继承了一组通用方法(完整列表见下文),并用特定于此特定发行版的详细信息来完成它们。

注意

用于表示形状参数(M、n 和 N)的符号并未被普遍接受。有关此处使用的定义的说明,请参见示例。

概率质量函数定义为,

对于 ,其中二项式系数定义为,

上面的概率质量函数以“standardized” 形式定义。要转移分布,请使用 loc 参数。具体来说,hypergeom.pmf(k, M, n, N, loc) 等同于 hypergeom.pmf(k - loc, M, n, N)

例子

>>> import numpy as np
>>> from scipy.stats import hypergeom
>>> import matplotlib.pyplot as plt

假设我们有 20 只动物的集合,其中 7 只是狗。然后,如果我们想知道如果我们在 20 只动物中随机选择 12 只狗找到给定数量的狗的概率,我们可以初始化一个冻结分布并绘制概率质量函数:

>>> [M, n, N] = [20, 7, 12]
>>> rv = hypergeom(M, n, N)
>>> x = np.arange(0, n+1)
>>> pmf_dogs = rv.pmf(x)
>>> fig = plt.figure()
>>> ax = fig.add_subplot(111)
>>> ax.plot(x, pmf_dogs, 'bo')
>>> ax.vlines(x, 0, pmf_dogs, lw=2)
>>> ax.set_xlabel('# of dogs in our group of chosen animals')
>>> ax.set_ylabel('hypergeom PMF')
>>> plt.show()
scipy-stats-hypergeom-1_00_00.png

我们还可以直接使用 hypergeom 方法,而不是使用冻结的发行版。例如,要获取累积分布函数,请使用:

>>> prb = hypergeom.cdf(x, M, n, N)

并生成随机数:

>>> R = hypergeom.rvs(M, n, N, size=10)

相关用法


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