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экземпляраGenerator; пожалуйста, см. Быстрый старт.- Параметры:
-
- afloat или array_like float
-
Параметр формы распределения. Должен быть положительным.
- sizeint или кортеж из целых чисел, необязательно
-
Форма выходного массива. Если заданная форма, например,
(m, n, k), тоm * n * kвыборок генерируется. Если size равноNone(по умолчанию), возвращается единственное значение, еслиaскалярное. В противном случае генерируютсяnp.array(a).sizeвыборок.
- Возвращает:
-
- outndarray или скаляр
-
Сгенерированные выборки из распределения Парето с заданными параметрами.
См. также
scipy.stats.lomax-
функция плотности вероятности, распределение или функция кумулятивного распределения и т.д.
scipy.stats.genpareto-
функция плотности вероятности, распределение или функция кумулятивного распределения и т.д.
random.Generator.pareto-
который следует использовать в новом коде.
Примечания
Функция плотности вероятности для распределения Парето:
\[p(x) = \frac{am^a}{x^{a+1}}\]где \(a\) — параметр формы, а \(m\) — параметр масштаба.
Распределение Парето, названное в честь итальянского экономиста Вильфредо Парето, является степенным законом распределения вероятностей, полезным при решении многих задач реального мира. Вне области экономики оно обычно называется распределением Брэдфорда. Парето разработал распределение для описания распределения богатства в экономике. Оно также находит применение в страховании, статистике посещений веб-страниц, размерах нефтяных месторождений и многих других задачах, включая частоту загрузки проектов на Sourceforge [1]. Это одно из так называемых распределений с «толстыми хвостами».
Ссылки
[1]Francis Hunt и Paul Johnson, О распределении Парето для проектов 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()
© 2005–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/random/generated/numpy.random.RandomState.pareto.html