scipy.special.betainc#
- scipy.special.betainc(a, b, x, out=None) = <ufunc 'betainc'>#
正则化不完全贝塔函数。
计算正则化的不完全贝塔函数,定义为 [1]:
\[I_x(a, b) = \frac{\Gamma(a+b)}{\Gamma(a)\Gamma(b)} \int_0^x t^{a-1}(1-t)^{b-1}dt,\]对于 \(0 \leq x \leq 1\)。
此函数是 beta 分布的累积分布函数;其范围是 [0, 1]。
- 参数:
- a, barray_like
正实值参数
- xarray_like
实数,使得 \(0 \leq x \leq 1\),积分的上限
- 出ndarray,可选
函数值的可选输出数组
- 返回:
- 标量或ndarray
正则化不完全贝塔函数的值
参见
betabeta 函数
betaincinv正则化不完全贝塔函数的逆函数
betaincc正则化不完全贝塔函数的补函数
scipy.stats.betabeta 分布
注释
这个函数名称中的术语 regularized 指的是通过公式中显示的伽马函数项对函数进行缩放。当没有限定为 regularized 时,名称 incomplete beta function 通常仅指积分表达式,不包括伽马项。可以通过将
betainc(a, b, x)的结果乘以beta(a, b)来使用scipy.special中的函数beta获取这个“非正则化”的不完全贝塔函数。参考文献
[1]NIST 数学函数数字图书馆 https://dlmf.nist.gov/8.17
示例
设 \(B(a, b)\) 为
beta函数。>>> import scipy.special as sc
在
gamma的系数等于 \(1/B(a, b)\)。此外,当 \(x=1\) 时,积分等于 \(B(a, b)\)。因此,对于任何 \(a, b\),\(I_{x=1}(a, b) = 1\)。>>> sc.betainc(0.2, 3.5, 1.0) 1.0
它满足 \(I_x(a, b) = x^a F(a, 1-b, a+1, x)/ (aB(a, b))\),其中 \(F\) 是超几何函数
hyp2f1:>>> a, b, x = 1.4, 3.1, 0.5 >>> x**a * sc.hyp2f1(a, 1 - b, a + 1, x)/(a * sc.beta(a, b)) 0.8148904036225295 >>> sc.betainc(a, b, x) 0.8148904036225296
此函数满足关系式 \(I_x(a, b) = 1 - I_{1-x}(b, a)\):
>>> sc.betainc(2.2, 3.1, 0.4) 0.49339638807619446 >>> 1 - sc.betainc(3.1, 2.2, 1 - 0.4) 0.49339638807619446