numpy.random.RandomState.negative_binomial
метод
- random.RandomState.negative_binomial(n, p, size=None)
-
Генерация выборок из отрицательного биномиального распределения.
Выборка генерируется из отрицательного биномиального распределения со следующими параметрами:
nуспехов иpвероятностью успеха, гдеnбольше 0, аpнаходится в интервале [0, 1].Примечание
Новый код должен использовать метод
negative_binomialэкземпляраGenerator; см. Быстрый старт.- Параметры:
-
- nfloat или array_like из float
-
Параметр распределения, > 0.
- pfloat или array_like из float
-
Параметр распределения, >= 0 и <=1.
- sizeint или кортеж из int, необязательно
-
Форма выходных данных. Если заданная форма, например,
(m, n, k), тоm * n * kвыборок генерируется. Если size равноNone(по умолчанию), возвращается единственное значение, еслиnиpявляются скалярами. В противном случае, генерируютсяnp.broadcast(n, p).sizeвыборок.
- Возвращает:
-
- outndarray или скаляр
-
Сгенерированные выборки из параметризованного отрицательного биномиального распределения, где каждая выборка равна N, количеству неудач, произошедших до достижения n успехов.
Предупреждение
Эта функция возвращает тип данных C-long, который составляет 32 бита в Windows и 64 бита в противном случае на 64-битных платформах (и 32 бита на 32-битных). С NumPy 2.0 по умолчанию целое число NumPy — 32 бита на 32-битных платформах и 64 бита на 64-битных.
См. также
random.Generator.negative_binomial-
который следует использовать в новом коде.
Примечания
Функция распределения вероятностей отрицательного биномиального распределения
\[P(N;n,p) = \frac{\Gamma(N+n)}{N!\Gamma(n)}p^{n}(1-p)^{N},\]где \(n\) — количество успехов, \(p\) — вероятность успеха, \(N+n\) — количество испытаний, и \(\Gamma\) — гамма-функция. Когда \(n\) целое, \(\frac{\Gamma(N+n)}{N!\Gamma(n)} = \binom{N+n-1}{N}\), что является более распространенной формой этого члена в функции распределения вероятностей. Отрицательное биномиальное распределение дает вероятность N неудач при заданном n успехах, с успехом на последней попытке.
Если повторять бросание игральной кости до третьего выпадения «1», то распределение вероятностей числа не «1», которые выпадают до третьего «1», является отрицательным биномиальным распределением.
Ссылки
[1]Weisstein, Eric W. “Отрицательное биномиальное распределение.” Из MathWorld – Wolfram Web Resource. https://mathworld.wolfram.com/NegativeBinomialDistribution.html
[2]Википедия, «Отрицательное биномиальное распределение», https://en.wikipedia.org/wiki/Negative_binomial_distribution
Примеры
Генерация выборок из распределения:
Пример из реальной жизни. Компания бурит разведочные скважины, каждая с предполагаемой вероятностью успеха 0,1. Какова вероятность получения одного успеха при последовательном бурении скважин, то есть какова вероятность единственного успеха после бурения 5 скважин, после 6 скважин и т. д.?
>>> s = np.random.negative_binomial(1, 0.1, 100000) >>> for i in range(1, 11): ... probability = sum(s<i) / 100000. ... print(i, "wells drilled, probability of one success =", probability)
© 2005–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/random/generated/numpy.random.RandomState.negative_binomial.html