当前位置:   article > 正文

MATLAB知识点: SSE: 误差平方和、 MSE: 均方误差、RMSE: 均方根误差、MAE: 平均绝对误差、MAPE: 平均绝对百分比误差、SMAPE: 对称平均绝对百分比误差、R方: 决定系数_matlab计算误差平方和

matlab计算误差平方和

​讲解视频:可以在bilibili搜索《MATLAB教程新手入门篇——数学建模清风主讲》。​

MATLAB教程新手入门篇(数学建模清风主讲,适合零基础同学观看)_哔哩哔哩_bilibili


节选自第3章 3.4.2 算术运算

学完了矩阵的算术运算后,我们来做一些练习。

计算用来评价预测效果好坏的一些指标

假设真实值是向量 y=\left[ y_1,y_2,\cdots ,y_n \right],拟合值或预测值是向量\hat{y}=\left[ \hat{y}_1,\hat{y}_2,\cdots ,\hat{y}_n \right]

  1. % 例如我们举一个n为10的例子
  2. y = [100 102 108 117 135 178 198 241 290 349];
  3. y_hat = [93 108 118 117 141 170 196 249 296 359];
  4. n = length(y); % 10

  SSE: 误差(或残差)平方和(Sum of Squares due to Error)

SSE\,\,=\,\,\sum_{i=1}^n{\left( y_i-\hat{y}_i \right) ^2}

范围[0,+∞),当预测值与真实值完全吻合时等于0。误差越大,该值越大。

它的量纲是原来数据量纲的平方。

SSE = sum( (y-y_hat).^2 )  % 489

 MSE: 均方误差(Mean Square Error)

MSE\,\,=\,\,\frac{1}{n}\sum_{i=1}^n{\left( y_i-\hat{y}_i \right) ^2}        

就是SSE除了一个n

范围[0,+∞),当预测值与真实值完全吻合时等于0。误差越大,该值越大。

它的量纲是原来数据量纲的平方。       

MSE = 1/n*(sum( (y-y_hat).^2 )) % 48.9

RMSE: 均方根误差(Root Mean Square Error)

RMSE\,\,=\,\,\sqrt{\frac{1}{n}\sum_{i=1}^n{\left( y_i-\hat{y}_i \right) ^2}}

就是MSE加了个根号

范围[0,+∞),当预测值与真实值完全吻合时等于0。误差越大,该值越大。

它的量纲和原来数据的量纲相同。

RMSE = sqrt( 1/n*(sum((y-y_hat).^2)) ) % 6.9929

  

MAE: 平均绝对误差(Mean Absolute Error)

MAE\,\,=\,\,\frac{1}{n}\sum_{i=1}^n{\left| y_i-\hat{y}_i \right|}

范围[0,+∞),当预测值与真实值完全吻合时等于0。误差越大,该值越大。

它的量纲和原来数据的量纲相同。

​​​​​MAE = 1/n*( sum( abs(y-y_hat) ) ) % 6.3

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

MAPE\,\,=\,\,\frac{1}{n}\sum_{i=1}^n{\left| \frac{y_i-\hat{y}_i}{y_i} \right|}

范围[0,+∞),当预测值与真实值完全吻合时等于0。

可以看到,MAPE跟MAE很像,就是多了个分母。

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

  1. fz = y-y_hat; % 分子
  2. MAPE = 1/n*(sum(abs(fz ./ y))) % 0.0403

SMAPE: 对称平均绝对百分比误差(Symmetric Mean Absolute Percentage Error)

SMAPE\,\,=\,\,\frac{100\%}{n}\sum_{i=1}^n{\frac{\left| y_i-\hat{y}_i \right|}{\left( \left| y_i \right|+\left| \hat{y}_i \right| \right) /2}}

它的范围是0%到200%,当预测值与真实值完全吻合时等于0。

注:有些地方定义的SMAPE的分母没有加绝对值,这时候SMAPE可能为负数。

  1. fz = abs(y-y_hat); % 分子
  2. fm = (abs(y)+abs(y_hat))/2; % 分母
  3. SMAPE = 1/n*(sum(fz./ fm )) % 0.0399

​​​​​​​R方: 决定系数(Coefficient of determination)

  1. fz = sum((y - y_hat).^2); % 分子
  2. fm = sum((y - mean(y)).^2); % 分母
  3. R2 = 1 - fz/fm % 0.9928

​​​​​​​R方: 决定系数的拓展:

R^2:决定系数、可决系数、R方、拟合优度(Coefficient of determination)

注意:如果使用的是线性回归模型,那么下面两种计算R方的公式都可以使用,且此时R方的范围是[0,1]

R^2=1-\frac{\sum{\left( y-\hat{y} \right) ^2}}{\sum{\left( y-\bar{y} \right) ^2}} \\ R^2=\frac{\sum{\left( \hat{y}-\bar{y} \right) ^2}}{\sum{\left( y-\bar{y} \right) ^2}} \\

式中\bar{y}是y的均值

如果使用的是非线性回归模型,那么R方使用的是第一种定义方法!

且此时R方的范围是(-∞,1].

(线性回归中,两种方法算出来的R方一定相等。非线性回归中只能使用第一种方法计算,第二种算出来的结果是错的!)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/609728
推荐阅读
相关标签
  

闽ICP备14008679号