當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。