什么是回归算法?

回归算法就是对历史数据进行拟合,形成拟合方程。接下来使用该方程对新数据进行预测。如果是一元数据的拟合方程,则拟合一条线,如果数据是二元数据,那么它的拟合方程就是一个拟合平面,对于更高维的数据,它的拟合方程将更加复杂。

什么是回归算法的评估指标?

对于回归算法,我们评价它的好坏,就是看它的预测结果与我们的真实结果的差异大小。在回归算法中,我们最常用的评估指标有:平均绝对值误差,均方误差,均方根误差,可决系数等。

常见的回归算法的评估指标

平均绝对值误差(MAE)

均绝对值误差就是计算每一个样本的预测值和真实值的差的绝对值,然后求和再取平均值。
其公式为:

M A E ( y , y ^ ) = 1 m ∑ i = 1 m ( ∣ y i − f ( x i ) ∣ ) MAE(y, \hat {y}) = \frac{1}{m} \sum_{i=1}^m{(|y_i - f(x_i)|)} MAE(y,y^)=m1i=1m(yif(xi))

其中, y i y_i yi为真实值, f ( x i ) 和 y ^ f(x_i)和\hat {y} f(xi)y^为模型的预测值。

均方误差(MSE)

均方误差就是计算每一个样本的预测值与真实值差的平方,然后求和再取平均值。
其公式为:

M S E ( y , y ^ ) = 1 m ∑ i = 1 m ( y i − f ( x i ) ) 2 MSE(y, \hat {y}) = \frac{1}{m} \sum_{i=1}^m{(y_i - f(x_i))^2} MSE(y,y^)=m1i=1m(yif(xi))2

均方根误差(RMSE)

均方根误差就是在均方误差的基础上再开方。
其公式为:

R M S E ( y , y ^ ) = 1 m ∑ i = 1 m ( y i − f ( x i ) ) 2 RMSE(y, \hat {y}) = \sqrt {\frac{1}{m} \sum_{i=1}^m{(y_i - f(x_i))^2}} RMSE(y,y^)=m1i=1m(yif(xi))2

均值平方对数误差(MSLE, Mean Squared Logarithmic Error)

MSLE计算平方对数误差或损失的期望。

M S L E ( y , y ^ ) = 1 n s a m p l e s ∑ i = 0 n s a m p l e − 1 ( log ⁡ e ( 1 + y i ) − log ⁡ e ( 1 + y ^ i ) ) 2 MSLE(y, \hat {y}) = \frac {1} {n_{samples} } \sum_{i=0}^{n_{sample}-1}(\log_e(1+y_i)-\log_e(1+ \hat y_i))^2 MSLE(y,y^)=nsamples1i=0nsample1(loge(1+yi)loge(1+y^i))2

平均绝对百分比误差(MAPE, Mean Absolute Percentage Error)

MAPE是计算对相对误差损失的预期。所谓相对误差,就是绝对误差和真值的百分比

M A P E ( y , y ^ ) = 1 n s a m p l e s ∑ i = 0 n s a m p l e − 1 ∣ y i − y ^ i ∣ m a x ( ϵ , ∣ y i ∣ ) MAPE(y, \hat {y}) = \frac {1} {n_{samples} } \sum_{i=0}^{n_{sample}-1} \frac {|y_i- \hat y_i|}{max(\epsilon, |y_i|)} MAPE(y,y^)=nsamples1i=0nsample1max(ϵ,yi)yiy^i

其中 ϵ \epsilon ϵ是一个任意小的正数,以避免当 y 为零时,分母为零,出现未定义的结果。

中位数绝对误差(Median Absolute Error)

中位数绝对误差非常有趣,因为它可以减弱异常值的影响。 通过取目标和预测之间的所有绝对差值的中值来计算损失。

M e d A E ( y , y ^ ) = m e d a i n ( ∣ y 1 − y ^ 1 ∣ , . . . , ∣ y n − y ^ n ∣ ) MedAE(y, \hat {y}) = medain(|y_1- \hat y_1|,...,|y_n- \hat y_n|) MedAE(y,y^)=medain(y1y^1,...,yny^n)

可解释变异(Explained variance)

可解释变异在统计学中是指给定数据中的变异能被数学模型所解释的部分。通常会用方差来量化变异,故又称为可解释方差

备注:

变异又可理解为离散程度。

在统计学里,离散程度dispersion)是指一个分布压缩和拉伸的程度。

离散程度主要有[方差]、[标准差]和[四分位距]等。

