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


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


用法:

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

从Gamma分布中抽取样本。

从具有指定参数,形状(有时指定为“k”)和比例尺(有时指定为“theta”)的Gamma分布中抽取样本,其中两个参数均大于0。

参数:
shape float 或 array_like of floats

伽玛分布的形状。必须为非负数。

scale float 或 array_like of floats, 可选参数

伽玛分布的比例。必须为非负数。默认值等于1。

size int 或 tuple of ints, 可选参数

输出形状。如果给定的形状是(m, n, k), 然后m * n * k抽取样品。如果尺寸是None(默认),如果返回一个值shapescale都是标量。除此以外,np.broadcast(shape, scale).size抽取样品。

返回值:
out ndarray或标量

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

注意:

Gamma分布的概率密度为

p(x) = x^{k-1}\frac{e^{-x/\theta}}{\theta^k\Gamma(k)},

哪里k是形状和\theta规模,以及\Gamma是Gamma函数。

Gamma分布通常用于对电子组件的失效时间进行建模,并且在与泊松分布事件之间的等待时间相关的过程中自然产生。

参考文献:

[1]魏斯汀(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  # doctest:+SKIP
>>> count, bins, ignored = plt.hist(s, 50, density=True)
>>> y = bins**(shape-1)*(np.exp(-bins/scale) /  # doctest:+SKIP
...                      (sps.gamma(shape)*scale**shape))
>>> plt.plot(bins, y, linewidth=2, color='r')  # doctest:+SKIP
>>> plt.show()
../../../_images/numpy-random-mtrand-RandomState-gamma-1.png

相关用法


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