MSE、RMSE、MAE、R方等指标整理
SSE
SSE(sum squared error,和方差),其公式为: s s e = ∑ i = 1 m ( y i − y ^ i ) 2 sse=\sum_{i=1}^m(y_i-\hat y_i)^2 sse=i=1∑m(yi−y^i)2其中, y i y_i yi是真实值, y ^ i \hat y_i y^i表示预测值。
MSE
MSE(mean squared error,均方误差),其公式为: m s e = 1 m ∑ i = 1 m ( y i − y ^ i ) 2 mse=\frac{1}{m}\sum_{i=1}^m(y_i-\hat y_i)^2 mse=m1i=1∑m(yi−y^i)2其中, y i y_i yi是真实值, y ^ i \hat y_i y^i表示预测值。
作为模型评估时,MSE简单直白表达了预测误差,但是加了平方扩大了误差值,同时在量纲很大的情况下评估结果不明了,因为这个原因,作为损失函数训练模型时,模型受异常值的影响很大。
MSE通常作为线性回归模型的损失函数(L2 loss), J ( θ ) = − 1 m ∑ i = 1 m ( y i − h θ ( x i ) ) 2 J(\theta)=-\frac{1}{m}\sum\limits_{i=1}^m(y_i-h_\theta(x_i))^2 J(θ)=−m1i=1∑m(yi−hθ(xi))2
MAE
MAE(mean absolute error,平均绝对误差),其公式为: m a e = 1 m ∑ i − 1 m ∣ y i − y ^ i ∣ mae=\frac{1}{m}\sum_{i-1}^m|y_i-\hat y_i| mae=m1i−1∑m∣yi−y^i∣其中, y i y_i yi是真实值, y ^ i \hat y_i y^i表示预测值。
量纲和原值保持一致,且没有因为加了平方扩大了误差的问题,因此作为损失函数,其对于异常值的鲁棒性要高于MSE。
也被用作回归模型的损失函数(L1 loss)。
对于MSE和MAE:
如果数据的异常值对于业务是有用的,我们希望考虑到这些异常值,那么就用MSE;如果我们相应异常值只是一些无用的数据噪音,那就用MAE。
MAE是L1范数正则化的一个代表,MSE是L2范数正则化的一个代表。总体来说,L1可以克服异值点代来的不利影响。但是它的方程不可导,增大了用L1寻求最优解的困难度。L2对于异常点很敏感,但是通过求导很容易找到最优解。
这一点也可以联想到正则化模型进行特征选择时,虽然L1可以迅速把特征压缩到0,直接选择特征子集,但是如果特征之间存在共线性,L1可以带来不稳定的结果,即随意分配特征的权重。当数据发生细微变化时就会导致很大的模型差异。L2正则化就在系数权重上表现得更稳定,从而让特征更具解释性。
RMSE
RMSE(root mean squared error,均方根误差),其公式为: r m s e = m s e = 1 m ∑ i = 1 m ( y i − y ^ i ) 2 rmse=\sqrt {mse}=\sqrt{\frac{1}{m}\sum_{i=1}^m(y_i-\hat y_i)^2} rmse=mse=m1i=1∑m(yi−y^i)2
RMSE本质是在MSE上作了一个开根号。这样将评估值的量纲和原值的量纲保持一致。
R 2 \textbf{R}^2 R2
R 2 R^2 R2(R squared,R方),其公式为: R 2 = 1 − S S r e s i d u a l S S t o t a l R^2=1-\frac{SS_{residual}}{SS_{total}} R2=1−SStotalSSresidual其中 S S r e s i d u a l SS_{residual} SSresidual为residual sum of squares, S S t o t a l SS_{total} SStotal为total sum of squares。 R 2 = 1 − ∑ i ( y ^ ( i ) − y ( i ) ) 2 ∑ i ( y ˉ − y ( i ) ) 2 R^2=1-\frac{\sum\limits_{i}(\hat y^{(i)}-y^{(i)})^2}{\sum\limits_{i}(\bar y-y^{(i)})^2} R2=1−i∑(yˉ−y(i))2i∑(y^(i)−y(i))2其中, y ( i ) y^{(i)} y(i)是真实值, y ^ ( i ) \hat y^{(i)} y^(i)表示预测值, y ˉ \bar y yˉ表示样本均值, ∑ i ( y ^ ( i ) − y ( i ) ) 2 \sum\limits_{i}(\hat y^{(i)}-y^{(i)})^2 i∑(y^(i)−y(i))2为预测产生的误差, ∑ i ( y ˉ − y ( i ) ) 2 \sum\limits_{i}(\bar y-y^{(i)})^2 i∑(yˉ−y(i))2为均值产生的误差。
- R 2 ⩽ 1 R^2 \leqslant1 R2⩽1
- R 2 R^2 R2越大越好。当预测模型不犯任何错误时, R 2 R^2 R2得到最大值1
- 当预测模型等于基准模型时, R 2 = 0 R^2=0 R2=0
- 当 R 2 < 0 R^2 \lt 0 R2<0,说明预测模型还不如基准模型。
MAPE
MAPE(mean absolute percentage error,平均绝对百分比误差),其公式为:
m
a
p
e
=
100
%
n
∑
i
=
1
n
∣
y
^
i
−
y
i
y
i
∣
mape=\frac{100\%}{n}\sum_{i=1}^n|\frac{\hat y_i - y_i}{y_i}|
mape=n100%i=1∑n∣yiy^i−yi∣
y
i
y_i
yi是真实值,
y
^
i
\hat y_i
y^i表示预测值。
范围[0,+∞),MAPE 为0%表示完美模型,MAPE 大于 100 %则表示劣质模型。可以看到,MAPE跟MAE很像,就是多了个分母。
注意:当真实值有数据等于0时,存在分母0除问题,该公式不可用!
更多推荐
所有评论(0)