本文簡要介紹 python 語言中 scipy.special.nbdtrik
的用法。
用法:
scipy.special.nbdtrik(y, n, p, out=None) = <ufunc 'nbdtrik'>#
負二項式百分位函數。
返回參數的倒數k的y = nbdtr(k, n, p),負二項式累積分布函數。
- y: array_like
在 n 次成功之前發生 k 次或更少失敗的概率(浮點數)。
- n: array_like
目標成功次數(正整數)。
- p: array_like
單個事件的成功概率(浮點數)。
- out: ndarray,可選
函數結果的可選輸出數組
- k: 標量或 ndarray
允許的最大失敗次數,使得 nbdtr(k, n, p) = y。
參數 ::
返回 ::
注意:
CDFLIB 的包裝器[1]Fortran 例程cdfnbn.
[2]的公式26.5.26,
用於將累積分布函數的計算減少為正則化不完全 beta 的計算。
k 的計算涉及搜索產生所需 y 值的值。搜索依賴於 y 與 k 的單調性。
參考:
[1]Barry Brown、James Lovato 和 Kathy Russell,CDFLIB:累積分布函數、逆函數和其他參數的 Fortran 例程庫。
[2]Milton Abramowitz 和 Irene A. Stegun 合編。帶有公式、圖表和數學表格的數學函數手冊。紐約:多佛,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)
相關用法
- Python SciPy special.nbdtrin用法及代碼示例
- Python SciPy special.nbdtri用法及代碼示例
- Python SciPy special.nbdtr用法及代碼示例
- Python SciPy special.nbdtrc用法及代碼示例
- Python SciPy special.ncfdtri用法及代碼示例
- Python SciPy special.ncfdtr用法及代碼示例
- Python SciPy special.ncfdtridfd用法及代碼示例
- Python SciPy special.ndtri用法及代碼示例
- Python SciPy special.nctdtr用法及代碼示例
- Python SciPy special.ndtr用法及代碼示例
- Python SciPy special.ncfdtridfn用法及代碼示例
- Python SciPy special.ndtri_exp用法及代碼示例
- Python SciPy special.ncfdtrinc用法及代碼示例
- Python SciPy special.exp1用法及代碼示例
- Python SciPy special.expn用法及代碼示例
- Python SciPy special.gamma用法及代碼示例
- Python SciPy special.y1用法及代碼示例
- Python SciPy special.y0用法及代碼示例
- Python SciPy special.ellip_harm_2用法及代碼示例
- Python SciPy special.i1e用法及代碼示例
- Python SciPy special.smirnovi用法及代碼示例
- Python SciPy special.ker用法及代碼示例
- Python SciPy special.ynp_zeros用法及代碼示例
- Python SciPy special.k0e用法及代碼示例
- Python SciPy special.j1用法及代碼示例
注:本文由純淨天空篩選整理自scipy.org大神的英文原創作品 scipy.special.nbdtrik。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。