上一个主题

numpy.random.multivariate_normal

下一个主题

numpy.random.noncentral_chisquare

numpy.random.negative_binomial

numpy.random.negative_binomial(n, p, size=None)

从负二项分布中提取样本。

样本是从负二项分布中提取的,具有指定的参数, n 成功与 p 成功概率,其中 n 是大于0的整数,并且 p 在间隔时间内 [0, 1] .

参数:
n : int或类似于int的数组

分布的参数,>0。也接受浮动,但它们将被截断为整数。

p : 浮点数或类似浮点数的数组

分布的参数,>=0且<=1。

size : int或int的元组,可选

输出形状。如果给定的形状是,例如, (m, n, k) 然后 m * n * k 取样。如果尺寸是 None (默认),如果 np 都是标量。否则, np.broadcast(n, p).size 取样。

返回:
out : ndarray或scalar

从参数化负二项分布中提取样本,其中每个样本等于n,即达到n次成功之前发生的失败数。

笔记

负二项分布的概率密度是

p(n;n,p)=binom n+n-1 n p ^ n(1-p)^ n,

在哪里? n 是成功的次数, p 是成功的概率,以及 N+n 是试验次数。负二项分布给出了n次成功后n次失败的概率,最后一次试验成功。

如果一个人反复掷骰子直到第三次出现“1”,那么出现在第三次“1”之前的非“1”数的概率分布是负二项分布。

工具书类

[1]负二项式分布〉,摘自《数学世界——一个Wolfram网络资源》。http://mathworld.wolfram.com/negative二项分布.html
[2]维基百科,“负二项分布”,https://en.wikipedia.org/wiki/negative_binomial_distribution

实例

从分发中抽取样本:

一个现实世界的例子。一家公司钻探野生猫石油勘探井,每口井的成功概率估计为0.1。每口连续井成功一次的概率是多少,即钻完5口井、钻完6口井等后一次成功的概率是多少?

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