numpy.random.Generator.laplace#

方法

random.Generator.laplace(loc=0.0, scale=1.0, size=None)#

從 Laplace 或雙指數分佈中抽取樣本,並指定位置(或平均值)和尺度(衰減)。

Laplace 分佈與高斯/常態分佈相似,但在峰值處更尖銳,尾部更肥厚。它表示兩個獨立、恆等分佈的指數隨機變數之間的差異。

參數:
locfloat 或 float 的類陣列,選用

分佈峰值的位置,\(\mu\)。預設值為 0。

scalefloat 或 float 的類陣列,選用

\(\lambda\),指數衰減。預設值為 1。必須為非負數。

sizeint 或 int 元組,選用

輸出形狀。如果給定的形狀為,例如, (m, n, k),則會抽取 m * n * k 個樣本。如果 size 為 None (預設值),如果 locscale 都是純量,則會傳回單一值。否則,會抽取 np.broadcast(loc, scale).size 個樣本。

傳回:
outndarray 或 純量

從參數化的 Laplace 分佈中抽取的樣本。

註解

它具有機率密度函數

\[f(x; \mu, \lambda) = \frac{1}{2\lambda} \exp\left(-\frac{|x - \mu|}{\lambda}\right).\]

拉普拉斯在 1774 年提出的第一定律指出,誤差的頻率可以用誤差絕對值的指數函數表示,這導致了 Laplace 分佈。對於經濟學和健康科學中的許多問題,此分佈似乎比標準高斯分佈更能模擬資料。

參考文獻

[1]

Abramowitz, M. 和 Stegun, I. A. (Eds.). “Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables, 9th printing,” New York: Dover, 1972.

[2]

Kotz, Samuel, et. al. “The Laplace Distribution and Generalizations, “ Birkhauser, 2001.

[3]

Weisstein, Eric W. “Laplace Distribution.” From MathWorld–A Wolfram Web Resource. https://mathworld.wolfram.com/LaplaceDistribution.html

[4]

Wikipedia, “Laplace distribution”, https://en.wikipedia.org/wiki/Laplace_distribution

範例

從分佈中抽取樣本

>>> loc, scale = 0., 1.
>>> rng = np.random.default_rng()
>>> s = rng.laplace(loc, scale, 1000)

顯示樣本的直方圖,以及機率密度函數

>>> import matplotlib.pyplot as plt
>>> count, bins, _ = plt.hist(s, 30, density=True)
>>> x = np.arange(-8., 8., .01)
>>> pdf = np.exp(-abs(x-loc)/scale)/(2.*scale)
>>> plt.plot(x, pdf)

繪製高斯分佈以進行比較

>>> g = (1/(scale * np.sqrt(2 * np.pi)) *
...      np.exp(-(x - loc)**2 / (2 * scale**2)))
>>> plt.plot(x,g)
../../../_images/numpy-random-Generator-laplace-1.png