SciPy 中 Gamma 及其相关函数

原文链接:SciPy 中 Gamma 及其相关函数

本文解释了 SciPy 中 gamma 函数及其相关函数,这些函数有:

  • gamma
  • gammaln
  • gammainc
  • gamaincinv
  • gammaincc
  • gammainccinv
  • beta
  • betaln
  • betainc
  • betaincinv
  • psi
  • polygamma

SciPy 中的函数名很容易和数学函数相对应。但是,有以下几点要注意:

  1. ln 结尾的函数的确是取自然对数,但它们要先取绝对值。
  2. 包含 inc 的函数计算的是 正则化 不完全函数(regularized incomplete functions),而不是简单的不完全函数。

这些要点将在下面阐明。

Gamma 和 beta 函数

在 SciPy 中 gamma 函数 Γ ( z ) 和 beta 函数 B ( x , y ) 毫不意外地被称为 gammabetagamma(z) 计算:

Γ ( z ) = 0 t z 1 e t d t

beta(x, y) 计算:

B ( x , y ) = 0 1 t x 1 ( 1 t ) y 1 d t = Γ ( x ) Γ ( y ) Γ ( x + y )

对数

通常 gamma 和 beta 函数在实践中不如其对数形式有用(请参阅这里的解释)。这些对数形式在 SciPy 中被称为 gammalnbetaln。 注意 gammaln实际上返回的是 gamma 函数 绝对值 的自然对数,即 gammaln(z) 计算 l o g | Γ ( z ) | 。而 betaln(x, y) 计算 l o g | B ( x , y ) |

Psi 和 polygamma 函数

ψ ( z ) 表示 l o g ( Γ ( z ) ) 的导数,在 SciPy 中被称为 psi 函数。 ψ ( z ) 的第 n 个导数在 SciPy 中用 psi(n, z) 表示。

不完全函数与互补函数

gamma 和 beta 函数都有“不完全”版。但是,SciPy 的不完全伽马函数 gammainc 对应 正则化 伽玛函数。类似地,SciPy 的不完全 beta 函数 betainc 对应正则化 beta 函数。

(下)不完全 gamma 函数由下式定义

γ ( a , z ) = 0 z t a 1 e t d t

上不完全 gamma 函数由下式定义

Γ ( a , z ) = z t a 1 e t d t

之所以被称为“不完全”是因为它们在 gamma 函数定义域的一部分进行积分。不完全 beta 函数也遵循同样的模式。

正则化的不完全 gamma 函数定义如下:

P ( a , z ) = γ ( a , z ) Γ ( a )

以及

Q ( a , z ) = Γ ( a , z ) Γ ( a )

SciPy 的函数 gammainc(a, z) 计算 P(a, z),函数 gammaincc 计算 Q(a, z)。 注意 gammaincc 中额外的 c 代表“互补”。由于 Q(a, z) = 1 - P(a, z),所以似乎不需要同时提供 P(a, z) 及其互补函数 Q(a, z)。但是,为了数值的精度,我们需要互补函数。请参阅这里的解释。这里同样适用于不完全伽马函数。

不完全 beta 函数定义为

B x ( a , b ) = 0 x t a 1 ( 1 t ) b 1 d t

正则化不完全 beta 函数定义为

I x ( a , b ) = B x ( a , b ) B ( a , b )

SciPy 函数 betainc(a, b, c) 计算 I x ( a , b )

反函数

inv 结尾的 SciPy 函数计算相应函数的反函数。gammaincinv(a, y)返回使得 gammainc(a, x) = yx。同样的,gammainccinvgammaincc 的反函数。 最后,betaincinv(a, b, y) 返回使得 betainc(a, b, x) = yx

在 gamma 和 beta 函数的 SciPy 实现中存在不对称:没有 betainccbetainccinv 函数。由于 beta 函数的对称性,这些函数是不必要的。可以将 betaincc(a, b, x) 定义为 betainc(b, a, 1-x),将 betainccinv(a, b, x) 定义为 betaincinv(b, a, 1-x)

本文翻译自:Gamma and related functions in SciPy

猜你喜欢

转载自blog.csdn.net/and_w/article/details/79492740