灰色预测

来源:互联网 发布:mac分屏 编辑:程序博客网 时间:2024/04/26 13:51

灰色预测的事例:

第一步 级比检验

建立交通噪声平均声数据时间序列如下:

  1. 求级比

  1. 级比判断

    ①由于所有的故可以用做满意的GM(1,1)建模。

    对原始数据做一次叠加,即

    ②构造数据矩阵B及数据向量Y

    ③计算

 

        于是得到

④建立模型

求解得

⑤求生成数列值及模型还原值

令k=1,2,3,4,5,6.由上面的时间响应函数可得其中取

取k=2,3,4,5,6,7

 

 

 

级比偏差


clc,clearx1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.35,9.39 10.59 10.94 10.44];% x1=[15021.8418366.8721900.1925776.9130933.2833896.6539169.9245361.8550013.2448655230.3259426.59];n=length(x1);nian=1990:2003;plot(nian,x1,'o-');x0=diff(x1);x0=[x1(1),x0]for i=2:nz1(i)=0.5*(x1(i)+x1(i-1));endz1B=[-z1(2:end)',z1(2:end)'.^2]Y=x0(2:end)'abhat=B\Y %估计参数 a,b 的值x=dsolve('Dx+a*x=b*x^2','x(0)=x0'); %求解常微分方程x=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)}); %代入参数值yuce=subs(x,'t',0:14) %计算预测值yuce=double(yuce);%转化为double型%计算预测值digits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测值之后,或者不使用该语句yuce(16)=yuce(15);x1_all=[x1,9.92,10.71];epsilon=x1_all-yuce %计算残差delta=abs(epsilon./x1_all) %计算相对误差delta_mean=mean(delta) %计算平均相对误差x1_all_0=x1_all-x1_all(1); %数据列的始点零化像yuce_0=yuce-yuce(1); %数据列的始点零化像s0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));s1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));tt=yuce_0-x1_all_0;s1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));absdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度c=std(epsilon,1)/std(x1_all,1) %计算标准差比值