什麼是 R 平方?
R 平方(R²)又稱為判定係數,用來衡量模型的預測值與實際觀測資料的吻合程度,代表依變數的變異中有多少比例能由模型解釋。對一個合理的模型而言,R² 介於 0 到 1 之間:等於 1 表示預測完美貼合資料;等於 0 則表示模型完全無法解釋變異,效果與「直接用平均數預測」沒有兩樣。當模型的表現甚至比一條位於平均數的水平線還差時,R² 也可能出現負值。
計算器使用方式
請以逗號分隔的方式輸入您的觀測值(實際的 Y 資料)以及預測值(模型輸出的 Ŷ)。兩組數列的順序必須對應、數量必須相同。按下計算後,即可得到 R²,並一併顯示殘差平方和(SS_res)、總平方和(SS_tot)以及使用的資料點數量。
公式說明
計算器會先算出觀測值的平均數。總平方和是每個觀測值與該平均數之差的平方總和:
$$SS_{tot} = \sum \left( y_i - \bar{y} \right)^{2}$$殘差平方和則是觀測值與預測值之差的平方總和:
$$SS_{res} = \sum \left( y_i - \hat{y}_i \right)^{2}$$接著以
$$R^{2} = 1 - \frac{SS_{res}}{SS_{tot}}$$求得結果。當殘差相對於總變異很小時,\(SS_{res}/SS_{tot}\) 會趨近於 0,R² 也就越接近 1。
實例演算
假設觀測值為 3、−0.5、2、7,預測值為 2.5、0.0、2、8。觀測值的平均數為 \((3 - 0.5 + 2 + 7)/4 = 2.875\)。
$$SS_{res} = 0.5^{2} + (-0.5)^{2} + 0^{2} + (-1)^{2} = 0.25 + 0.25 + 0 + 1 = 1.5$$$$SS_{tot} = (0.125)^{2} + (-3.375)^{2} + (-0.875)^{2} + (4.125)^{2} \approx 0.015625 + 11.390625 + 0.765625 + 17.015625 = 29.1875$$因此
$$R^{2} = 1 - \frac{1.5}{29.1875} \approx 0.9486$$常見問題
R² 可能是負值嗎? 會的。當模型的表現比單純用資料平均數預測還差時,SS_res 會大於 SS_tot,R² 就會變成負數。
R² 越高就代表模型越好嗎? 不一定。高 R² 表示對「這一批資料」貼合得很好,但也可能是過度配適(overfitting)造成的。務必再用樣本外資料加以驗證。
R² 與調整後 R²(adjusted R²)有什麼差別? 調整後 R² 會對「加入無助於模型的解釋變數」進行懲罰,在多元迴歸中特別實用。本計算器提供的是未經調整的 R²。