Spec-Zone.ru › NumPy 1.17

numpy.random.Generator.negative_binomial

метод

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

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

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

Параметры:
n : float or array_like of floats

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

p : float or array_like of floats

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

size : int or tuple of ints, optional

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

Возвращает:
out : ndarray 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 Web. http://mathworld.wolfram.com/NegativeBinomialDistribution.html
[2] Википедия, «Отрицательное биномиальное распределение», https://ru.wikipedia.org/wiki/Отрицательное_биномиальное_распределение

Примеры

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

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

>>> s = np.random.default_rng().negative_binomial(1, 0.1, 100000)
>>> for i in range(1, 11): # doctest: +SKIP
...    probability = sum(s<i) / 100000.
...    print(i, "wells drilled, probability of one success =", probability)

© 2005–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.17.0/reference/random/generated/numpy.random.Generator.negative_binomial.html

Spec-Zone.ru

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