Метод pareto
Метод pareto класса Generator создаёт массив случайных чисел,
подчиняющихся распределению Парето. Распределение Парето часто используется
для моделирования социальных, экономических и природных явлений,
где малая доля объектов обладает большой долей признака.
Метод принимает параметр формы shape (a), который должен быть положительным,
и параметр size, задающий форму выходного массива.
Синтаксис
generator.pareto(shape, size=None)
Пример
Сгенерируем одномерный массив из 5 чисел, распределённых по закону Парето с параметром формы 3:
import numpy as np
rng = np.random.default_rng(0)
arr = rng.pareto(3, size=5)
print(arr)
Результат выполнения кода:
[0.14420382 1.42927984 0.13525928 0.42783752 0.86958934]
Пример
Создадим двумерный массив размером 2x3 из распределения Парето с параметром формы 2.5:
import numpy as np
rng = np.random.default_rng(42)
arr = rng.pareto(2.5, size=(2, 3))
print(arr)
Результат выполнения кода:
[[0.14044048 0.20153125 0.08767786]
[2.17894678 0.27408527 0.14243319]]
Пример
Сгенерируем выборку из 1000 чисел и построим гистограмму для визуализации распределения:
import numpy as np
import matplotlib.pyplot as plt
rng = np.random.default_rng(0)
arr = rng.pareto(2, size=1000)
plt.hist(arr, bins=50, density=True)
plt.title("Pareto Distribution (shape=2)")
plt.show()
Гистограмма показывает, что большинство значений сосредоточено вблизи нуля, а хвост распределения быстро убывает, что характерно для закона Парето.
Пример
Используем метод pareto для моделирования распределения доходов в гипотетической группе из 10 человек:
import numpy as np
rng = np.random.default_rng(123)
arr = rng.pareto(3, size=10)
# Масштабируем значения для имитации доходов
income = 50000 + arr * 10000
print(income.astype(int))
Результат выполнения кода:
[51237 53186 50924 54705 56786 51488 51825 52189 51498 52130]
Смотрите также
-
метод
random,
который генерирует равномерное распределение -
метод
exponential,
который генерирует экспоненциальное распределение -
метод
lognormal,
который генерирует логнормальное распределение -
метод
zipf,
который генерирует распределение Ципфа