误差分析指标计算之matlab实现

2019-07-23 15:49:57 浏览数 (2)

LEAD

感谢关注matlab爱好者公众号!如果公众号文章对您有帮助,别忘了点击分享和“在看”哦!若您对公众号有什么意见或建议,请在公众号中回复或在任意文章底部留言!

本文作者:艾木樨

在拟合、插值、模拟预测等计算中,往往需要采用实际值与计算值之间差异来表征计算方法的可行性,常用的表征指标有残差平方和(SSE)、均方差(MSE)、均方根差(RMSE)、平均绝对误差(MAE)和决定系数R方(R-Squared)等等。

1、残差平方和 (SSE)

为计算值和实际值对应点之差的平方和,SSE越趋近于0,说明计算结果越好。

2、均方差 (MSE)

为计算值和实际值对应点之差的平方和再平均,即MSE=SSE/n,n为数据个数,表征意义与SSE类似。

3、均方根差 (RMSE)

为均方差(MSE)的开根号,即RMSE=MSE^0.5,表征意义与MSE类似。

4、平均绝对误差 (MAE)

为计算值与实际值的绝对值的平均,它可有效避免误差相互抵消,故可更加准确反映实际预测误差的大小。

5、决定系数R方 (R-Squared)

为回归平方和与总离差平方和之比值。当R-Squared越接近1时,表示计算值与实际值相关性越高;相反,越接近0时,相关性越低。

1至5中,对应参数为:

6、相关系数(COR)

为计算值与实际值协方差与两者方差乘积开根号的比值,用来两者之间的线性关系。

7、平均绝对百分误差 (MAPE)

为计算值与实际值的绝对值与实际值比值百分比的平均,MAPE值越小,说明计算值与实际值差别越小,计算结果越好。

8、希尔不等系数 (Theil)

一般介于0、1之间,数值越小表明计算值与真实值的差异越小,即计算结果精度越高。

demo.m示例程序如下:

代码语言:javascript复制
clc;clear;close all;
x = 0:0.2:3;
y = 0.58*x 0.2*rand(1,length(x));
lab = polyfit(x,y,1);
ny = lab(1)*x lab(2);
plot(x,y,'r.-',x,ny,'bo-');
legend('实际值','拟合值');
title('误差分析指标参数测试');
Re = calcE(ny,y);

效果图:

需要计算程序calcE.m以及其他相关文件的小伙伴请在公众号中回复“误差”、“err”或“R2”即可获取下载链接。如有未添加的其他指标参数,请大家在留言中回复,后续会逐一添加!!!

0 人点赞