MATLAB评价预测效果好坏
清风老师主讲的MATLAB入门教程学习笔记
假设真实值是向量 y=[y1,y2,…,yn]y=[y_1 ,y_2 ,\ldots,y_n ]y=[y1,y2,…,yn] ,拟和值或预测值是向量 y^=[y1^,y2^,…,yn^]\hat{y} =[\hat{y_1 } ,\hat{y_2 } ,\ldots,\hat{y_n } ]y^=[y1^,y2^,…,yn^]
y = [100 102 108 117 135 178 198 241 290 349];
y_hat = [93 108 118 117 141 170 196 249 296 359];
n = length(y);
1、SSE
误差(或残差)平方和(Sum of Squares due to Error)
SSE=∑i=1n(yi−yi^)2 SSE=\sum_{i=1}^n (y_i -\hat{y_i } )^2 SSE=i=1∑n(yi−yi^)2
SSE = sum((y - y_hat).^2)
SSE = 489
2、MSE
均方误差(Mean Square Error)
SSE=1n∑i=1n(yi−yi^)2 SSE=\frac{1}{n}\sum_{i=1}^n (y_i -\hat{y_i } )^2 SSE=n1i=1∑n(yi−yi^)2
MSE = SSE / n
MSE = 48.9000
3、RMSE
均方根误差(Root Mean Square Error),实际使用最多
它的量纲和原来数据的量纲相同
SSE=1n∑i=1n(yi−yi^)2 SSE=\sqrt{\frac{1}{n}\sum_{i=1}^n (y_i -\hat{y_i } )^2 } SSE=n1i=1∑n(yi−yi^)2
RMSE = sqrt(MSE)
RMSE = 6.9929
4、MAE
平均绝对误差(Mean Absolute Error)
它的量纲和原来数据的量纲相同
SSE=1n∑i=1n∣yi−yi^∣ SSE=\frac{1}{n}\sum_{i=1}^n |y_i -\hat{y_i } | SSE=n1i=1∑n∣yi−yi^∣
MAE = 1 / n * (sum(abs(y - y_hat)))
MAE = 6.3000
5、MAPE
平均绝对百分比误差(Mean Absolute Percentage Error)
该公式通常将值乘以100,以百分比显示
注意:当真实值中有0时,存在分母为0的情况,该公式
MAPE=1n∑i=1n∣yi−yi^yi∣ MAPE=\frac{1}{n}\sum_{i=1}^n \left|\frac{y_i -\hat{y_i } }{y_i }\right| MAPE=n1i=1∑nyiyi−yi^
MAPE = 1 / n * (sum(abs((y - y_hat) ./y)))
MAPE = 0.0403
将这个数乘以100,那么单位为%
MAPE = 1 / n * (sum(abs((y - y_hat) ./y))) * 100
MAPE = 4.0344
6、SMAPE
对称平均绝对百分比误差(Symmerric Mean Absolute Percentage Error)
他的范围是0%到200%,预测值和真实值完全吻合时等于0
KaTeX parse error: Unexpected end of input in a macro argument, expected '}' at end of input: …at{y_i } |)/2}
fz = abs(y - y_hat)
fz = 1x10
7 6 10 0 6 8 2 8 6 10
fm = (abs(y) + abs(y_hat))/2
fm = 1x10
96.5000 105.0000 113.0000 117.0000 138.0000 174.0000 197.0000 245.0000 293.0000 354.0000
MAPE = 1 / n * (sum(fz./fm)) * 100
MAPE = 3.9916
7、 R2R^2R2
决定系数、可决系数、R方、拟和优度(Coefficient of determination)
R2=1−∑i=1n(y−y^)2∑i=1n(y−yˉ)2 R^2 =1-\frac{\sum_{i=1}^n (y-\hat{y} )^2 }{\sum_{i=1}^n (y-\bar{y} )^2 } R2=1−∑i=1n(y−yˉ)2∑i=1n(y−y^)2
R2=∑i=1n(y^−yˉ)2∑i=1n(y−yˉ)2 R^2 =\frac{\sum_{i=1}^n (\hat{y} -\bar{y} )^2 }{\sum_{i=1}^n (y-\bar{y} )^2 } R2=∑i=1n(y−yˉ)2∑i=1n(y^−yˉ)2
式中 yˉ\bar{y}yˉ 是 yyy 的均值
如果使用的是非线性回归模型,那么R方只能使用第一种计算方法!且此时R方的范围是 (−∞,1](-\infty ,1](−∞,1]
线性回归中,两种方法算出来的R方一定相等
fz = sum((y - y_hat).^2)
fz = 489
fm = sum((y - mean(y)).^2)
fm = 6.8340e+04
R2 = 1- fz/fm
R2 = 0.9928
约接近1,预测效果越好
1万+

被折叠的 条评论
为什么被折叠?



