您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 电气安装工程 > 灰色理论基础(自己总结)
灰色理论在灰色理论中,通常用GM(n,m)来表示灰色模型,其中,n为差分次数,m为变量的个数。对于沉降的预测,工程研究人员一般采用GM(1,1)来进行预测。等时距GM(1,1)模型等时距GM(1,1)模型是最常用的一种灰色预测模型,也是非等时距GM(1,1)模型的建模基础。设观测到的原始等时距数据序列为:[0](0)(0)(0)(0)(1),(2),,(),,()Xxxxkxn其中,(0)()xk为kt时刻对应的初始数值,时间步长1iittc为常数,1,2,3in。对[0]X中的数据经过一次累加(1-AGO)运算,得到光滑的生成数列:[1](1)(1)(1)(1)(1),(2),,(),,()Xxxxkxn其中,(1)(0)1()()kkiixtxt,1,2,3kn。[1]X的均值数据序列[1]Z可以表示为:[1](1)(1)(1)(1)(1),(2),,(),,(1)Zzzzkzn其中,(1)(1)(1)()1/2()(1)zkxkxk。(1)()xk的GM(1,1)模型白化形式的微分方程可表示为:(1)(1)()(),[0,)dxtaxtbtdt(1)其中,a,b为待定参数,可以由式(1)离散化后求得,式(1)在区间[,1]kk离散后的方程为:(0)(1)(1)()xkazkb(2)离散的过程:式(1)在区间[,1]kk上积分,有:111(1)(1)()()kkkkkkdxtaxtdtbdt1(1)(1)(1)(0)()(1)()(1)kkdxtxkxkxk1(1)(1)(1)(1)1()[(1)()]()2kkxtdtxkxkzk所以,式(1)离散后的方程为式(2)。利用最小二乘法可以从式(2)中求得参数a和b:(0)(1)(0)(1)(1)()(1)=-()xkazkbxkazkbYBa式中,(1)(0)(1)(0)(1)(0)(1),1(2)(2),1(3),Y=,,1(1),1()zxazxBabznxn所以,1()TTaaBBBYb。把求得的参数代入式(1)中,可以得到白化方程的解为:(1)1()/atxtceba当t=1时,(1)(1)(0)(1)(1)(1)()=(1)(1)()=((1)/)/atxtxxxtxbaeba所以GM(1,1)模型的时间相应数据序列为:(1)(0)(1)=((1)/)/akxkxbaeba,k=1,2,3….n。还原到初始数据为:(0)(1)(1)(0)(1)=(1)()(1)[(1)/]aakxkxkxkexbae,k=1,2,3….n。预测精度分析及检验根据GM(1,1)模型计算得到的预测值是否可靠,必须通过一定的检验手段和评价标准进行验证,常采用关联度分析或后验差检验来保证预测的可靠性,这里主要介绍后一种检验方法。后验差检验方法是根据残差的均方差2S和原始数据的均方差1S的比值来判断的。原始数据序列为(0)()xk,预测数据序列为(0)()xk,其残差为:(0)(0)()()()kxkxk^^(0)2(0)11111[()]()1nnkkSxkxxxknn^^221111[()]()1nnkkSkknn后残差比值为21/CSS小误差概率为:^1()0.6745pPkS模型预测精度指标预测精度好合格勉强不合格P0.950.95~0.800.80~0.700.7C0.350.35~0.500.50~0.650.65对[1]X可以建立GM(1,1)模型的条件:光滑比:(0)(1)()()/(1)kxkxk级比:(1)(1)()()/(1)kxkxk当[1]3()0.5()()(1,1.5]kkkX,说明原始数据光滑,(说明满足准指数规律),可以对[1]X可以建立GM(1,1)。非等时距GM(1,1)模型当时间步长1iittc(常数)时,原始数据序列为非等时距数据序列,在实际工程中得到的原始数据往往属于这一类型的数据。因此必须将非等时距数据序列转化为等时距序列,在利用建立等时距GM(1,1)模型的方法建立非等时距GM(1,1)模型。利用三次样条插值法(cubicsplineinterpolationmethod)将非等时距数据序列转化为等时距数据序列,在按照等时距GM(1,1)模型进行预测。三次样条插值法用Matlab实现的代码及实例代码:pp=csape(x,y,’conds’,’valconds’)x,y为初始数据序列conds为初始边界条件:1.边界为一阶导数,用complete表示,其值在valconds中给出;2.边界为二阶导数,用second表示,其值在valconds中给出,缺省时为[0,0];3.非扭结条件,用not-a-knot表示;4.周期条件,用periodic表示一般选用前两种。实例:Clear;x=[1,2,4,5];y=[1,3,4,2];pp=csape(x,y,’complete’,[-1,3]);xx=1:0.1:5;yy=ppval(pp,xx);plot(xx,yy).等时距GM(1,1)模型用Matlab实现的程序代码:y=input(‘请输入原始数据序列’);n=length(y);%原始数据序列的维数yy=ones(n,1);%列向量,用来给变量申请内存yy(1)=y(1);fori=2:nyy(i)=yy(i-1)+y(i);end%yy为1-AGO累加后生成的数列%接下来求B向量B=ones(n-1,2);Fori=1:n-1B(i,1)=-(yy(i)+yy(i+1))/2;%B矩阵的第一列元素B(i,2)=1;%B矩阵的第二列元素endBT=B’;%B的转置矩阵%接下来求Y矩阵Forj=1:n-1YN(j)=y(j+1);%此处所求的YN矩阵为行向量endYN=YN’;A=inv(BT*B)*BT*YN;%A为2维列向量a=A(1);b=A(2);t=b/a;%灰色模型的预测数据t-test=input(‘请输入需要预测的个数’);fori=1:n+t-test;yys(1)=y(1);yys(i+1)=(y(1)-t)*exp(-a*i)+t;end%还原到原始数据Forj=n+t-test:-1:2ys(j)=yys(j)-yys(j-1);endx=1:n;xn=2:t-test+n;yn=ys(2:n+t-test);plot(x,y,’r’,xn,yn,’b’)
本文标题:灰色理论基础(自己总结)
链接地址:https://www.777doc.com/doc-5189698 .html