Spec-Zone.ru › NumPy 1.10

numpy.random.laplace

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

Генерация выборок из распределения Лапласа (или двойного экспоненциального) со заданной локацией (или средним) и масштабом (затуханием).

Распределение Лапласа похоже на гауссовское/нормальное распределение, но имеет более острую вершину и более тяжёлые хвосты. Оно представляет разность двух независимых, одинаково распределённых экспоненциальных случайных величин.

Параметры:

loc : float, необязательно

Позиция, \mu, пика распределения.

scale : float, необязательно

\lambda, экспоненциальное затухание.

size : int или кортеж из целых чисел, необязательно

Форма выходного массива. Если заданная форма, например, (m, n, k), то m * n * k выборок генерируется. По умолчанию None, в этом случае возвращается одно значение.

Возвращает:

samples : ndarray или float

Примечания

Плотность вероятности задаётся формулой

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

Первый закон Лапласа, сформулированный в 1774 году, утверждает, что частота ошибки может быть выражена как экспоненциальная функция от абсолютного значения ошибки, что приводит к распределению Лапласа. Для многих проблем в экономике и медицинских науках это распределение, кажется, лучше моделирует данные, чем стандартное гауссовское распределение.

Ссылки

[R228] Abramowitz, M. and Stegun, I. A. (Eds.). “Справочник по математическим функциям с формулами, графиками и математическими таблицами, 9-е издание”, Нью-Йорк: Dover, 1972.
[R229] Kotz, Samuel, et. al. “Распределение Лапласа и обобщения”, Birkhauser, 2001.
[R230] Weisstein, Eric W. “Распределение Лапласа”. Из MathWorld–ресурса Wolfram Web. http://mathworld.wolfram.com/LaplaceDistribution.html
[R231] Википедия, “Распределение Лапласа”, http://en.wikipedia.org/wiki/Laplace_distribution

Примеры

Генерация выборок из распределения

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

Вывод гистограммы выборок вместе с функцией плотности вероятности:

>>> import matplotlib.pyplot as plt
>>> count, bins, ignored = plt.hist(s, 30, normed=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)

(Исходный код, png, pdf)

../../_images/numpy-random-laplace-1.png

© 2008–2016 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.10.1/reference/generated/numpy.random.laplace.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API