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

正则化不完全贝塔函数的值

参见

beta

beta 函数

betaincinv

正则化不完全贝塔函数的逆函数

betaincc

正则化不完全贝塔函数的补函数

scipy.stats.beta

beta 分布

注释

这个函数名称中的术语 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