GM(1,1)预测模型的MATLAB程序求助,急!!!
GM(1,1)灰色模型的程序实现function GM1=fungry1(x0) %输入原始数据x0T=input('T=');%从键盘输入从最后一个历史数据算起的第T时点
x1=zeros(1,length(x0));B=zeros(length(x0)-1,2);
yn=zeros(length(x0)-1,1);Hatx0=zeros(1,length(x0)+T);
Hatx00=zeros(1,length(x0));Hatx1=zeros(1,length(x0)+T);
epsilon=zeros(length(x0),1);omega=zeros(length(x0),1);
for i=1:length(x0)
for j=1:i
x1(i)=x1(i)+x0(j);
end
end
for i=1:length(x0)-1
B(i,1)=(-1/2)*(x1(i)+x1(i+1));
B(i,2)=1;
yn(i)=x0(i+1);
end
HatA=(inv(B'*B))*B'*yn % GM(1,1)模型参数估计
for k=1:length(x0)+T
Hatx1(k)=(x0(1)-HatA(2)/HatA(1))*exp(-HatA(1)*(k-1))+HatA(2)/HatA(1);
end
Hatx0(1)=Hatx1(1);
for k=2:length(x0)+T
Hatx0(k)=Hatx1(k)-Hatx1(k-1);%累计还原得到历史数据的模拟值
end
for i=1:length(x0) %开始模型检验
epsilon(i)=x0(i)-Hatx0(i);
omega(i)=(epsilon(i)/x0(i))*100;
end
% x0;Hatx0;epsilon;omega; %必要时去掉%得到各种数据
c=std(epsilon)/std(x0);p=0;
for i=1:length(x0)
if abs(epsilon(i)-mean(epsilon))<0.6745*std(x0)
p=p+1;
end
end
p=p/length(x0)
if p>0.95 & c<0.35
disp('The model is good,and the forecast is:'),
disp(Hatx0(length(x0)+T))
elseif p>0.85 & c<0.5
disp('The model is eligibility,and the forecast is:'),
disp(Hatx0(length(x0)+T))
elseif p>0.7 & c>0.65
disp('The model is not good,and the forecast is:'),
disp(Hatx0(length(x0)+T))
else p<=0.7 & c>0.65
disp('The model is bad and try again')
end
for i=1:length(x0)
Hatx00(i)=Hatx0(i);
end
z=1:length(x0);
plot(z,x0,'-',z,Hatx00,':') %将原始数据和模拟值画在一个图上帮助观察
text(2,x0(2),'History data: real line')
text(length(x0)/2,Hatx00(length(x0))/2,'Simulation data:broken line')
endT=input('T=');%从键盘输入从最后一个历史数据算起的第T时点????是指什么啊,请大哥们,大姐们教一下,我急用,请快,谢谢我的初始值x0=[1.620938526
0.07925621
0.052318818
0.041252502
0.021800479
0.053132975
0.089908836
0.109153219
0.079331832
0.342192598
0.099718142
0.135194823
0.109274037
0.08152013
0.067876355
0.064706843
0.055562197
0.050848544
]'; 楼主莫急.. a= -0.0080
u= 0.0713
预测值
1.6209 0.0846 0.0853 0.0859 0.0866 0.0873
0.0880 0.0887 0.0895 0.0902 0.0909 0.0916
0.0924 0.0931 0.0938 0.0946 0.0954 0.0961
初始值
1.6209 0.0793 0.0523 0.0413 0.0218 0.0531
0.0899 0.1092 0.0793 0.3422 0.0997 0.1352
0.1093 0.0815 0.0679 0.0647 0.0556 0.0508
残差
0 -0.0053 -0.0329 -0.0447 -0.0648 -0.0342
0.0019 0.0204 -0.0101 0.2520 0.0088 0.0436
0.0169 -0.0116 -0.0260 -0.0299 -0.0398 -0.0453
相对误差
0 0.0672 0.6297 1.0835 2.9741 0.6437
0.0209 0.1870 0.1276 0.7365 0.0885 0.3223
0.1548 0.1420 0.3826 0.4619 0.7162 0.8903
方差比
0.1869
p =
1 这个图片我不会发,真难为情 不好意思,不会啊!帮不上忙啊 很好啊!!顶顶!:victory: 不懂。。。。。。。。。。。。。。 不懂啊,楼主~不好意思是哈
页:
[1]