Spec-Zone.ru › NumPy 1.18

numpy.random.RandomState.pareto

метод

RandomState.pareto(a, size=None)

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

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

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

Примечание

Новый код должен использовать метод pareto экземпляра default_rng() вместо него; см. random-quick-start.

Параметры
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

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

Generator.pareto

который следует использовать в новом коде.

Примечания

Плотность вероятности для распределения Парето:

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.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-RandomState-pareto-1.png

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

Spec-Zone.ru

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