numpy.random.Generator.wald#

方法

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

从瓦尔德(Wald)或逆高斯(inverse Gaussian)分布中抽取样本。

当尺度(scale)趋于无穷大时,该分布会更接近高斯分布。有些文献声称瓦尔德分布是均值等于 1 的逆高斯分布,但这并非普遍观点。

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

参数:
mean浮点数或类似浮点数的数组

分布的均值,必须 > 0。

scale浮点数或类似浮点数的数组

尺度参数,必须 > 0。

size整型或整型元组,可选

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

返回:
outndarray 或标量

从参数化的瓦尔德分布中抽取的样本。

注释

瓦尔德分布的概率密度函数为

\[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., and 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