用法:
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
(默认),如果返回一个值shape
和scale
都是标量。除此以外,np.broadcast(shape, scale).size
抽取样品。
返回值: - out: : ndarray或标量
从参数化的伽玛分布中抽取样本。
注意:
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()
相关用法
注:本文由纯净天空筛选整理自 numpy.random.mtrand.RandomState.gamma。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。