numpy.random.RandomState.negative_binomial#

метод

random.RandomState.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)