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


Python numpy random.mtrand.RandomState.hypergeometric用法及代碼示例

用法:

RandomState.hypergeometric(ngood, nbad, nsample, size=None)

從超幾何分布中抽取樣本。

樣本是從具有指定參數的超幾何分布中抽取的:ngood(做出正確選擇的方式),nbad(做出錯誤選擇的方式)和nsample(采樣的項目數,其小於或等於總和)ngood + nbad)。

參數:
ngood int 或 array_like of ints

做出好的選擇的數量。必須為非負數。

nbad int 或 array_like of ints

做出錯誤選擇的方法數量。必須為非負數。

nsample int 或 array_like of ints

抽樣的項目數。必須至少為1且至多ngood + nbad

size int 或 tuple of ints, 可選參數

輸出形狀。如果給定的形狀是(m, n, k), 然後m * n * k抽取樣品。如果尺寸是None(默認),如果ngood,nbad和nsample均為標量,則返回單個值。除此以外,np.broadcast(ngood, nbad, nsample).size抽取樣品。

返回值:
out ndarray或標量

從參數化的超幾何分布中抽取樣本。每個樣本是從一組n個好項目和nbad個壞項目中隨機抽取的大小為nsample的子集中的好項目的數量。

注意:

超幾何分布的概率密度為

P(x) = \frac{\binom{g}{x}\binom{b}{n-x}}{\binom{g+b}{n}},

哪裏0 \le x \le nn-b \le x \le g

對於P(x)x抽取的樣本中的好結果,g = ngood,b = nbad,n = nsample。

考慮其中有黑色和白色大理石的an,其中ngood是黑色,nbad是白色。如果您繪製nsample球而不進行替換,則超幾何分布將描述繪製的樣品中黑球的分布。

請注意,此分布與二項式分布非常相似,不同的是在這種情況下,樣本是在不替換的情況下繪製的,而在二項式情況下,樣本是在替換的情況下繪製的(或者樣本空間是無限的)。隨著樣本空間變大,此分布接近二項式。

參考文獻:

[1]Lentner,Marvin,“Elementary Applied Statistics”,Bogden和Quigley,1972年。
[2]Weisstein,EricW。“超幾何分布”。來自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個黑色大理石的marble。如果您隨機拉15個彈珠,那麽其中12個或更多是一種顏色的可能性是多少?

>>> s = np.random.hypergeometric(15, 15, 15, 100000)
>>> sum(s>=12)/100000. + sum(s<=3)/100000.
#   answer = 0.003 ... pretty unlikely!

相關用法


注:本文由純淨天空篩選整理自 numpy.random.mtrand.RandomState.hypergeometric。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。