numpy.random.Generator.wald#

方法

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

从 Wald 分布(也称为逆高斯分布)中抽取样本。

当尺度趋于无穷大时,分布越来越接近高斯分布。一些参考文献声称 Wald 分布是均值为 1 的逆高斯分布,但这并非普遍适用。

逆高斯分布最初是在研究布朗运动时被发现的。1956 年,M.C.K. Tweedie 将其命名为逆高斯分布,因为覆盖单位距离所需的时间与单位时间内覆盖的距离之间存在反比关系。

参数:
meanfloat 或 float 型数组

分布的均值,必须 > 0。

scalefloat 或 float 型数组

尺度参数,必须 > 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 出版社,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