回归类模型评估指标选择、局限、优势
在回归类算法中,有两种不同的角度评估回归的效果:
- 是否预测到了正确的数值
- 是否拟合到了足够的信息
一、 是否预测到了正确的数值
1.RSS残差平方和
其本质是预测值和真实值之间的差异。从第一角度评估回归的效力,同时RSS也是损失函数。
其数学表示式为:
R S S = ∑ i = 1 m ( y i − y ^ ) 2 RSS = \sum_{i=1}^{m}(y_i-\hat y)^2 RSS=i=1∑m(yi−y^)2
特点
RSS是恒大于0,可以无限大,因此RSS越接近0越好,但没有一个概念,要多接近0才算好?
2.均方误差MSE(mean squared error)
其本质是RSS的基础上除以样本总量m,以便得到每个样本量上的平均误差。又称L2范式。
其数学表示式为:
M
S
E
=
1
m
∑
i
=
1
m
(
y
i
−
y
i
^
)
2
MSE =\frac{1}{m}\sum^{m}_{i=1}({y_i}-\hat{y_i})^2
MSE=m1i=1∑m(yi−yi^)2
特点
- 范围可以是0到无穷大,取值越小越好。
- 对异常值比较敏感,若存在个别偏离程度非常大的离群点(Outlier)时,MSE指标会变得很糟糕。
- 更加惩罚较大的错误。
- MSE也是损失函数,可快速计算,应用广泛。
3.均方根误差RMSE(root mean squared error)
其本质是MSE的基础上开根号。RMSE能够很好地反映回归模型预测值与真实值的偏离程度。
其数学表示式为:
R
M
S
E
=
1
m
∑
i
=
1
m
(
y
i
−
y
i
^
)
2
RMSE =\sqrt{\frac{1}{m}\sum^{m}_{i=1}({y_i}-\hat{y_i})^2}
RMSE=m1i=1∑m(yi−yi^)2
特点
- 范围可以是0到无穷大,取值越小越好。
- 对异常值比较敏感。
- 量纲同因变量y一致。
4.均方对数误差MSLE(Mean squared logarithmic error)
其数学表示式为:
R
M
S
E
=
1
m
∑
i
=
1
m
∣
l
o
g
(
y
i
+
1
)
−
l
o
g
(
y
^
i
+
1
)
∣
2
RMSE =\frac{1}{m}\sum^{m}_{i=1}|log(y_i+1)-log(\hat y_i+1)|^2
RMSE=m1i=1∑m∣log(yi+1)−log(y^i+1)∣2
其中+1是为了避免数值为0时出现无穷值。
特点
- 适用于数值序列出现长尾分布的情况。
5.绝对均值误差MAE(mean absolute error)
其本质是真实值和预测值之间的差异使用L1范式,求得每个样本量上的绝对误差。
其数学表示式为:
M
A
E
=
1
m
∑
i
=
1
m
∣
y
i
ˉ
−
y
i
^
∣
MAE =\frac{1}{m}\sum^{m}_{i=1}|\bar{y_i}-\hat{y_i}|
MAE=m1i=1∑m∣yiˉ−yi^∣
特点
- 范围可以是0到无穷大,取值越小越好。
- 对异常值比较敏感。
- 不会更加惩罚较大的错误。
- 量纲同因变量y一致。
6.平均绝对百分比误差MAPE(Mean Absolute Pencentage Error)
其本质是把每个点的误差归一化,降低了个别离群点带来的绝对误差的影响。
其数学表示式为:
M
A
P
E
=
100
∗
1
m
∑
i
=
1
m
∣
y
i
ˉ
−
y
i
^
∣
y
i
∣
MAPE =100*\frac{1}{m}\sum^{m}_{i=1}|\frac{\bar{y_i}-\hat{y_i}|}{y_i}|
MAPE=100∗m1i=1∑m∣yiyiˉ−yi^∣∣
特点
- 具有鲁棒性,对异常值不敏感。
- MAPE一般用于实际值不会为0的情形,当实际值 y i = 0 y_i=0 yi=0时就会得到无穷大值(实际值 ∣ y i ∣ < 1 |y_i|<1 ∣yi∣<1时也会过度放大误差)
二、 是否拟合到了足够的信息
在回归模型评估中,只探索数据预测是否准确是不足够的,还希望模型能够捕捉数据的分布规律,单调性等等。
如果一个模型在前半段数据上完美拟合,在后半段数据上拟合很差。这个时候,如果你用 MSE 去对模型进行评估的话,MSE 的值因为后半段的巨大差异被分散到整体样本上,所以会比较小。
很明显,这种拟合结果并不是一个很好的结果,如果新的样本特征是处于后半段的,那预测结果会存在很大的偏差。
为了衡量模型对数据上的信息量的捕捉,可采用 R 2 R^2 R2决定系数。
1.决定系数(R-square,也被称为拟合优度检验)
在线性回归模型中,决定系数 R 2 R_2 R2反映了能够解释的离差占总离差的比例,即 R 2 R_2 R2=1-模型没有捕捉的信息量占真实标签中所带的信息量比例。
其数学表示式为:
R
2
=
1
−
∑
i
=
1
n
(
y
i
−
y
i
^
)
2
∑
i
=
1
n
(
y
i
−
y
i
ˉ
)
2
=
1
−
S
S
R
S
S
T
=
S
S
E
S
S
T
R^2 =1-\frac{\sum^{n}_{i=1}({y_i}-\hat{y_i})^2}{\sum^{n}_{i=1}(y_i-\bar{y_i})^2}=1-\frac{SSR}{SST}=\frac{SSE}{SST}
R2=1−∑i=1n(yi−yiˉ)2∑i=1n(yi−yi^)2=1−SSTSSR=SSTSSE
其中总体离差平方和SST(Total sum of squares)是实际值和均值之间的差值的平方和, S S T = ∑ i = 1 n ( y i − y i ˉ ) 2 SST=\sum^{n}_{i=1}(y_i-\bar{y_i})^2 SST=∑i=1n(yi−yiˉ)2。当SST除以样本量m就是方差,一般方差越大,所携带的信息越多。
解释(回归)平方和SSE(Explained Sum of Squares) 由预测数据与标签均值之间差值的平方和计算,在回归分析中,SSR表示聚类中类似的组间平方和概念,即 S S E = ∑ i = 1 n ( y i ^ − y i ˉ ) 2 SSE =\sum^{n}_{i=1}(\hat{y_i}-\bar{y_i})^2 SSE=∑i=1n(yi^−yiˉ)2
残差平方和SSR(Residual sum of squares) 是实际值和预测值之间的差值的平方和,即 S S R = ∑ i = 1 n ( y i − y i ^ ) 2 SSR = \sum^{n}_{i=1}({y_i}-\hat{y_i})^2 SSR=∑i=1n(yi−yi^)2
并且, S S T SST SST= S S R + S S E SSR+SSE SSR+SSE。而决定系数,则由 S S R SSR SSR和 S S T SST SST共同决定。
SST = SSR + SSE不是一直成立的?
S S T = ∑ i = 1 n ( y i − y i ˉ ) 2 = ∑ i = 1 n ( y i − y ^ i + y ^ i − y ˉ i ) 2 = ∑ i = 1 n ( y i − y i ^ ) 2 + ∑ i = 1 n ( y i ^ − y i ˉ ) 2 + 2 ∑ i = 0 m ( y i − y ^ i ) ( y ^ i − y ˉ i ) = S S R + S S E + 2 ∑ i = 0 m ( y i − y ^ i ) ( y ^ i − y ˉ i ) \begin{aligned} SST&= \sum^{n}_{i=1}(y_i-\bar{y_i})^2 \\ &= \sum^{n}_{i=1}(y_i - \hat y_i+\hat y_i-\bar y_i)^2 \\ &=\sum^{n}_{i=1}({y_i}-\hat{y_i})^2+\sum^{n}_{i=1}(\hat{y_i}-\bar{y_i})^2+2\sum_{i=0}^m(y_i-\hat y_i)(\hat y_i-\bar y_i)\\ &=SSR+SSE+2\sum_{i=0}^m(y_i-\hat y_i)(\hat y_i-\bar y_i) \end{aligned} SST=i=1∑n(yi−yiˉ)2=i=1∑n(yi−y^i+y^i−yˉi)2=i=1∑n(yi−yi^)2+i=1∑n(yi^−yiˉ)2+2i=0∑m(yi−y^i)(y^i−yˉi)=SSR+SSE+2i=0∑m(yi−y^i)(y^i−yˉi)
当 2 ∑ i = 0 m ( y i − y ^ i ) ( y ^ i − y ˉ i ) = 0 时 2\sum_{i=0}^m(y_i-\hat y_i)(\hat y_i-\bar y_i)=0时 2∑i=0m(yi−y^i)(y^i−yˉi)=0时, S S T = S S R + S S E SST=SSR+SSE SST=SSR+SSE成立。若 ( y i − y ^ i ) , ( y ^ i − y ˉ i ) (y_i-\hat y_i),(\hat y_i-\bar y_i) (yi−y^i),(y^i−yˉi)符合不同时, R 2 就 有 可 能 为 负 值 R^2就有可能为负值 R2就有可能为负值。
R 2 R^2 R2为负值意味存在什么问题呢?
也就是说,但 R 2 R^2 R2为负值时,说明模型对数据的拟合效果非常糟糕,模型完全不能使用。
特点
- 很明显,决定系数是一个鉴于[0,1]之间的值,并且约趋近于1,模型拟合效果越好。
- 局限性,随着自变量数目的增加, R 2 R^2 R2只增不减。
证明:随着自变量数目的增加, R 2 R^2 R2只增不减
对于线性回归来说, y ^ = β 0 + β 1 x 1 + . . . + β n x n \hat y=\beta_0+\beta_1x_1+...+\beta_nx_n y^=β0+β1x1+...+βnxn
因为 S S R n = ∑ i = 1 n ( y i − y i ^ ) 2 = ∑ i = 1 n ( y i − ( β 0 + β 1 x 1 + . . . + β n x n SSR_n = \sum^{n}_{i=1}({y_i}-\hat{y_i})^2=\sum^{n}_{i=1}({y_i}-(\beta_0+\beta_1x_1+...+\beta_nx_n SSRn=∑i=1n(yi−yi^)2=∑i=1n(yi−(β0+β1x1+...+βnxn))^2
S S R n + 1 = ∑ i = 1 n ( y i − y i ^ ) 2 = ∑ i = 1 n ( y i − ( β 0 + β 1 x 1 + . . . + β n x n + β n + 1 x n + 1 SSR_{n+1} = \sum^{n}_{i=1}({y_i}-\hat{y_i})^2=\sum^{n}_{i=1}({y_i}-(\beta_0+\beta_1x_1+...+\beta_nx_n+\beta_{n+1}x_{n+1} SSRn+1=∑i=1n(yi−yi^)2=∑i=1n(yi−(β0+β1x1+...+βnxn+βn+1xn+1))^2
根据最小二乘法的目标,最小化 ∑ i = 1 n ( y i − y i ^ ) 2 \sum^{n}_{i=1}({y_i}-\hat{y_i})^2 ∑i=1n(yi−yi^)2,即对于任意的 β \beta β,总有 S S E n + 1 < S S E n SSE_{n+1}<SSE_{n} SSEn+1<SSEn。
所以 R n 2 = 1 − S S E n S S T < R n + 1 2 = 1 − S S E n + 1 S S T R_n^2=1-\frac{SSE_n}{SST}<R_{n+1}^2=1-\frac{SSE_{n+1}}{SST} Rn2=1−SSTSSEn<Rn+12=1−SSTSSEn+1
2.调节可决系数(Adjusted R-Squared)
修正的可决系数是将残差平方和与总离差平方和分别除以各自的自由度,以剔除变量个数对拟合优度( R 2 R^2 R2)的影响。
其数学表示式为:
R α 2 = 1 − ( 1 − R 2 ) m − 1 m − n − 1 = 1 − S S R / ( m − n − 1 ) S S T / ( m − 1 ) \begin{aligned} R^2_\alpha&= 1-(1-R^2)\frac{m-1}{m-n-1} \\ &= 1-\frac{SSR/(m-n-1)}{SST/(m-1)}\\ \end{aligned} Rα2=1−(1−R2)m−n−1m−1=1−SST/(m−1)SSR/(m−n−1)
其中n为变量个数,m为样本个数。
特点
- R α 2 ≤ R 2 R^2_\alpha ≤ R^2 Rα2≤R2
- 当n>m时, R α 2 R^2_\alpha Rα2出现负值。
- 适用于多元线性回归。
from sklearn.metrics import mean_squared_error #MSE
from sklearn.metrics import mean_absolute_error #MAE
from sklearn.metrics import r2_score#R square
部分参考
https://www.cnblogs.com/dataxon/p/12540191.html
https://www.bilibili.com/video/BV1R5411h7Eo?spm_id_from=333.788.top_right_bar_window_history.content.click&vd_source=38da459a85d0e5af821493d42f18f5de