這個計算器的功能
這個工具會針對指定的形狀參數 a 與 b,在一段 x 區間內製表列出兩個關係密切的特殊函數。下不完全 Beta 函數 Bx(a,b) 是 Beta 被積函數從 0 積分到 x 的結果;正規化不完全 Beta 函數 Ix(a,b) 則是把該積分除以完全 Beta 函數 B(a,b)。Ix(a,b) 同時也是 Beta(a,b) 分布的累積分布函數(CDF),並且是二項分布、Student t 分布、F 分布等多種分布 CDF 的核心基礎。
使用方式
輸入形狀參數 a 與 b(兩者都必須為正數)。設定起始的 x 值(x 的初始值)、遞增量,以及重複次數(也就是列數)。第 i 列所用的 x = 初始 x + i × 遞增量。所有數值都會被限制在 [0, 1] 之間;當 x 達到 1 時,表格即停止。上方的重點區會顯示完全 Beta 值 B(a,b) 與最後一列的結果,而可捲動的表格則逐一列出每個 x 對應的 Bx(a,b) 與 Ix(a,b)。
公式說明
完全 Beta 採用數值上穩定的方式計算:B(a,b) = exp(lgamma(a) + lgamma(b) − lgamma(a+b)),其中對數 Gamma 函數使用 Lanczos 近似法。正規化值 Ix(a,b) 則以經典的 Numerical Recipes 連分數法(Lentz 演算法)求得:令 bt = exp(lgamma(a+b) − lgamma(a) − lgamma(b) + a·ln x + b·ln(1−x)),當 x < (a+1)/(a+b+2) 時使用 Ix = bt·betacf(a,b,x)/a,否則使用 Ix = 1 − bt·betacf(b,a,1−x)/b。最後再以 Bx(a,b) = Ix(a,b) × B(a,b) 得到結果。端點 I0 = 0 與 I1 = 1 會直接以精確值處理,以避免出現 log(0)。
實例演算
以 a = 1、b = 3 為例:B(1,3) = Γ(1)Γ(3)/Γ(4) = (1·2)/6 = 1/3 ≈ 0.333333。在 x = 0.5 時,封閉形式給出 Bx = (1 − (1−x)^3)/3 = (1 − 0.125)/3 = 0.291667,因此 Ix = 0.291667 / 0.333333 = 0.875。再用對稱性檢驗 Ix(1,3) = 1 − (1−x)^3 = 1 − 0.125 = 0.875,結果完全吻合。
常見問題
Bx 與 Ix 有什麼差別?Bx(a,b) 是未經正規化的原始積分值;Ix(a,b) = Bx(a,b)/B(a,b) 則經過正規化,數值落在 0 到 1 之間。
為什麼 a 與 b 必須是正數?因為唯有在 a > 0 且 b > 0 時,相關的積分與 Gamma 函數才會收斂。
如果遞增量讓 x 超過 1 怎麼辦?每個 x 都會被限制(clamp)在 1,表格也會在 x = 1 處停止。此時 Bx(a,b) = B(a,b),且 Ix(a,b) = 1。