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


Python dask.array.random.hypergeometric用法及代碼示例

用法:

dask.array.random.hypergeometric(ngood, nbad, nsample, size=None, chunks='auto', **kwargs)

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

此文檔字符串是從 numpy.random.mtrand.RandomState.hypergeometric 複製的。

可能存在與 Dask 版本的一些不一致之處。

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

注意

新代碼應改為使用default_rng() 實例的hypergeometric 方法;請參閱快速入門。

參數

ngoodint 或 數組 整數

做出良好選擇的方法的數量。必須是非負數。

nbadint 或 數組 整數

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

nsampleint 或 數組 整數

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

sizeint 或整數元組,可選

輸出形狀。例如,如果給定的形狀是 (m, n, k) ,則繪製 m * n * k 樣本。如果 size 為 None(默認),如果 ngoodnbadnsample 都是標量,則返回單個值。否則,將抽取np.broadcast(ngood, nbad, nsample).size 樣本。

返回

outndarray 或標量

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

注意

超幾何分布的概率密度為

其中

對於 P(x),x 在抽取的樣本中獲得良好結果的概率,g = ngood,b = nbad,和 n = nsample

考慮一個裝有黑白大理石的骨灰盒,其中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!

相關用法


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