numpy.random.gamma¶
-
numpy.random.
gamma
(shape, scale=1.0, size=None)¶ 从Gamma分布绘制样本。
样品从具有指定参数形状(有时称为“k”)和缩放(有时称为“θ”)的Gamma分布中绘制,其中两个参数都大于0。
参数: shape:scalar> 0
伽马分布的形状。
scale:scalar> 0,可选
伽马分布的规模。默认值为1。
size:int或tuple的整数,可选
输出形状。如果给定形状是例如
(m, n, k)
,则m * n * k
默认值为None,在这种情况下返回单个值。返回: out:ndarray,float
返回一个样本,除非指定size参数。
也可以看看
scipy.stats.distributions.gamma
- 概率密度函数,分布或累积密度函数等。
笔记
Gamma分布的概率密度为
其中是形状,标度,是伽玛函数。
Gamma分布通常用于模拟电子部件故障的时间,并且在Poisson分布式事件之间的等待时间相关的过程中自然出现。
参考文献
[R221] Weisstein,Eric W.“Gamma Distribution。”来自MathWorld-Wolfram Web资源。http://mathworld.wolfram.com/GammaDistribution.html [R222] 维基百科,“Gamma分布”,http://en.wikipedia.org/wiki/Gamma-distribution 例子
从分布绘制样本:
>>> shape, scale = 2., 2. # mean and dispersion >>> s = np.random.gamma(shape, scale, 1000)
显示样本的直方图,以及概率密度函数:
>>> import matplotlib.pyplot as plt >>> import scipy.special as sps >>> count, bins, ignored = plt.hist(s, 50, normed=True) >>> y = bins**(shape-1)*(np.exp(-bins/scale) / ... (sps.gamma(shape)*scale**shape)) >>> plt.plot(bins, y, linewidth=2, color='r') >>> plt.show()