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

    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”即可获取下载链接。如有未添加的其他指标参数,请大家在留言中回复,后续会逐一添加!!!