最小平方法線性回歸的數學原理
線性回歸分析的核心在於尋找一條能夠最佳擬合二維平面上成對數據點的直線。本計算器採用普通最小平方法(Ordinary Least Squares, OLS),其目標是使所有觀測點的實際值與擬合線預測值之間的垂直距離平方和(即殘差平方和 SSE)達到最小。
為了在計算過程中保持極高的數值精確度,避免因數據量級差異過大而損失精度,本工具在計算各項離差平方和時,採用了雙遍補償求和算法(Compensated Summation)來計算圍繞平均值的離差:
- 自變數離差平方和:Sxx = Σ(xᵢ − x̄)²
- 應變數離差平方和:Syy = Σ(yᵢ − ȳ)²
- 共變異離差和:Sxy = Σ(xᵢ − x̄)(yᵢ − ȳ)
透過上述基礎統計量,即可精確推導出回歸線的兩大核心參數:斜率與截距。斜率的計算公式為 b = Sxy ÷ Sxx,而截距則為 a = ȳ − b·x̄。
回歸係數與統計指標的解讀
擬合完成後,理解各項輸出指標的實際物理意義至關重要:
- 斜率 b:代表自變數與應變數之間的變動關係。具體而言,平均而言,x 每增加 1,y 就會改變
‹slope›。 - 截距 a:代表回歸線與 y 軸的交點。即當 x 為 0 時,擬合線位於 y =
‹intercept›。 - 相關係數 r:衡量兩個變數之間線性關係的強度與方向,其數值介於 -1 與 1 之間,符號與斜率一致。
- 判定係數 R²:代表 y 的總變異中,可由回歸線解釋的比例(R² = SSR ÷ SST)。
- 調整後 R²:考慮到自由度對 R² 的影響,公式為 1 − (1 − R²)(n − 1) ÷ (n − 2),適合用於評估模型的泛化能力。
- 殘差標準差 s:反映觀測點圍繞回歸線的平均波動大小,公式為 s = √(SSE ÷ (n − 2))。
假設檢定與置信區間
為了評估所得回歸模型是否具有統計學顯著性,工具會對斜率與截距進行雙尾 t 檢定。斜率的標準誤差計算公式為 SE(b) = s ÷ √Sxx,而截距的標準誤差為 SE(a) = s · √(1÷n + x̄² ÷ Sxx)。
t 統計量由估計值除以其標準誤差得出,並在自由度為 n − 2 下進行雙尾檢定,從而計算出 p 值。在單自變數線性回歸中,整體 F 檢定的結果與斜率 t 檢定的平方相等,因此「方差分析」表格與「係數」表格中的 p 值完全一致。
此外,工具會根據用戶選擇的 90%、95% 或 99% 置信水平,計算出係數的置信區間:估計值 ± t_{1−α/2, n−2} × 標準誤差。
預測區間:平均值與個別觀測值
當輸入特定的 x 值進行預測時,計算器會提供兩種不同性質的置信區間:
- 平均值置信區間:針對在特定 x₀ 下,所有可能觀測值的「平均反應」進行估計。其標準誤差為 s · √(1÷n + (x₀ − x̄)² ÷ Sxx)。
- 個別預測區間:針對「單一個新觀測值」進行預測。由於單一觀測值除了包含擬合線本身的估計誤差外,還包含數據點本身的隨機波動,因此其標準誤差公式為 s · √(1 + 1÷n + (x₀ − x̄)² ÷ Sxx)。
由於多了一項隨機波動,個別預測區間總是比平均值置信區間更寬。當預測的 x₀ 逐漸遠離樣本平均值 x̄ 時,這兩種區間都會隨之變寬。
數據輸入規範與邊界限制
本工具支持「成對行」與「兩個列表」兩種版面配置,最多可支持 50,000 個數據點(1 MB 貼上文字限制)。在輸入數據時,請注意以下邊界條件與錯誤處理機制:
- 首行標題忽略:若數據的第一行包含非數值字元,系統會自動將其視為試算表的標題行並予以忽略,方便直接複製貼上。
- 剛好兩個數據點:此時直線會被完全確定。系統會顯示提示:「兩個數據點剛好確定一條直線,因此沒有剩餘數據可用於估計不確定性。」。
- 完美擬合:若所有點均完美落在直線上,系統會提示:「數據點剛好落在擬合線上,因此沒有殘差波動,無法估計置信區間或 p 值。」。
- 水平線(y 值全同):系統會提示:「每個 y 值都相同,因此擬合線是水平的,r、R² 和顯著性檢定均未定義。」。
- 垂直線(x 值全同):此時斜率分母為零,系統會終止計算並報錯:「每個 x 值都相同,這會導致擬合線呈垂直狀態,且斜率計算會除以零。」。
- 數據不匹配:若兩個列表長度不一致,會觸發錯誤提示:「共有
‹countX›個 x 值和‹countY›個 y 值 —— 兩個列表的長度必須相同。」。
隱私與數據處理說明
本工具的所有計算均在用戶的本地瀏覽器中即時完成,數據點與計算結果絕不會上傳至任何外部伺服器,確保您的數據隱私。
常見問題
為什麼預測結果會提供兩個區間?
它們解答不同的問題。平均值區間探討的是在特定 x 值下,所有對象的平均 y 值落在哪裡,因此只需考慮擬合線本身的誤差。個別區間則探討一個新觀測值會落在哪裡,這需要額外加上數據點圍繞擬合線的散佈誤差 —— 正是因為這個額外項,個別區間總是比平均值區間更寬。當 x 遠離數據中心時,這兩個區間都會變寬。
我將哪一個變數放在 x 會有影響嗎?
是的。最小平方法會將垂直差距最小化,因此它將 y 視為被解釋變數,將 x 視為解釋變數。將它們對調會得到不同的斜率和截距 —— 只有 r 和 R² 保持不變。請將你想預測的變數放在 y;如果輸入時放反了,可以使用對調按鈕直接在原處重寫它們。
R² 實際上告訴了我什麼?
R² 是指 y 的上下波動中,可由擬合線解釋的比例:0.96 代表 96% 的波動與 x 一致,而 4% 則不一致。它並不能說明直線是否為正確的擬合形狀(明顯的曲線仍可獲得高分),因此請結合殘差圖一起閱讀。相關係數 r 是 R² 的平方根,並帶有斜率的正負號,這就是為什麼向下傾斜的直線其 r 值為負數。
微小的 p 值是否代表 x 導致了 y?
不會。p 值只解答一個狹窄的問題:如果真實斜率為 0,那麼在這種樣本量下,有多大機會能得到一個與 0 相差至少如此之遠的斜率?較小的 p 值僅代表「兩者完全沒有關係」這個解釋顯得牽強,僅此而已。因果關係需要研究設計的支持 —— 影響這兩個變數的第三個因素,或者非獨立收集的樣本,都同樣容易產生極小的 p 值。