回归类模型评估指标选择、局限、优势

  在回归类算法中,有两种不同的角度评估回归的效果:

  • 是否预测到了正确的数值
  • 是否拟合到了足够的信息

一、 是否预测到了正确的数值

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=1m(yiy^)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=1m(yiyi^)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=1m(yiyi^)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=1mlog(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=1myiˉ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=100m1i=1myiyiˉ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=1i=1n(yiyiˉ)2i=1n(yiyi^)2=1SSTSSR=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(yiyiˉ)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(yiyi^)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=1n(yiyiˉ)2=i=1n(yiy^i+y^iyˉi)2=i=1n(yiyi^)2+i=1n(yi^yiˉ)2+2i=0m(yiy^i)(y^iyˉi)=SSR+SSE+2i=0m(yiy^i)(y^iyˉ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时 2i=0m(yiy^i)(y^iyˉ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) (yiy^i)(y^iyˉ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(yiyi^)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(yiyi^)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(yiyi^)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=1SSTSSEn<Rn+12=1SSTSSEn+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(1R2)mn1m1=1SST/(m1)SSR/(mn1)

  其中n为变量个数,m为样本个数。

  特点

  • R α 2 ≤ R 2 R^2_\alpha ≤ R^2 Rα2R2
  • 当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

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值