機器學習基礎 | 回歸模型評估指標


回歸模型中常用的評估指標可以分如下幾類:

  • MAE系列,即由Mean Absolute Error衍生得到的指標;
  • MSE系列,即由Mean Squared Error衍生得到的指標;
  • R²系列;
    注:在英語中,error和deviation的含義是一樣的,所以Mean Absolute Error也可以叫做Mean Absolute Deviation(MAD),其他指標同理可得;

MAE系列

MAE全稱Mean Absolute Error(平均絕對誤差)。
更多參考
設N為樣本數量,第\(i\)個樣本的實際值為\(y_i\),預測值為\(y'_i\),那么MAE的定義如下

\[MAE = \frac{1}{N}\sum^N_{i=1}|y_i-y'_i| \]

由MAE衍生可以得到:

  • Mean Absolute Pencentage Error(MAPE,平均絕對百分比誤差),相當於加權版的MAE.

\[MAPE = \frac{1}{N}\sum^N_{i=1}\biggl|\frac{y_i-y'_i}{y_i}\biggr| \]

MAPE可以看做是MAE和MPE(Mean Percentage Error)綜合而成的指標

\[MPE = \frac{1}{N}\sum^N_{i=1}\frac{y_i-y'_i}{y_i} \]

從MAPE公式中可以看出有個明顯的bug——當實際值\(y_i=0\)時就會得到無窮大值(實際值\(|y_i|<1\)時也會過度放大誤差)。為了避免這個bug,MAPE一般用於實際值不會為0的情形。

Sungil Kima & Heeyoung Kim(2016)提出MAAPE(mean arctangent absolute percentage error) 方法,在保持MAPE的算法思想下克服了上面那個bug(更多參考 A new metric of absolute percentage error for intermittent demand forecasts,Sungil Kima & Heeyoung Kim, 2016).

\[MAAPE = \frac{1}{N}\sum^N_{i=1}arctan\biggl(\biggl|\frac{y_i-y'_i}{y_i}\biggr|\biggr) \]

考慮Absolute Error \(|y_i-y'_i|\)可能存在Outlier的情況,此時Median Abosulte Error(MedAE, 中位數絕對誤差)可能是更好的選擇。

\[MedAE=\underset{i=1,...,N}{median}|y_i-y'_i| \]

MSE系列

MSE全稱Mean Squared Error(均方誤差),也可以稱為Mean Squared Deviation (MSD).
更多參考

\[MSE = \frac{1}{N}\sum^N_{i=1}|y_i-y'_i|^2 \]

由MSE可以衍生得到均方根誤差(Root Mean Square Error, RMSE, 或者RMSD)
更多參考

\[RMSE=\sqrt{MSE} = \sqrt{\frac{1}{N}\sum^N_{i=1}|y_i-y'_i|^2} \]

RMSE可以進行歸一化(除以全距或者均值)從而得到歸一化的均方根誤差(Normalized Root Mean Square Error, NRMSE).
\(NRMSE = \frac{RMSE}{y_{max}-y_{min}}\)
或者
\(NRMSE = \frac{RMSE}{\overline{y}}\)

RMSE還有其他變式:

  • RMSLE(Root Mean Square Logarithmic Error)

\[RMSLE = \sqrt{\frac{1}{N}\sum^N_{i=1}\bigl|log(y_i+1)-log(y'_i+1)\bigr|^2} \]

  • RMSPE(Root Mean Square Percentage Error)

\[RMSPE=\sqrt{\frac{1}{N}\sum^N_{i=1}\biggl|\frac{y_i-y'_i}{y_i}\biggr|^2} \]

對於數值序列出現長尾分布的情況,可以選擇MSLE(Mean squared logarithmic error,均方對數誤差),對原有數據取對數后再進行比較(公式中+1是為了避免數值為0時出現無窮值).

\[MSLE = \frac{1}{N}\sum^N_{i=1}\bigl|log(y_i+1)-log(y'_i+1)\bigr|^2 \]

R²系列

R²(R squared, Coefficient of determination),中文翻譯為“決定系數”或者“擬合優度”,反映的是預測值對實際值的解釋程度.
注意:R²和相關系數的平方不是一回事(只在簡單線性回歸條件下成立)

\[\begin{aligned} R^2 & = 1-\frac{SS_{res}}{SS_{tot}} \\ & = 1-\frac{\sum^N_{i=1}(y_i-y'_i)^2}{\sum^N_{i=1}(y_i-\overline{y})^2} \\ \end{aligned} \]

其中\(\overline{y}=\frac{1}{N}\sum^N_{i=1}y_i\),總平方和\(SS_{tot}\)= 回歸平方和\(SS_{reg}\)+殘差平方和\(SS_{res}\).
\(SS_{tot} = \sum^N_{i=1}(y_i-y'_i)^2\)
\(SS_{res} = \sum^N_{i=1}(y_i-\overline{y})^2\)
\(SS_{reg} = \sum^N_{i=1}(y'_i-\overline{y})^2\)

回歸模型中,增加額外的變量會提升R²,但這種提升可能是虛假的,因此提出矯正的R²(Adjusted R²,符號表示為\(R^2_{adj}\)或者\(\overline{R}^2\))來對模型中的變量個數進行“懲罰”(\(R^2_{adj} \leq R^2\))。

\[R^2_{adj} = 1-(1-R^2)\frac{N-1}{N-1-P} \]

公式中\(P\)表示回歸模型中變量(特征)的個數。和\(R^2\)計算方式很相近的另一個指標是Explained Variance Score.

\(e_i = y_i-y'_i, \overline{e}=\frac{1}{N}\sum^N_{i=1}e_i\),則有

\[\begin{aligned} explained_variance & = 1-\frac{var(y-y')}{var(y)} \\ & = 1-\frac{\sum^N_{i=1}(e_i-\overline{e})^2}{\sum^N_{i=1}(y_i-\overline{y})^2} \\ \end{aligned} \]

更多關於R²參考 :

綜上,在選用評價指標時,需要考慮:

  • 數據中是否有0,如果有0值就不能用MPE、MAPE之類的指標;
  • 數據的分布如何,如果是長尾分布可以選擇帶對數變換的指標,中位數指標比平均數指標更好;
  • 是否存在極端值,諸如MAE、MSE、RMSE之類容易受到極端值影響的指標就不要選用;
  • 得到的指標是否依賴於量綱(即絕對度量,而不是相對度量),如果指標依賴量綱那么不同模型之間可能因為量綱不同而無法比較;

更多關於指標選擇可以參考A Survey of Forecast Error Measures(2013) 這篇文章。

參考資料:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM