scipy.special.nbdtrin#

scipy.special.nbdtrin(k, y, p, out=None) = <ufunc 'nbdtrin'>#

nbdtr 相對於 n 的反函數。

傳回 y = nbdtr(k, n, p) 中參數 n 的反函數,即負二項式累積分布函數。

參數:
karray_like

允許的最大失敗次數 (非負整數)。

yarray_like

n 次成功之前,發生 k 次或更少次失敗的機率 (浮點數)。

parray_like

單次事件成功的機率 (浮點數)。

outndarray,可選

函數結果的可選輸出陣列

傳回值:
n純量或 ndarray

使得 nbdtr(k, n, p) = y 的成功次數 n

參見

nbdtr

負二項式累積分布函數。

nbdtri

nbdtr(k, n, p) 相對於 p 的反函數。

nbdtrik

nbdtr(k, n, p) 相對於 k 的反函數。

註解

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\) 的計算。

計算 n 涉及搜尋產生所需 y 值的數值。此搜尋依賴 yn 的單調性。

參考文獻

[1]

Barry Brown、James Lovato 和 Kathy Russell,CDFLIB:累積分布函數、反函數和其他參數的 Fortran 常式庫。

[2]

Milton Abramowitz 和 Irene A. Stegun,編輯。《數學函數手冊,包含公式、圖表和數學表格》。紐約:Dover,1972 年。

範例

計算範例參數集的負二項式累積分布函數。

>>> from scipy.special import nbdtr, nbdtrin
>>> k, n, p = 5, 2, 0.5
>>> cdf_value = nbdtr(k, n, p)
>>> cdf_value
0.9375

驗證 nbdtrin 恢復了 n 的原始值,精確度達到浮點數。

>>> nbdtrin(k, cdf_value, p)
1.999999999998137