scipy.special.nbdtrik#
-
scipy.special.nbdtrik(y, n, p, выход=None) =
'nbdtrik'> # Функция процентиля отрицательного биномиального распределения.
Возвращает обратное значение относительно параметра k of
y = nbdtr(k, n, p), кумулятивная функция распределения отрицательного биномиального распределения.- Параметры:
- yarray_like
Вероятность k или меньше сбоев до n успехи (float).
- narray_like
Целевое количество успехов (положительное целое число).
- parray_like
Вероятность успеха в отдельном событии (float).
- выходndarray, необязательно
Необязательный выходной массив для результатов функции
- Возвращает:
- kскаляр или ndarray
Максимальное количество допустимых сбоев, при котором nbdtr(k, n, p) = y.
Смотрите также
nbdtrКумулятивная функция распределения отрицательного биномиального распределения.
nbdtrcФункция выживания отрицательного биномиального распределения.
nbdtriОбратная относительно p of nbdtr(k, n, p).
nbdtrinОбратная относительно n of nbdtr(k, n, p).
scipy.stats.nbinomОтрицательное биномиальное распределение
Примечания
Wrapper for the CDFLIB [1] Подпрограмма Fortran cdfnbn.
Формула 26.5.26 из [2],
\[\sum_{j=k + 1}^\infty {{n + j - 1} \choose{j}} p^n (1 - p)^j = I_{1 - p}(k + 1, n),\]используется для сведения вычисления функции кумулятивного распределения к таковой для регуляризованной неполной бета-функции \(I\).
Вычисление k включает поиск значения, которое дает желаемое значение y. Поиск основан на монотонности y с k.
Ссылки
[1]Barry Brown, James Lovato и Kathy Russell, CDFLIB: Библиотека подпрограмм Fortran для кумулятивных функций распределения, обратных функций и других параметров.
[2]Милтон Абрамовиц и Ирен А. Стегун, ред. Справочник по математическим функциям с формулами, графиками и математическими таблицами. Нью-Йорк: Dover, 1972.
Примеры
Вычислите функцию кумулятивного распределения отрицательного бинома для примерного набора параметров.
>>> import numpy as np >>> from scipy.special import nbdtr, nbdtrik >>> k, n, p = 5, 2, 0.5 >>> cdf_value = nbdtr(k, n, p) >>> cdf_value 0.9375
Проверить, что
nbdtrikвосстанавливает исходное значение для k.>>> nbdtrik(cdf_value, n, p) 5.0
Построить график функции для различных наборов параметров.
>>> import matplotlib.pyplot as plt >>> p_parameters = [0.2, 0.5, 0.7, 0.5] >>> n_parameters = [30, 30, 30, 80] >>> linestyles = ['solid', 'dashed', 'dotted', 'dashdot'] >>> parameters_list = list(zip(p_parameters, n_parameters, linestyles)) >>> cdf_vals = np.linspace(0, 1, 1000) >>> fig, ax = plt.subplots(figsize=(8, 8)) >>> for parameter_set in parameters_list: ... p, n, style = parameter_set ... nbdtrik_vals = nbdtrik(cdf_vals, n, p) ... ax.plot(cdf_vals, nbdtrik_vals, label=rf"$n={n},\ p={p}$", ... ls=style) >>> ax.legend() >>> ax.set_ylabel("$k$") >>> ax.set_xlabel("$CDF$") >>> ax.set_title("Negative binomial percentile function") >>> plt.show()
Отрицательное биномиальное распределение также доступно как
scipy.stats.nbinom. Метод функции процентиляppfвозвращает результатnbdtrikокруглено до целых чисел:>>> from scipy.stats import nbinom >>> q, n, p = 0.6, 5, 0.5 >>> nbinom.ppf(q, n, p), nbdtrik(q, n, p) (5.0, 4.800428460273882)