numpy.random.Generator.geometric#

方法

random.Generator.geometric(p, size=None)#

從幾何分佈中抽取樣本。

白努利試驗是只有兩種結果的實驗:成功或失敗(例如,擲硬幣就是這樣一個實驗)。幾何分佈模型描述為了獲得成功必須進行的試驗次數。因此,它在正整數上得到支援,k = 1, 2, ...

幾何分佈的機率質量函數為

\[f(k) = (1 - p)^{k - 1} p\]

其中 p 是單次試驗成功的機率。

參數:
pfloat 或 float 的類陣列

單次試驗成功的機率。

sizeint 或 int 元組,可選

輸出形狀。如果給定的形狀是,例如,(m, n, k),則抽取 m * n * k 個樣本。如果 size 為 None(預設值),如果 p 是純量,則傳回單個值。否則,抽取 np.array(p).size 個樣本。

傳回值:
outndarray 或 純量

從參數化幾何分佈中抽取的樣本。

參考文獻

[1]

Wikipedia, “Geometric distribution”, https://en.wikipedia.org/wiki/Geometric_distribution

範例

從幾何分佈中抽取 10,000 個值,其中單次成功的機率等於 p = 0.35

>>> p, size = 0.35, 10000
>>> rng = np.random.default_rng()
>>> sample = rng.geometric(p=p, size=size)

單次執行後成功的試驗比例是多少?

>>> (sample == 1).sum()/size
0.34889999999999999  # may vary

具有 p=0.35 的幾何分佈如下所示

>>> import matplotlib.pyplot as plt
>>> count, bins, _ = plt.hist(sample, bins=30, density=True)
>>> plt.plot(bins, (1-p)**(bins-1)*p)
>>> plt.xlim([0, 25])
>>> plt.show()
../../../_images/numpy-random-Generator-geometric-1.png