灰色预测模型的MATLAB程序及检验程序
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
if(abs(e0(i)) < 0.6745*s1) p=p+1;
end end p=p/len; end
等级 I级 II 级 III 级 IV 级
相对误差 q <0.01 <0.05 <0.10 >0.20
方差比 C <0.35 <0.50 <0.65 >0.80
wenku.baidu.com
小误差概论 P >0.95 <0.80 <0.70 <0.60
灰色预测模型的 Matlab 程序及检验程序
%灰色预测模型程序 clear syms a b; c=[a b]'; A=[46.2 32.6 26.7 23.0 20.0 18.9 B=cumsum(A);%累加 n=length(A); for i=1:(n-1)
C(i)=(B(i)+B(i+1))/2; end %计算待定参数 D=A; D(1)=[]; D=D'; E=[-C; ones(1,n-1)]; c=inv(E*E')*E*D; c=c'; a=c(1); b=c(2); %预测 往后预测5个数据 F=[];F(1)=A(1); for i=2:(n+5)
%灰色预测模型检验程序 function [ q,c,p ] = checkgm( x0,x1 ) %GM 检验函数 %x0 原始序列 %x1 预测序列 %·返回值
% q –- 相对误差 % c -- ·方差比 % p -- 小误差概率 e0=x0-x1; q=e0/x0; s1=var(x0); %qpa=mean(e0); s2=var(e0); c=s2/s1; len=length(e0); p=0; for i=1:len
F(i)=(A(1)-b/a)/exp(a*(i-1))+b/a; end G=[];G(1)=A(1); for i=2:(n+5)
G(i)=F(i)-F(i-1); end t1=2002:2009; t2=2002:2014; G plot(t1,A,'o',t2,G)
17.5
16.3];% 原始序列
end end p=p/len; end
等级 I级 II 级 III 级 IV 级
相对误差 q <0.01 <0.05 <0.10 >0.20
方差比 C <0.35 <0.50 <0.65 >0.80
wenku.baidu.com
小误差概论 P >0.95 <0.80 <0.70 <0.60
灰色预测模型的 Matlab 程序及检验程序
%灰色预测模型程序 clear syms a b; c=[a b]'; A=[46.2 32.6 26.7 23.0 20.0 18.9 B=cumsum(A);%累加 n=length(A); for i=1:(n-1)
C(i)=(B(i)+B(i+1))/2; end %计算待定参数 D=A; D(1)=[]; D=D'; E=[-C; ones(1,n-1)]; c=inv(E*E')*E*D; c=c'; a=c(1); b=c(2); %预测 往后预测5个数据 F=[];F(1)=A(1); for i=2:(n+5)
%灰色预测模型检验程序 function [ q,c,p ] = checkgm( x0,x1 ) %GM 检验函数 %x0 原始序列 %x1 预测序列 %·返回值
% q –- 相对误差 % c -- ·方差比 % p -- 小误差概率 e0=x0-x1; q=e0/x0; s1=var(x0); %qpa=mean(e0); s2=var(e0); c=s2/s1; len=length(e0); p=0; for i=1:len
F(i)=(A(1)-b/a)/exp(a*(i-1))+b/a; end G=[];G(1)=A(1); for i=2:(n+5)
G(i)=F(i)-F(i-1); end t1=2002:2009; t2=2002:2014; G plot(t1,A,'o',t2,G)
17.5
16.3];% 原始序列