这个计算器能做什么
不完全贝塔函数反函数计算器用于求出使指定贝塔函数恰好等于目标值 y 的积分上限 x。你既可以对非正则化的不完全贝塔函数 \(B_x(a,b)\) 求逆,也可以对正则化(归一化)形式 \(I_x(a,b)\) 求逆。由于 \(I_x(a,b)\) 在 0 到 1 之间单调递增,这一求逆过程正是贝塔分布的分位数(百分点)运算,也是计算学生 t 分布、费希尔 F 分布和二项分布临界值的核心。
使用方法
先选择要求逆的函数类型。然后输入目标值 y 以及两个正的形状参数 a 和 b。在正则化模式下,y 必须介于 0 与 1 之间;在非正则化模式下,y 必须介于 0 与完全贝塔值 \(B(a,b)\) 之间——结果面板会把这个 \(B(a,b)\) 一并显示给你。a 和 b 都必须严格大于 0。
公式与算法
完全贝塔函数按 \(B(a,b)=\exp(\ln\Gamma(a)+\ln\Gamma(b)-\ln\Gamma(a+b))\) 计算。目标值会先转换为正则化概率 p(对 \(I_x\) 取 \(p=y\),对 \(B_x\) 取 \(p=y/B(a,b)\))。正向的 \(I_x(a,b)\) 通过连分数(改进的 Lentz 迭代)求值,并采用标准的对称参数变换技巧以保证数值稳定;随后用二分法在 \([0,1]\) 区间上求解方程 \(I_x(a,b)=p\),该方法必定收敛。
$$x = I^{-1}_{\left(\text{y}\,/\,B\right)}\!\left(\text{a},\ \text{b}\right),\qquad B = \frac{\Gamma(\text{a})\,\Gamma(\text{b})}{\Gamma(\text{a}+\text{b})}$$$$x = I^{-1}_{\text{y}}\!\left(\text{a},\ \text{b}\right) \quad\Longleftrightarrow\quad I_x\!\left(\text{a},\text{b}\right) = \text{y}$$
计算实例
取正则化模式,\(y = 0.3\),\(a = 1\),\(b = 3\)。当 \(a = 1\) 时,有恒等式 \(I_x(1,b)=1-(1-x)^{b}\),于是 \(1-(1-x)^{3}=0.3\),得到 \((1-x)^{3}=0.7\),即 \(1-x = 0.887904\),因此 \(x \approx 0.1120959\)。在非正则化模式下,使用相同的 y、a、b:\(B(1,3)=1/3\),故 \(p=0.3/(1/3)=0.9\),得到 \((1-x)^{3}=0.1\),于是 \(x \approx 0.5358407\)。
常见问题
\(B_x\) 和 \(I_x\) 有什么区别? \(I_x\) 等于 \(B_x\) 除以完全贝塔 \(B(a,b)\),因此 \(I_x\) 的取值范围始终是 0 到 1,而 \(B_x\) 的取值范围是 0 到 \(B(a,b)\)。
为什么 a 和 b 必须为正? 只有当 \(a>0\) 且 \(b>0\) 时定义中的积分才收敛;否则伽马函数和积分都没有意义。
结果有多精确? 求根过程可收敛到约双精度水平(约 15 位有效数字),对于统计分位数计算来说绰绰有余。