maxframe.tensor.special.betainc#

maxframe.tensor.special.betainc(a, b, x, out=None, **kwargs)[源代码]#

正则化不完全 beta 函数。

计算正则化不完全 beta 函数,定义如下 [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 (array_like) -- 正的实值参数

  • b (array_like) -- 正的实值参数

  • x (array_like) -- 实数值,满足 \(0 \leq x \leq 1\),是积分上限

  • out (ndarray, optional) -- 可选的输出数组,用于存储函数值

返回:

正则化不完全 beta 函数的值

返回类型:

scalar or ndarray

参见

beta

beta 函数

betaincinv

正则化不完全 beta 函数的反函数

betaincc

正则化不完全 beta 函数的补函数

scipy.stats.beta

beta 分布

备注

该函数名称中的 正则化 一词指的是该函数通过公式中的 gamma 函数项进行缩放。如果不加 正则化 限定,不完全 beta 函数 通常仅指积分表达式本身,而不包括 gamma 函数项。可以使用 scipy.special 中的 beta 函数,将 betainc(a, b, x) 的结果乘以 beta(a, b) 来获得这种“非正则化”的不完全 beta 函数。

betainc(a, b, x) 被视为单变量 x 的双参数函数族,而不是三变量的函数。这仅影响极限情况 a = 0, b = 0, a = inf, b = inf

通常

\[\lim_{(a, b) \rightarrow (a_0, b_0)} \mathrm{betainc}(a, b, x)\]

被视为 x 的逐点极限。例如,betainc(0, b, 0)b > 0 时等于 0,尽管在考虑同时极限 (a, x) -> (0+, 0+) 时是未定式的。

该函数是对 Boost Math C++ 库中 ibeta 例程的封装 [2]

引用