Spec-Zone.ru › NumPy 1.21

numpy.random.RandomState.pareto

метод

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

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

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

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

Примечание

В новом коде следует использовать метод pareto экземпляра default_rng(); см. Быстрый старт.

Параметры
afloat или array_like из float

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

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

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

Возвращает
outndarray или скаляр

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

См. также

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–2022 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.21/reference/random/generated/numpy.random.RandomState.pareto.html

Spec-Zone.ru

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