scipy.special.gdtrib#
- scipy.special.gdtrib(a, p, x, out=None) = <ufunc 'gdtrib'>#
相对于 b 的
gdtr
逆运算。返回相对于参数 b 的逆函数,即
p = gdtr(a, b, x)
,它是伽马分布的累积分布函数。- 参数:
- a类数组
gdtr(a, b, x)
的 a 参数值。1/a
是伽马分布的“尺度”参数。- p类数组
概率值。
- x类数组
伽马分布定义域内的非负实数值。
- outndarray, 可选
如果提供了第四个参数,它必须是 NumPy ndarray,其大小与 a、b 和 x 的广播结果匹配。此时 out 是函数返回的数组。
- 返回:
- b标量或 ndarray
使 p = gdtr(a, b, x) 成立的 b 参数值。b 是伽马分布的“形状”参数。
备注
累积分布函数 p 使用 Cephes [1] 例程 igam 和 igamc 计算。 b 的计算涉及使用 Chandrupatla 的区间套根查找算法 [2] 寻找能产生所需 p 值的参数。
请注意,存在一些特殊情况,其中
gdtrib
通过取唯一确定的极限进行扩展。特别是当x == 0
且p > 0
,以及当p == 0
且x > 0
时。对于这些边缘情况,即使gdtr(a, gdtrib(a, p, x), x)
未定义,gdtrib(a, p, x)
也会返回一个数值结果。参考文献
[1]Cephes 数学函数库,http://www.netlib.org/cephes/
[2]Chandrupatla, Tirupathi R. “一种不使用导数寻找非线性函数零点的新型混合二次/二分算法”。工程软件进展,28(3),145-149。https://doi.org/10.1016/s0965-9978(96)00051-8
示例
首先计算
gdtr
。>>> from scipy.special import gdtr, gdtrib >>> p = gdtr(1.2, 3.4, 5.6) >>> print(p) 0.94378087442
验证逆函数。
>>> gdtrib(1.2, p, 5.6) 3.3999999999999995