Spec-Zone.ru › NumPy 1.20

numpy.random.Generator.negative_binomial

метод

random.Generator.negative_binomial(n, p, size=None)

Генерирует выборки из отрицательного биномиального распределения.

Выборка осуществляется из отрицательного биномиального распределения со заданными параметрами, n успехов и p вероятностью успеха, где n > 0 и p находится в интервале (0, 1].

Параметры
nfloat or array_like of floats

Параметр распределения, > 0.

pfloat or array_like of floats

Параметр распределения. Должно выполняться условие 0 < p <= 1.

sizeint or tuple of ints, optional

Форма выходного массива. Если заданная форма, например, (m, n, k), то генерируется m * n * k выборок. Если размерность равна None (по умолчанию), то возвращается единственное значение, если n и p оба являются скалярами. В противном случае, генерируется np.broadcast(n, p).size выборок.

Возвращаемое значение
outndarray or scalar

Выборка из параметризованного отрицательного биномиального распределения, где каждое значение равно N, числу неудач, которые произошли до достижения в сумме n успехов.

Примечания

Функция вероятности отрицательного биномиального распределения:

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. http://mathworld.wolfram.com/NegativeBinomialDistribution.html

2

Википедия, «Отрицательное биномиальное распределение», https://en.wikipedia.org/wiki/Negative_binomial_distribution

Примеры

Генерация выборок из распределения:

Пример из реальной жизни. Компания бурит скважины в поисках нефти, каждая с предполагаемой вероятностью успеха 0,1. Какова вероятность одного успеха для каждой последующей скважины, то есть какова вероятность единственного успеха после бурения 5 скважин, после 6 скважин и т. д.?

>>> s = np.random.default_rng().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–2021 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.20/reference/random/generated/numpy.random.Generator.negative_binomial.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API