离散程度与位置或者[集中趋势]相对。

可解释方差指标衡量的是所有预测值和样本之间的差的分散程度与样本本身的分散程度的相近程度。本身是分散程度的对比。

e x p l a i n e d v a r i a n c e ( y , y ^ ) = 1 − V a r { y − y ^ } V a r { y } = 1 − 样 本 值 与 预 测 值 之 差 的 方 差 样 本 方 差 = explained_variance(y, \hat {y}) = 1- \frac {Var \{y- \hat y \}} { Var \{y\}}=1- \frac {样本值与预测值之差的方差} {样本方差} = explainedvariance(y,y^)=1Var{y}Var{yy^}=1=

e x p l a i n e d v a r i a n c e ( y , y ^ ) = 1 − 1 n ∑ i = 1 n ( z i − z ‾ i ) 2 1 n ∑ i = 1 n ( y i − y ‾ ) 2 explained_variance(y, \hat {y}) = 1 - \frac { \frac {1} {n} \sum_{i=1}^n {(z_i - \overline z_i)^2}} { \frac {1} {n} \sum_{i=1}^n{(y_i-\overline y)^2}} explainedvariance(y,y^)=1n1i=1n(yiy)2n1i=1n(zizi)2
其中,z为样本值与预测值之差( z = y − y ^ z=y- \hat y z=yy^)。

值最大为1,越接近1越好,值越大表示预测和样本值的分散分布程度越相近,值越低越差。

决定系数R^2(R-Squared)

决定系数 R 2 R^2 R2 用于度量因变量的变异中可由自变量解释部分所占的比例,以此来判断统计模型的解释力。它将已解释的方差除以总方差,代表了总方差被预测变量所解释或决定的比率

决定系数 R 2 R^2 R2的值为0~1之间的值, R 2 R^2 R2越接近于1,说明模型的效果越好,越接近于0,说明的模型效果越差,当然 R 2 R^2 R2也存在负值,此时说明模型的效果非常的差。

其公式为:

R 2 ( y , y ^ ) = 1 − ∑ i = 1 n ( y i − y ^ i ) 2 ∑ i = 1 n ( y i − y ‾ ) 2 = 1 − 1 n ∑ i = 1 n ( y i − y ^ i ) 2 1 n ∑ i = 1 n ( y i − y ‾ ) 2 = 1 − M S E V a r R^2(y, \hat {y}) = 1 - \frac { \sum_{i=1}^n { (y_i - \hat y_i)^2 } }{ \sum_{i=1}^n{(y_i-\overline y)^2}} =1 - \frac { \frac {1} {n} \sum_{i=1}^n { (y_i - \hat y_i)^2 } }{ \frac {1} {n} \sum_{i=1}^n{(y_i-\overline y)^2}} = 1 - \frac {MSE} {Var} R2(y,y^)=1i=1n(yiy)2i=1n(yiy^i)2=1n1i=1n(yiy)2n1i=1n(yiy^i)2=1VarMSE

其中,$\overline y 为 为 y$的平均值,分子部分表示真实值与预测值的平方差之和,类似于均方误差 MSE;分母部分表示真实值与均值的平方差之和,类似于方差 Var。

各个评价指标的对比和使用

以上提到的度量,除了R Squared,都是越小越好。
使用哪种取决于目标,多种度量综合考虑则允许我们更深入的分析模型。

针对单个指标使用的情况

  • MAE和MedAE基于绝对误差,如果看重真实值和预测值的绝对误差,则选用MAE或MedAE,两者分别是误差的均值和中位数。MAE对极端值比较敏感
  • 如果看重真实值和预测值的差的平方,则选用MSE或RMSE。
  • 如果存在不同样本的真实值有量级差或者更加关注预测和真实值的百分比差异的情况,最好选用MAPE.
  • 如果y具有随着x进行指数变动的趋势时,适合用MSLE。
  • 如果模型希望的是找到能够解释目标y变动的因变量,则选用R Squared更合适。

针对多个指标配合使用的情况

  • MAE和RMSE一起使用,可以看出样本误差的离散程度。比如RMSE远大于MAE时,可以得知不同样例的误差差别很大。
  • MAE和MAPE一起使用,再结合 y ‾ \overline y y,可以估算模型对不同数量级样例的拟合程度。比如,MAE远大于 $ MAPE * \overline y$ ,则可能是模型对真实值小的样本预测更准。可以考虑为不同数量级的样本建立不同的模型。