這個計算機的功能
逆不完全 Beta 函數計算機可以求出讓指定 Beta 函數達到目標值 y 的積分上限 x。你可以反求未正則化的不完全 Beta 函數 \(B_x(a,b)\),也可以反求正則化(標準化)版本 \(I_x(a,b)\)。由於 \(I_x(a,b)\) 會從 0 到 1 單調遞增,這項反運算其實就是 Beta 分布背後的分位數(百分點)運算,也是 Student t 分布、Fisher F 分布與二項分布臨界值計算的核心。
使用方式
先選擇你要反求的函數,接著輸入目標值 y,以及兩個正的形狀參數 a 與 b。在正則化模式下,y 必須介於 0 與 1 之間;在未正則化模式下,y 必須介於 0 與完整 Beta 值 \(B(a,b)\) 之間,結果面板會自動為你列出這個 \(B(a,b)\) 數值。a 與 b 都必須嚴格大於 0。
公式與演算法
完整 Beta 值的計算方式為 $$B(a,b)=\exp\!\left(\ln\Gamma(a)+\ln\Gamma(b)-\ln\Gamma(a+b)\right).$$ 系統會先把目標值轉換成正則化機率 p(對 \(I_x\) 而言 \(p=y\),對 \(B_x\) 而言 \(p=y/B(a,b)\))。正向的 \(I_x(a,b)\) 以連分數法(改良式 Lentz 迭代)求值,並採用標準的對稱引數技巧以提升數值穩定性;方程式 $$I_x(a,b)=p$$ 則在區間 \([0,1]\) 上以二分法求解,保證能收斂。
實例演算
以正則化模式為例,取 \(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\) 除以完整 Beta 值 \(B(a,b)\),所以 \(I_x\) 的範圍永遠是 0 到 1,而 \(B_x\) 的範圍則是 0 到 \(B(a,b)\)。
為什麼 a 與 b 必須為正? 定義 Beta 函數的積分只有在 \(a>0\) 且 \(b>0\) 時才會收斂,否則 Gamma 函數與該積分都無法定義。
計算結果有多準確? 求根程序可收斂到接近雙精度(約 15 位有效數字),對於統計分位數的計算而言綽綽有餘。