2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 灰色系统GM(1 1)模型预测实例

灰色系统GM(1 1)模型预测实例

时间:2021-09-24 05:55:49

相关推荐

灰色系统GM(1 1)模型预测实例

灰色系统

原理:采用累加和累减的方式,将灰色系统中的未知因素弱化,强化已知因素,通过数学方法确定方程中的参数,从而实现预测目的。

clearclcsyms a u;c=[a,u]';%构成矩阵A1=xlsread('wen1');%输入数据,可以修改A = A1( :,end)'Ago=cumsum(A);%原始数据一次累加,得到1-AGO序列xi(1)。n=length(A);%原始数据个数for k=1:(n-1)Z(k)=(Ago(k)+Ago(k+1))/2; %Z(i)为xi(1)的紧邻均值生成序列endYn =A;%Yn为常数项向量Yn(1)=[]; %从第二个数开始,即x(2),x(3)...Yn=Yn';E=[-Z;ones(1,n-1)]';%累加生成数据做均值c=(E'*E)\(E'*Yn);%利用公式求出a,uc= c';a=c(1);%得到a的值u=c(2);%得到u的值F=[];F(1)=A(1);for k=2:(n)F(k)=(A(1)-u/a)/exp(a*(k-1))+u/a;%求出GM(1,1)模型公式endG=[];G(1)=A(1);for k=2:(n)G(k)=F(k)-F(k-1);%两者做差还原原序列,得到预测数据end%figure 1subplot(2,1,1)hold ont1=1:n;t2=1:n;plot(t1,A,'bo--')hold on;plot(t2,G,'r*-') title('预测结果');legend('真实值','预测值');%后验差检验%figure 2subplot(2,1,2)hold one=A-G;plot(e)title('预测值与真实值误差')ylabel('误差')xlabel('时间')q=e/A;%相对误差s1=var(A);s2=var(e);c=s2/s1;%方差比len=length(e);p=0; %小误差概率for i=1:lenif(abs(e(i))<0.6745*s1)p=p+1;endendp=p/len在这里插入代码片

数据连接:/vXQfIuld

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。