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。
註解
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 值的數值。此搜尋依賴 y 隨 n 的單調性。
參考文獻
[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