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


Python numpy random.gamma用法及代码示例


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

用法:

random.gamma(shape, scale=1.0, size=None)

从 Gamma 分布中抽取样本。

样本是从具有指定参数的 Gamma 分布中抽取的,numpy.shape(有时指定为“k”)和规模(有时指定为 “theta”),其中两个参数均 > 0。

注意

新代码应改为使用default_rng() 实例的gamma 方法;请参阅快速入门。

参数

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

伽马分布的形状。必须是非负数。

scale float 或 数组 的浮点数,可选

伽马分布的尺度。必须是非负数。默认等于 1。

size int 或整数元组,可选

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

返回

out ndarray 或标量

从参数化的伽马分布中抽取样本。

注意

Gamma 分布的概率密度为

其中 是形状, 是比例, 是 Gamma 函数。

Gamma 分布通常用于模拟电子元件的故障时间,并且自然出现在与泊松分布事件之间的等待时间相关的过程中。

参考

1

Weisstein, Eric W. “伽马分布”。来自MathWorld-A Wolfram Web 资源。http://mathworld.wolfram.com/GammaDistribution.html

2

维基百科,“Gamma distribution”,https://en.wikipedia.org/wiki/Gamma_distribution

例子

从分布中抽取样本:

>>> shape, scale = 2., 2.  # mean=4, std=2*sqrt(2)
>>> s = np.random.gamma(shape, scale, 1000)

显示样本的直方图以及概率密度函数:

>>> import matplotlib.pyplot as plt
>>> import scipy.special as sps  
>>> count, bins, ignored = plt.hist(s, 50, density=True)
>>> y = bins**(shape-1)*(np.exp(-bins/scale) /  
...                      (sps.gamma(shape)*scale**shape))
>>> plt.plot(bins, y, linewidth=2, color='r')  
>>> plt.show()
numpy-random-gamma-1.png

相关用法


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