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=1m(yiy^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=1m(yiy^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=1m(yihθ(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=m1i1myiy^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=1m(yiy^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=1SStotalSSresidual其中 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=1i(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 R21
  • 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=1nyiy^iyi y i y_i yi是真实值, y ^ i \hat y_i y^i表示预测值。
范围[0,+∞),MAPE 为0%表示完美模型,MAPE 大于 100 %则表示劣质模型。可以看到,MAPE跟MAE很像,就是多了个分母。

注意:当真实值有数据等于0时,存在分母0除问题,该公式不可用!

R语言在数据分析领域中非常流行,其中线性回归模型是常用的建模技术之一,用来预测一个因变量与若干个自变量之间的关系。线性回归模型可以通过lm()函数在R语言中进行建模,并且可以计算RMSE和R方的值。 LM函数是一种用于拟合线性回归模型的函数,其语法为:lm(formula, data, subset, weights, na.action, method = "qr")其中,formula是模型的公式;data是数据框或矩阵,表示用于建模的数据集;subset是用于筛选数据的选择符,weights是用于加权的向量;na.action是用于处理缺失值的方法;method是拟合线性模型的方法。 RMSE(Root Mean Squared Error)是对线性回归模型误差的度量,可以表示如下:RMSE = sqrt(mean((y - yhat)^2))其中,y是实际值,yhat是预测值。我们在R语言中通过求解RMSE来评估线性回归模型的预测精度。 R方值是一个常用的回归模型评估指标,可以表示为:R^2 = 1 - (SSres / SStot),其中SSres是残差平方和,SStot是总平方和。R方值的计算结果在0和1之间,表示我们的模型对原始数据的解释能力。 在R语言中,我们可以使用summary()函数来获取LM模型的详细概述,其中包括模型系数、标准误、置信区间、R方和调整R方等。我们还可以使用predict()函数来预测新的观测值,并计算出模型的RMSE和R方,以评估模型的准确性和预测能力。总之,R语言在计算LM模型的RMSE和R方时非常方便,并且还提供了丰富的模型诊断工具来检查模型的假设条件和预测表现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值