Spec-Zone.ru › NumPy 1.19

numpy.random.Generator.pareto

метод

Generator.pareto(a, size=None)

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

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

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

Параметры
afloat or array_like of floats

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

sizeint or tuple of ints, optional

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

Возвращает
outndarray or scalar

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

См. также

scipy.stats.lomax

функция плотности вероятности, распределение или функция кумулятивной плотности вероятности и т.д.

scipy.stats.genpareto

функция плотности вероятности, распределение или функция кумулятивной плотности вероятности и т.д.

Примечания

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

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

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

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

Ссылки

1

Фрэнсис Хант и Пол Джонсон, О распределении Парето проектов Sourceforge.

2

Парето, В. (1896). Курс политической экономии. Лозанна.

3

Райсс, Р.Д., Томас, М. (2001), Статистический анализ экстремальных значений, Birkhauser Verlag, Базель, с. 23-30.

4

Википедия, «Распределение Парето», https://en.wikipedia.org/wiki/Pareto_distribution

Примеры

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

>>> a, m = 3., 2.  # shape and mode
>>> s = (np.random.default_rng().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-Generator-pareto-1.png

© 2005–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.19/reference/random/generated/numpy.random.Generator.pareto.html

Spec-Zone.ru

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