基本信息
源码名称:GM(1,1)及二次残差修正
源码大小:2.31KB
文件格式:.zip
开发语言:MATLAB
更新时间:2021-06-26
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):78630559
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
%计算残差序列
epsilon =A - H;
disp(['残差为:',num2str(epsilon(1:n))]);
%法一:相对残差Q检验
%计算相对误差序列
delta = abs(epsilon./A);
disp(['相对残差为:',num2str(delta(1:n))]);
%计算相对误差Q
disp(['相对残差ς检验:ς=',num2str(mean(delta).*100),'%']);
%二:方差比C检验
C = std(epsilon, 0)/std(A, 0);
disp(['方差比检验:C=',num2str(mean(C))]);
if C<0.35
disp('精度等级:一级 ');
else if (0.35<=C)&&(C<0.5)
disp('精度等级:二级');
else if (0.5<=C)&&(C<0.65)
disp('精度等级:三级');
else
disp('精度等级:四级');
end
end
end
%三:小误差概率P检验
S1 = std(A, 1);
tmp = find(abs(epsilon - mean(epsilon))< 0.6745 * S1);
P = length(tmp)/n;
disp(['小误差概率检验:P=',num2str(mean(P))]);
if P>0.95
disp('精度等级:一级 ');
else if P>0.8
disp('精度等级:二级');
else if P>0.7
disp('精度等级:三级');
else
disp('精度等级:四级');
end
end
end
for i=1:n
Q(i)=epsilon(i) 2.*88448.8916;
end
disp(['正化后的序列 Q :',num2str(Q(1:n))]);
disp('取最后十个数重新建模,进行残差一次修正;');