numpy.random.Generator.poisson
метод
- random.Generator.poisson(lam=1.0, size=None)
-
Генерация выборок из распределения Пуассона.
Распределение Пуассона является пределом биномиального распределения при больших N.
- Параметры
-
- lamfloat или array_like из float
-
Ожидаемое количество событий, происходящих в фиксированном интервале времени, должно быть >= 0. Последовательность должна быть совместима с запрошенным размером.
- sizeint или кортеж из int, необязательно
-
Форма выходных данных. Если заданная форма, например,
(m, n, k), тоm * n * kвыборок генерируются. Если size не указан (по умолчанию), возвращается одно значение, еслиlamявляется скаляром. В противном случаеnp.array(lam).sizeвыборок генерируются.
- Возвращаемое значение
-
- outndarray или скаляр
-
Сгенерированные выборки из распределения Пуассона с заданными параметрами.
Примечания
Распределение Пуассона
\[f(k; \lambda)=\frac{\lambda^k e^{-\lambda}}{k!}\]Для событий с ожидаемым разбросом \(\lambda\) распределение Пуассона \(f(k; \lambda)\) описывает вероятность \(k\) событий, произошедших в наблюдаемом интервале \(\lambda\).
Поскольку выходные данные ограничены диапазоном типа C int64, возникает ValueError, когда
lamнаходится в пределах 10 сигма от максимального представимого значения.Ссылки
- 1
-
Weisstein, Eric W. “Распределение Пуассона.” Из MathWorld–ресурса Wolfram Web. http://mathworld.wolfram.com/PoissonDistribution.html
- 2
-
Wikipedia, “Распределение Пуассона”, https://en.wikipedia.org/wiki/Poisson_distribution
Примеры
Генерация выборок из распределения:
>>> import numpy as np >>> rng = np.random.default_rng() >>> s = rng.poisson(5, 10000)
Вывод гистограммы выборки:
>>> import matplotlib.pyplot as plt >>> count, bins, ignored = plt.hist(s, 14, density=True) >>> plt.show()
Генерация по 100 значений для лямбда = 100 и 500:
>>> s = rng.poisson(lam=(100., 500.), size=(100, 2))
© 2005–2022 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.21/reference/random/generated/numpy.random.Generator.poisson.html