scipy.stats.hypergeom

scipy.stats.hypergeom = <scipy.stats._discrete_distns.hypergeom_gen object>[源代码]

超几何离散随机变量。

超几何分布对来自存储箱的绘制对象进行建模。 M 是对象的总数, n 是类型I对象的总数。随机变量表示中的类型I对象的数量 N 不加替换地从总人口中抽取的。

作为 rv_discrete 班级, hypergeom 对象从它继承一组泛型方法(完整列表请参见下面),并用特定于此特定发行版的详细信息来完成它们。

注意事项

用于表示形状参数的符号 (Mn ,以及 N )并不是被普遍接受的。有关此处使用的定义的说明,请参阅示例。

概率质量函数被定义为,

\[P(k,M,n,N)=\frac{\Binom{n}{k}\Binom{M-n}{N-k}} {\Binom{M}{N}}\]

\(k \in [\max(0, N - M + n), \min(n, N)]\) ,其中二项系数定义为,

\[\binom{n}{k}\EQUIV\FRAC{n!}{k!(n-k)}。\]

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

示例

>>> 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()
../../_images/scipy-stats-hypergeom-1_00_00.png

除了使用冻结分发之外,我们还可以使用 hypergeom 方法采用直接法。例如,要获得累积分布函数,请使用:

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

并生成随机数:

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

方法:

rvs(M, n, N, loc=0, size=1, random_state=None)

随机变量。

pmf(k, M, n, N, loc=0)

概率质量函数。

logpmf(k, M, n, N, loc=0)

概率质量函数的对数。

cdf(k, M, n, N, loc=0)

累积分布函数。

logcdf(k, M, n, N, loc=0)

累积分布函数的日志。

sf(k, M, n, N, loc=0)

生存函数(也定义为 1 - cdf ,但是 sf 有时更准确)。

logsf(k, M, n, N, loc=0)

生存函数的对数。

ppf(q, M, n, N, loc=0)

百分点数函数(与 cdf -百分位数)。

isf(q, M, n, N, loc=0)

逆生存函数(逆 sf )。

stats(M, n, N, loc=0, moments='mv')

均值(‘m’)、方差(‘v’)、偏斜(‘s’)和/或峰度(‘k’)。

entropy(M, n, N, loc=0)

房车的(微分)熵。

expect(func, args=(M, n, N), loc=0, lb=None, ub=None, conditional=False)

函数相对于分布的期望值(只有一个参数)。

median(M, n, N, loc=0)

分布的中位数。

mean(M, n, N, loc=0)

分布的平均值。

var(M, n, N, loc=0)

分布的方差。

std(M, n, N, loc=0)

分布的标准差。

interval(alpha, M, n, N, loc=0)

包含分数Alpha的范围的端点 [0, 1] 分布的