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


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

用法:

RandomState.negative_binomial(n, p, size=None)

從負二項分布中抽取樣本。

從具有指定參數,n次成功和p次成功概率的負二項式分布中抽取樣本,其中n> 0且p在[0,1]區間內。

參數:
n float 或 array_like of floats

分布參數,> 0。

p float 或 array_like of floats

分布參數> = 0和<= 1。

size int 或 tuple of ints, 可選參數

輸出形狀。如果給定的形狀是(m, n, k), 然後m * n * k抽取樣品。如果尺寸是None(默認),如果返回一個值np都是標量。除此以外,np.broadcast(n, p).size抽取樣品。

返回值:
out ndarray或標量

從參數化負二項式分布中抽取的樣本(每個樣本等於N),即達到n次成功之前發生的失敗次數。

注意:

負二項式分布的概率質量函數為

P(N;n,p) = \frac{\Gamma(N+n)}{N!\Gamma(n)}p^{n}(1-p)^{N},

哪裏n是成功的次數,p是成功的概率,N+n是試驗次數,並且\Gamma是伽瑪函數。當n是一個整數,\frac{\Gamma(N+n)}{N!\Gamma(n)} = \binom{N+n-1}{N},這是pmf中此術語的更常見形式。負二項式分布給出了在n次成功的情況下N次失敗的概率,最後一次嘗試成功了。

如果一個人反複擲骰子直到第三次出現“1”,則在第三次“1”之前出現的非“1”的數量的概率分布為負二項式分布。

參考文獻:

[1]Weisstein,EricW。“負二項分布”。來自MathWorld-A Wolfram Web資源。http://mathworld.wolfram.com/NegativeBinomialDistribution.html
[2]維基百科,“Negative binomial distribution”,https://en.wikipedia.org/wiki/Negative_binomial_distribution

例子:

從分布中抽取樣本:

一個真實的例子。一家公司鑽探wild-cat石油勘探井,每口井的成功概率估計為0.1。每個連續的井獲得成功的概率是多少,即在鑽5口井之後,在6口井等之後成功獲得一次成功的概率是多少?

>>> s = np.random.negative_binomial(1, 0.1, 100000)
>>> for i in range(1, 11): # doctest:+SKIP
...    probability = sum(s<i) / 100000.
...    print(i, "wells drilled, probability of one success =", probability)

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