《GM(1-1)模型及其Matlab实现.docx》由会员分享,可在线阅读,更多相关《GM(1-1)模型及其Matlab实现.docx(15页珍藏版)》请在优知文库上搜索。
1、灰色系统预料GM(1,1)模型及其Matlab实现三天三夜72小时:读懂题目-查找文献资料-选择题目-重查找文献资料-精读其中几篇-查找资料的资料。在数学建模中经常会遇到数据的预料问题,有些赛题中,预料占主导地位,例如:2003年A题SARS的传播问题;2005年A题长江水质的评价和预料问题:2006年B题艾滋病疗法的评价及疗效的预料问题:2007年A题中国人口增长预料问题。有些问题则是须要在求解的过程中进行预料,如2009年D题“会议筹备”对与会人数的确定等。参考资料:灰色系统理论及其应用第五版作者:刘思峰,党耀国等著出版时间:2010.05校超星数字图书馆可阅读。灰色模型(GrayMode
2、l)有严格的理论基础,最大优点走好用。用灰色模型预料的结果比较稳定,不仅适用于大数据量的预料,,在数据量较少时(3)预料结果依旧较精确。预备学问(1)灰色系统白色系统是指系统内部特征是完全已知的,即人们不仅知道该系统的输入一一输出关系,而且知道实现输入一一输出关系的结构与过程:黑色系统是指系统内部信息完全未知的,即人们只知道该系统输入输出关系,但不知道实现输入一一输出关系的结构与过程:而灰色系统是介于白色系统和黑色系统之间的一种系统,灰色系统其内部一部分信息已知,另一部分信息未知或不确定。例如,一个加有电压的电阻,也是一个系统,依据欧姆定律,I=UR,当电阻的大小知道后,便可由多大电压算出能得
3、到多大电流。电压与电流之间有明确的关系或函数,这便是白色系统。因此,这样的系统要求有明确的作用原理,一个有明确作用原理的系统必定是具有确定结构的,必定是有物理原型的。然而很多社会经济系统都没有物理原型,虽然知道影响系统的某些因素,但很难明确全部因素,更不行能确定因素之间的映射关系。这种没有.确定的映射关系(函数关系)的系统是灰色系统。(2)灰色预料灰色预料,是指对系统行为特征值的发展改变进行的预料,对既含有已知信息乂含有不确定信息的系统进行的预料,也就是对在肯定范围内改变的、与时间序列有关的灰过程进行预料。尽管灰过程中所显示的现象是随机的、杂乱无章的,但终归是有序的、有界的,因此得到的数据集合
4、具备潜在的规律。灰色预料是利用这种规律建立灰色模型对灰色系统进行预料。目前运用最广泛的灰色预料模型就是关于数列预料的一个变量、一阶微分的GM(1,1)模型。它是基于随机的原始时间序列,经按时间累加后所形成的新的时间序列呈现的规律可用一阶线性微分方程的解来靠近。经证明,经一阶线性微分方程的解靠近所揭示的原始时间序列呈防陷攵及觌律。因此,当原始时间序列隐含着指数改变规律时,灰色模型GV(1,D的预料是特别胜利的。目前,灰色模型GM(1,1)己广泛应用于工程技术、社会、经济、农业、生态、环境等各种系统的预料中。1灰色预料基础学问灰色系统理论认为:系统的行为现象尽管是朦胧的,数据是困难的,但它终归是有
5、序的,是有整体功能的。在建立灰色预料模型之前,需先对原始时间序列进行数据处理,经过数据预处理后的数据序列称为牛.成列。对原始数据进行预处理,不是寻求它的统计规律和概率分布,而是将杂乱无章的原始数据列通过肯定的方法处理,变成有规律的时间序列数据,即以数找数的规律,再建立动态模型。灰色系统常用的数据处理方式有累加和累减两种,通常用累加方法。灰色预料通过鉴别系统因素之间发展趋势的相异程度,并时原始数据进行生成处理来找寻系统变动的规律,生成有较强规律性的数据序列,然后建立相应的微分方程模型,从而预料事物的将来发展趋势。灰色预料的数据是通过生成数据的模型所得到的预料值的逆处理结果。灰色预料是以灰色模型为
6、基础的,在诸多的灰色模型中,以灰色系统中单序列一阶线性微分方程模型GM(1,D模型最为常用。卜.面简要地介绍GM(1,D模型。设有原始数据列*=(X(l),x,s(2),xul(n),n为数据个数。假如依据XM数据列建立GM(1,1)来实现预料功能,则基本步骤如卜.:(D原始数据累加以便弱化随机序列的波动性和随机性,得到新数据序列:X10=x,x22),x(n)其中,x“)(l)中各数据表示对应前几项数据的累加。X(t)=次xn(k),t=l,2,nkl对x2t)建立下述一阶线性微分方程:即GM(IJ)模型。其中,a,u为待定系数,分别称为发展系数和灰色作用试,a的有效区间是(-2,2),并记
7、a,u构成的矩阵为灰参数a=)。只要求出参数a,u,就能求出xt),进而求出X的将来预料值。(3)对累加生成数据做均值生成B与常数项向量Yn,即-(Xo,(l)Xo,(2)12-l(X(2)+Xt(3)IB=2-(Xuj(n-1)+X*,(n)12JM、0,(3)Yn=/(初(4)用最小二乘法求解灰参数;,则a=(B1B)1B1Ynf(r(11(5)将灰参数a代入为一+ax(l)-)c-,+-aa由于;是通过最小二乘法求出的近似值,所以M(t+1)是一个近似表达式,为了与原序列*”)(1+1)区分开来,故记为父”+1)。式中t为时间序列,可取年、季或月。(6)对函数表达式文(t+l)及”(1)
8、进行离散,并将二者做差以便还原X原序列,得到近似数据序列X0,(t+l)如下:xto,(t+l)=x(t+l)-x(t)(7)对建立的灰色模型进行检验,步骤如下:计算x(t)与/S(t)之间的残差e,w(t)和相对误差q(t):e,w(t)=xf(t)-w(t)qw)(t)=ew)(t)/x(t)等等。(8)利用模型进行预料:x,=x10,(l),x,(2),xw(n),x7n+l),x(n+m)原数列的模拟将来数列的预料应用举例取某高校2000年2005年的某专业招生数据建模,见表U表1某高校专业招生数据发年招生人数20001322001922002118200313020041872005
9、207以表1中的数据构造原始数据列X叱即X=XO(1),X,0l(2),X(3),X0)(4),X(5),X(o(6)=132,92,118,130,187,207)对X(O)进行一次累加(I-AG0),生成数列:YX(IO=GX即Xm=X,(l),X(2),X(3),X,Xoj(5),XU)=132,224,342,472,659,866)和数据阵B、数据列Yn-1781-2831-407I-565.51Yn=(92,118,130,187,207)1B=1-762.51经计算可得a=a,u1-0.205=56.7878184j进一步得到灰色预料模型GM(1,1)为UUq(k)=(X一)e3
10、+7=(132+277.0137483)/JnsaF-277.0137483=409.0137483产i-277.0137483预料值及预料精度见表2。表2某高校专业招生预料值及预料精度太年GM(IJ)模电计算侬IAGO谈拟合相对次空(%)2000132132132132002001225.060S79622493921-12002339.295UI834211411843.382003479.52123472140130IO-7.692004651.6519659172158200562.9466129866211207-4-1.9320061122.316167259252-7-2.78由
11、表2知预料精度较高。2006年某专业招生人数预料值为259人。由于人数为整数,所以结果取整数部分。GM(1.I)也是种长期预料模型,在没有大的市场波动及政策性改变的前提下,该预料值应是可信的。众所周知,影响招生人数的因素很多且难以预料。因此,在采纳灰色系统理论进行定量预料时,假如存在对预料对象影响较大的因素,就要在定性分析的基础上,找寻原始数据信息的突变点的量化值,然后再对预料值进行必要的修正,使预料值更接近实际状况,提高预料值的可信度,为科学决策供应牢嵬的数据。另外,若作长期预料,要考虑对上限值的约束条件。2灰色预料的MAT1.AB程序2.1典型程序结构灰色预料中有很多关于矩阵的运算,这可是
12、MAT1.AB的特长,所以用MAT1.AB是实现灰色预料过程的首选。用MT1.B编写灰色预料程序时,可以完全依据预料模型的求解步骤,即(1)对原始数据进行累加。(2)构造累加矩阵B与常数向量Yn。(3)求解灰参数。(4)将参数带入预料模型进行数据预料。下面以某公司收入预料问题为例介绍灰色预料的MAT1.AB实现过程。已知某公司19992008年的利润为(单位:元/年):89677,99215,109655,120333,135823,159878,182321,209407,246619,300670,现在要预料该公司将来几年的利涧状况。详细的MAT1.AB程序如下:clearsymsau;c
13、=au;%灰参数cA=89677,99215,109655,120333,135823,159878,182321,209407,246619,300670;%原始数据Ago=Cumsuni(八);舟原始数据一次累加n=length();%原始数据个数fori=l:(n-l)C(D=(Ago(i)+Ago(i+l)2;%生成累加矩阵end%计算待定参数的值Yn=A;Yn(1)=;Yn=Yn;E=-C;ones(1,n-l);c=inv(E*E,)*E*Yn:c=c,;a=c(l);u=c(2);%预料后续数据F=;F(I)=A;fori=2:(n+10)F(i)=(A(l)-ua)exp(a*
14、(i-l)+ua:endG=G(l)=A(l):fori=2:(n+10)G(i)=F(i)-F(i-l);先得到预料出来的数据endt1=1999:2008;t2=1999:2018;Gplot(tl,o,t2,G)%原始数据与预料数据的比较运行该程序,得到的预料数据如下:G=1.0e+006*Columnslthrough140.08970.08930.10340.11960.13850.16020.18540.21460.24830.28730.33250.38470.44520.5152Co1umnsl5through20O.5962O.6899O.7984O.92391.06911.2371该程序还显示了预料数据与原始数据的比较图。2.2灰色预料程序说明(1)先熟识程序中各条吩咐的功能,以加深对灰色预料理论的理解。(2)在实际运用时,可以干脆套用该段程序,把原数据和时间序列数据替换就可以了。(3)模型的误差检验可以敏捷处理,图中给出的是预料数据与原始数据的比较图,同样也可以对预料数据进行其他方式的精度检验。