十分钟掌握回归算法的评估指标

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 什么是回归算法?回归算法就是对历史数据进行拟合,形成拟合方程。接下来使用该方程对新数据进行预测。如果是一元数据的拟合方程,则拟合一条线,如果数据是二元数据,那么它的拟合方程就是一个拟合平面,对于更高维的数据,它的拟合方程将更加复杂。

什么是回归算法?


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


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


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


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


平均绝对值误差(MAE)

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

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

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

均方误差(MSE)

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

MSE(y,y^)=1m∑i=1m(yi−f(xi))2MSE(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)

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

RMSE(y,y^)=1m∑i=1m(yi−f(xi))2RMSE(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计算平方对数误差或损失的期望。

MSLE(y,y^)=1nsamples∑i=0nsample−1(log⁡e(1+yi)−log⁡e(1+y^i))2MSLE(y, \hat {y}) = \frac {1} {n_{samples} } \sum_{i=0}^{n_{sample}-1}(\log_e(1+y_i)-\log_e(1+ \hat y_i))^2MSLE(y,y^)=nsamples1i=0nsample1(loge(1+yi)loge(1+y^i))2

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

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

MAPE(y,y^)=1nsamples∑i=0nsample−1∣yi−y^i∣max(ϵ,∣yi∣)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)

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

MedAE(y,y^)=medain(∣y1−y^1∣,...,∣yn−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)是指一个分布压缩和拉伸的程度。

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

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

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

explainedvariance(y,y^)=1−Var{y−y^}Var{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=

explainedvariance(y,y^)=1−1n∑i=1n(zi−z‾i)21n∑i=1n(yi−y‾)2explained_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 yz=yy^)。

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

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

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

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

其公式为:

R2(y,y^)=1−∑i=1n(yi−y^i)2∑i=1n(yi−y‾)2=1−1n∑i=1n(yi−y^i)21n∑i=1n(yi−y‾)2=1−MSEVarR^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

其中,y‾\overline y yyyy的平均值,分子部分表示真实值与预测值的平方差之和,类似于均方误差 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 yy,可以估算模型对不同数量级样例的拟合程度。比如,MAE远大于 MAPE∗y‾ MAPE * \overline yMAPEy ,则可能是模型对真实值小的样本预测更准。可以考虑为不同数量级的样本建立不同的模型。


相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
相关文章
|
7月前
|
机器学习/深度学习 数据采集 人工智能
机器学习基础知识——基本原理、常用算法与评估指标
机器学习基础知识——基本原理、常用算法与评估指标
130 0
|
3月前
|
算法
基于最小二乘正弦拟合算法的信号校正matlab仿真,校正幅度,频率以及时钟误差,输出SNDR,SFDR,ENOB指标
基于最小二乘正弦拟合算法的信号校正matlab仿真,校正幅度,频率以及时钟误差,输出SNDR,SFDR,ENOB指标
|
机器学习/深度学习 人工智能 算法
一文让你了解AI产品的测试 评价人工智能算法模型的几个重要指标
一文让你了解AI产品的测试 评价人工智能算法模型的几个重要指标
884 0
一文让你了解AI产品的测试 评价人工智能算法模型的几个重要指标
|
5月前
|
机器学习/深度学习 算法 数据挖掘
【数据挖掘】关联模式评估方法及Apriori算法超市购物应用实战(超详细 附源码)
【数据挖掘】关联模式评估方法及Apriori算法超市购物应用实战(超详细 附源码)
55 0
|
8月前
|
机器学习/深度学习 算法
评估系统或算法质量的重要指标
准确性(Accuracy):衡量系统或算法输出结果与真实结果之间的接近程度。通常使用分类准确率、回归误差等指标来评估。 精确率(Precision)和召回率(Recall):主要用于评估分类模型的性能。精确率衡量预测为正例的样本中实际为正例的比例,召回率衡量实际为正例的样本中被正确预测为正例的比例。
160 4
|
9月前
|
机器学习/深度学习 算法
回归预测 | MATLAB实现BES-LSSVM秃鹰搜索算法优化最小二乘支持向量机多输入单输出回归预测(多指标,多图)
回归预测 | MATLAB实现BES-LSSVM秃鹰搜索算法优化最小二乘支持向量机多输入单输出回归预测(多指标,多图)
|
9月前
|
算法
回归预测 | MATLAB实现TSO-ELM金枪鱼群优化算法优化极限学习机多输入单输出回归预测(多指标,多图)
回归预测 | MATLAB实现TSO-ELM金枪鱼群优化算法优化极限学习机多输入单输出回归预测(多指标,多图)
|
9月前
|
算法
回归预测 | MATLAB实现SA-ELM模拟退火算法优化极限学习机多输入单输出回归预测(多指标,多图)
回归预测 | MATLAB实现SA-ELM模拟退火算法优化极限学习机多输入单输出回归预测(多指标,多图)
|
10月前
|
机器学习/深度学习 算法
【数字预失真(DPD)】静态DPD设计扩展为自适应设计及评估两种自适应DPD设计:基于(最小均方)LMS算法、使用递归预测误差方法(RPEM)算法研究(Matlab&Simulink实现)
【数字预失真(DPD)】静态DPD设计扩展为自适应设计及评估两种自适应DPD设计:基于(最小均方)LMS算法、使用递归预测误差方法(RPEM)算法研究(Matlab&Simulink实现)
|
10月前
|
机器学习/深度学习 算法
【MATLAB第42期】基于MATLAB的贝叶斯优化决策树分类算法与网格搜索、随机搜索对比,含对机器学习模型的评估度量介绍
【MATLAB第42期】基于MATLAB的贝叶斯优化决策树分类算法与网格搜索、随机搜索对比,含对机器学习模型的评估度量介绍