当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python numpy Generator.negative_binomial用法及代码示例


本文简要介绍 python 语言中 numpy.random.Generator.negative_binomial 的用法。

用法:

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

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

样本是从具有指定参数、n 个成功和 p 个成功概率的负二项分布中抽取的,其中 n > 0 且 p 在区间 (0, 1] 内。

参数

n 浮点数或类似数组的浮点数

分布参数,> 0。

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

分布参数。必须满足 0 < p <= 1。

size int 或整数元组,可选

输出形状。例如,如果给定的形状是 (m, n, k) ,则绘制 m * n * k 样本。如果 size 为 None(默认),如果 np 都是标量,则返回单个值。否则,将抽取np.broadcast(n, p).size 样本。

返回

out ndarray 或标量

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

注意

负二项分布的概率质量函数为

其中 是成功次数, 是成功概率, 是试验次数, 是伽马函数。当 是整数时, 是 pmf 中该术语的更常见形式。负二项分布给出了在给定 n 次成功的情况下 N 次失败的概率,最后一次试验成功。

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

参考

1

Weisstein, Eric W. “负二项分布”。来自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.default_rng().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)

相关用法


注:本文由纯净天空筛选整理自numpy.org大神的英文原创作品 numpy.random.Generator.negative_binomial。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。