numpy.random.Generator.wald#

方法

random.Generator.wald(mean, scale, size=None)#

从 Wald 或逆高斯分布中抽取样本。

当 scale 趋向于无穷大时,分布会更像高斯分布。一些文献声称 Wald 分布是均值为 1 的逆高斯分布,但这远非普遍的看法。

逆高斯分布最初是在与布朗运动的关系中研究的。1956 年,M.C.K. Tweedie 使用“逆高斯”这个名称,因为在单位距离的时间和单位时间内覆盖的距离之间存在反比关系。

参数:
meanfloat 或 array_like of floats

分布的均值,必须大于 0。

scalefloat 或 float 的 array_like

尺度参数,必须大于 0。

sizeint 或 int 的元组,可选

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

返回:
outndarray 或标量

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

备注

Wald 分布的概率密度函数为

\[P(x;mean,scale) = \sqrt{\frac{scale}{2\pi x^3}}e^ \frac{-scale(x-mean)^2}{2\cdotp mean^2x}\]

如上所述,逆高斯分布最初源于对布朗运动建模的尝试。它也是 Weibull 分布在可靠性建模以及股票收益和利率过程建模方面的竞争者。

参考

[2]

Chhikara, Raj S.,和 Folks, J. Leroy,“逆高斯分布:理论:方法和应用”,CRC Press,1988。

[3]

维基百科,“逆高斯分布” https://en.wikipedia.org/wiki/Inverse_Gaussian_distribution

示例

从分布中抽取数值并绘制直方图

>>> import matplotlib.pyplot as plt
>>> rng = np.random.default_rng()
>>> h = plt.hist(rng.wald(3, 2, 100000), bins=200, density=True)
>>> plt.show()
../../../_images/numpy-random-Generator-wald-1.png