Что возвращает nbinom.rvs? - PullRequest
1 голос
/ 21 мая 2019

Я пытаюсь понять, что возвращает scipy.stats.nbinom.rvs.Вот пример кода:

* Код: **

from scipy.stats import nbinom
for i in range(10):
    x = nbinom.rvs(n = 20, p = 0.5, size = 1)
    print(str(i) + ": " + str(x[0]))

Я думал, что это в основном говорит: сколько испытаний потребовалось, чтобы найти 20 успехов при подбрасывании монеты (p= 0,5).Но пример моего вывода показывает, что некоторые доходы намного ниже 20. И поскольку невозможно получить 20 успехов за 8 сальто, я явно не понимаю возвращаемое значение.Помогите, пожалуйста.

Пример вывода:

0: 19
1: 25
2: 14
3: 24
4: 30
5: 8
6: 28
7: 21
8: 14
9: 30

Я просматривал документы в Интернете, но просто видеть "случайные переменные" не очень полезно

1 Ответ

0 голосов
/ 21 мая 2019

Из строки документации scipy.stats.nbinom:

The probability mass function of the number of failures for `nbinom` is:

.. math::

   f(k) = \binom{k+n-1}{n-1} p^n (1-p)^k

for :math:`k \ge 0`.

`nbinom` takes :math:`n` and :math:`p` as shape parameters where n is the
number of successes, whereas p is the probability of a single success.

Таким образом, значения, которые вы видите, представляют собой количество «сбоев», которые происходят до достижения n «успехов».

На странице Википедии есть примечание о негативном биномиальном распределении , которое стоит повторить здесь:

Различные тексты принимают несколько разные определения для отрицательного биномиального распределения. Их можно различить по тому, начинается ли поддержка с k = 0 или с k = r, обозначает ли p вероятность успеха или неудачи, и представляет ли r успех или неудачу, поэтому крайне важно определить конкретную используемую параметризацию в любом данном тексте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...