numpy.random.negative_binomial#
- random.negative_binomial(n, p, размер=None)#
Извлекать выборки из отрицательного биномиального распределения.
Выборки берутся из отрицательного биномиального распределения с заданными параметрами, n успехов и p вероятность успеха, где n > 0 и p находится в интервале [0, 1].
Примечание
Новый код должен использовать
negative_binomialметодGeneratorэкземпляр вместо; пожалуйста, смотрите Быстрый старт.- Параметры:
- nfloat или array_like из float
Параметр распределения, > 0.
- pfloat или array_like из float
Параметр распределения, >= 0 и <=1.
- размерint или кортеж ints, опционально
Форма вывода. Если заданная форма, например,
(m, n, k), затемm * n * kобразцы извлекаются. Если size равенNone(по умолчанию), возвращается единственное значение, еслиnиpоба являются скалярами. В противном случае,np.broadcast(n, p).sizeвыбираются образцы.
- Возвращает:
- выходndarray или скаляр
Выбранные образцы из параметризованного отрицательного биномиального распределения, где каждый образец равен N, количеству неудач, которые произошли до достижения общего числа n успехов.
Предупреждение
Эта функция возвращает C-long dtype, который составляет 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}\), что является более распространенной формой этого термина в pmf. Отрицательное биномиальное распределение дает вероятность N неудач при n успехах, с успехом на последнем испытании.
Если бросать кубик повторно до третьего появления "1", то распределение вероятностей количества не-"1", которые появятся до третьей "1", является отрицательным биномиальным распределением.
Ссылки
[1]Вайсштейн, Эрик В. «Отрицательное биномиальное распределение». Из MathWorld – веб-ресурс Wolfram. 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)