Spec-Zone.ru › NumPy 1.15

numpy.random.pareto

numpy.random.pareto(a, size=None)

Генерация выборок из распределения Парето II или Ломакса со заданным параметром формы.

Распределение Ломакса или Парето II является сдвинутым распределением Парето. Классическое распределение Парето можно получить из распределения Ломакса, добавив 1 и умножив на параметр масштаба m (см. Примечания). Минимальное значение распределения Ломакса равно нулю, в то время как для классического распределения Парето оно равно mu, где стандартное распределение Парето имеет сдвиг mu = 1. Распределение Ломакса также можно рассматривать как упрощённую версию обобщённого распределения Парето (доступного в SciPy), с масштабом, установленным в единицу, и сдвигом, установленным в ноль.

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

Параметры:
a : float or array_like of floats

Параметр формы распределения. Должен быть больше нуля.

size : int or tuple of ints, optional

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

Возвращаемые значения:
out : ndarray or scalar

Сгенерированные выборки из распределения Парето с заданными параметрами.

См. также

scipy.stats.lomax
функция плотности вероятности, распределение или функция кумулятивного распределения и т.д.
scipy.stats.genpareto
функция плотности вероятности, распределение или функция кумулятивного распределения и т.д.

Примечания

Функция плотности вероятности для распределения Парето:

p(x) = \frac{am^a}{x^{a+1}}

где a — параметр формы, а m — параметр масштаба.

Распределение Парето, названное в честь итальянского экономиста Вильфредо Парето, является степенным законом распределения вероятностей, полезным при решении многих реальных задач. Вне области экономики оно обычно называется распределением Брэдфорда. Парето разработал распределение для описания распределения богатства в экономике. Оно также нашло применение в страховании, статистике посещений веб-страниц, размерах нефтяных месторождений и многих других задачах, включая частоту загрузок проектов в Sourceforge [1]. Это одно из так называемых «распределений с тяжёлыми хвостами».

Ссылки

[1] (1, 2) Фрэнсис Хант и Пол Джонсон, О распределении Парето проектов Sourceforge.
[2] Парето, В. (1896). Курс политической экономии. Лозанна.
[3] Райсс, Р.Д., Томас, М. (2001), Статистический анализ экстремальных значений, Birkhauser Verlag, Базель, стр. 23-30.
[4] Википедия, «Распределение Парето», http://en.wikipedia.org/wiki/Pareto_distribution

Примеры

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

>>> a, m = 3., 2.  # shape and mode
>>> s = (np.random.pareto(a, 1000) + 1) * m

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

>>> import matplotlib.pyplot as plt
>>> count, bins, _ = plt.hist(s, 100, density=True)
>>> fit = a*m**a / bins**(a+1)
>>> plt.plot(bins, max(count)*fit/max(fit), linewidth=2, color='r')
>>> plt.show()
../../_images/numpy-random-pareto-1.png

© 2005–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.15.4/reference/generated/numpy.random.pareto.html

Spec-Zone.ru

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