scipy.special.betaincc#
- scipy.special.betaincc(a, b, x, out=None) = <ufunc 'betaincc'>#
正規化不完全貝塔函數的補數。
計算正規化不完全貝塔函數的補數,定義為 [1]
\[\bar{I}_x(a, b) = 1 - I_x(a, b) = 1 - \frac{\Gamma(a+b)}{\Gamma(a)\Gamma(b)} \int_0^x t^{a-1}(1-t)^{b-1}dt,\]對於 \(0 \leq x \leq 1\)。
- 參數:
- a, barray_like
正值實數參數
- xarray_like
實數值,使得 \(0 \leq x \leq 1\),積分上限
- outndarray,選用
函數值的選用輸出陣列
- 回傳值:
- 純量或 ndarray
正規化不完全貝塔函數的值
參見
betainc
正規化不完全貝塔函數
betaincinv
正規化不完全貝塔函數的反函數
betainccinv
正規化不完全貝塔函數補數的反函數
beta
貝塔函數
scipy.stats.beta
貝塔分布
註解
在版本 1.11.0 中新增。
此函數包裝了 Boost Math C++ 程式庫中的
ibetac
常式 [2]。參考文獻
[1]NIST 數位數學函數庫 https://dlmf.nist.gov/8.17
[2]The Boost Developers. “Boost C++ Libraries”. https://boost.dev.org.tw/.
範例
>>> from scipy.special import betaincc, betainc
當
betainc(a, b, x)
的值接近 1 時,樸素的計算1 - betainc(a, b, x)
會失去精確度>>> 1 - betainc(0.5, 8, [0.9, 0.99, 0.999]) array([2.0574632e-09, 0.0000000e+00, 0.0000000e+00])
透過使用
betaincc
,我們可以得到正確的值>>> betaincc(0.5, 8, [0.9, 0.99, 0.999]) array([2.05746321e-09, 1.97259354e-17, 1.96467954e-25])