资源描述:
《灰色预测模型的matlab运行代码(讲解)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、灰色预测模型GM(1,1)的matlab运行代码例由1990—2001年中国蔬菜产量,建立模型预测2002年中国蔬菜产量,并对预测结果作检验。分析建模:给定原始时间1990—2001年资料序列X(k),对X(k)生成1-AGO(累加)序列X(k)及Y。见下表K123456789101112X19519,19578,19637,19695,16602,25723,30379,34473,38485,40514,42400,48337X19519,39097,58734,…………………………………………264605,307005,355342Y-----1957819637…
2、………………………………………405144240048337其中X(k)=;Y=对上述X(k)的GM(1,1),得到将B和Y代入辨识算式,有:得灰色GM(1,1)模型为(1)灰微分方程X(k)-0.1062105Z(k)=13999.9(2)白化方程(3)白化方程的时间响应式(4)还原为原始数据预测方程:,即(5)残差检验:残差error1=e1=,这里残差有12个。相对残差error2=e2=,这里相对残差有12个。(6)后验差检验:C=,其中,S1为绝对误差序列的标准差。,S2为原始数据系列标准差,,C<0.35好;C<0.5合格;C>0.6不合格。利用matlab做
3、求解a,b,B,并作残差分析>>x0=[19519,19578,19637,19695,16602,25723,30379,34473,38485,40514,42400,48337];>>formatlong;(表示设计精度)>>n=length(x0);(输入数据长度)>>x1=[];(表示x1是一矩阵)>>x1(1)=x0(1);>>fori=2:n;x1(i)=x1(i-1)+x0(i);end>>fori=1:n-1;B(i,1)=-0.5*(x1(i)+x1(i+1));(矩阵B的第一列)B(i,2)=1;(矩阵B的第二列)Y(i)=x0(i+1);(表示Yn
4、数据)end>>alpha=(B'*B)^(-1)*B'*Y';>>a=alpha(1,1);>>b=alpha(2,1);>>d=b/a;(计算时间响应函数参数)>>c=x1(1)-d;>>x2(1)=x0(1);>>x(1)=x0(1);>>fori=1:n-1;x2(i+1)=c*exp(-a*i)+d;(这里x2(i+1)相当上面所讲的)x(i+1)=x2(i+1)-x2(i);(这里x(i+1)相当原来输入数据的预测数据)end>>fori=2:12;x2(i)=c*exp(-a*(i-1))+d;(对上面刚引出的x2(i)进行说明及计算)x(i)=x2(i)-
5、x2(i-1);end>>fori=1:n;error(i)=x(i)-x0(i);(残差)error1(i)=abs(error(i));(计算残差,abs表示绝对值)error2(i)=error1(i)/x0(i);(计算相对误差)end>>C=std(error1)/std(x0);(计算后验差检验数,std表示标准差)>>k=1;(k表示预测长度,这里每次预测下一年)a=-0.106210475032772>>bb=1.399996741173038e+04BB=1.0e+05*-0.2930800000000000.000010000000000-0.4891
6、550000000000.000010000000000-0.6858150000000000.000010000000000-0.8673000000000000.000010000000000-1.0789250000000000.000010000000000-1.3594350000000000.000010000000000-1.6836950000000000.000010000000000-2.0484850000000000.000010000000000-2.4434800000000000.000010000000000-2.8580500000000
7、000.000010000000000-3.3117350000000000.000010000000000>>C(求后检验数)C=0.163969348419772>>x(原始数据的对应的预测数据,这里也是12个)x=1.0e+04*Columns1through31.9519000000000001.6957693858307821.885790370699694Columns4through62.0971043303046062.3320972683461912.593422554345592Columns7throug