第四章灰色预测模型及其应用灰色预测模型(GrayForecastModel)是通过少量的、不完全的信息,建立数学模型并做出预测的一种预测方法.当我们应用运筹学的思想方法解决实际问题,制定发展战略和政策、进行重大问题的决策时,都必须对未来进行科学的预测.预测是根据客观事物的过去和现在的发展规律,借助于科学的方法对其未来的发展趋势和状况进行描述和分析,并形成科学的假设和判断.灰色系统理论是研究解决灰色系统分析、建模、预测、决策和控制的理论.灰色预测是对灰色系统所做的预测.目前常用的一些预测方法(如回归分析等),需要较大的样本.若样本较小,常造成较大误差,使预测目标失效.灰色预测模型所需建模信息少,运算方便,建模精度高,在各种预测领域都有着广泛的应用,是处理小样本预测问题的有效工具.4.1灰色系统的定义和特点4.2灰色系统的模型4.3销售额预测4.4城市道路交通事故次数的灰色预测4.5城市火灾发生次数的灰色预测4.6灾变与异常值预测4.1灰色系统的定义和特点4.1灰色系统的定义和特点灰色系统理论是由华中理工大学邓聚龙教授于1982年提出并加以发展的。二十几年来,引起了不少国内外学者的关注,得到了长足的发展。目前,在我国已经成为社会、经济、科学技术在等诸多领域进行预测、决策、评估、规划控制、系统分析与建模的重要方法之一。特别是它对时间序列短、统计数据少、信息不完全系统的分析与建模,具有独特的功效,因此得到了广泛的应用.在这里我们将简要地介绍灰色建模与预测的方法.4.1灰色系统的定义和特点1.灰色系统的定义灰色系统是黑箱概念的一种推广。我们把既含有已知信息又含有未知信息的系统称为灰色系统。作为两个极端,我们将称信息完全未确定的系统为黑色系统;称信息完全确定的系统为白色系统。区别白色系统与黑色系统的重要标志是系统各因素之间是否具有确定的关系。4.1灰色系统的定义和特点2.灰色系统的特点(1)用灰色数学处理不确定量,使之量化。(2)充分利用已知信息寻求系统的运动规律。(3)灰色系统理论能处理贫信息系统。4.1灰色系统的定义和特点常用的灰色预测有五种:(1)数列预测,即用观察到的反映预测对象特征的时间序列来构造灰色预测模型,预测未来某一时刻的特征量,或达到某一特征量的时间。(2)灾变与异常值预测,即通过灰色模型预测异常值出现的时刻,预测异常值什么时候出现在特定时区内。(3)季节灾变与异常值预测,即通过灰色模型预测灾变值发生在一年内某个特定的时区或季节的灾变预测。(4)拓扑预测,将原始数据作曲线,在曲线上按定值寻找该定值发生的所有时点,并以该定值为框架构成时点数列,然后建立模型预测该定值所发生的时点。(5)系统预测.通过对系统行为特征指标建立一组相互关联的灰色预测模型,预测系统中众多变量间的相互协调关系的变化。4.2灰色系统的模型4.2灰色系统的模型通过下面的数据分析、处理过程,我们将了解到,有了一个时间数据序列后,如何建立一个基于模型的灰色预测。1.数据的预处理首先我们从一个简单例子来考察问题.【例4.1】设原始数据序列}7,10,8,3,6{})(,),2(),1({)0()0()0()0(Nxxxx4.2灰色系统的模型(1)(0)(1)(0)(0)(1)(0)(0)(0)(1)(0)(0)(0)(0)(1)(0)(0)(0)(0)(0)(1)(1)6(2)(1)(2)639(3)(1)(2)(3)63+817(4)(1)(2)(3)(4)63+8+1027(5)(1)(2)(3)(4)(5)63+8+10+7xxxxxxxxxxxxxxxxxxxx,,,,34.对数据累加于是得到一个新数据序列(1){6,9,17,27,34}x4.2灰色系统的模型归纳上面的式子可写为称此式所表示的数据列为原始数据列的一次累加生成,简称为一次累加生成.显然有(1)(0)(1)(1).xx(1)(0)1{()1,2,}ijxixjiN()将上述例子中的(0)(1)xx,分别做成图4.1、图4.2.可见图4.1上的曲线有明显的摆动,图4.2呈现逐渐递增的形式,说明原始数据的起伏已显著弱化.可以设想用一条指数曲线乃至一条直线来逼近累加生成数列(1).x4.2灰色系统的模型图4.2图4.1为了把累加数据列还原为原始数列,需进行后减运算或称相减生成,它是指后前两个数据之差,如上例中4.2灰色系统的模型)()1()()()0()1()1()1(ixixixix(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(5)(5)(4)34277(4)(4)(3)271710(3)(3)(2)1798(2)(2)(1)963(1)(1)(0)606.xxxxxxxxxxxxxxx,,,,归纳上面的式子得到如下结果:一次后减其中(0)1,2,...,(0)0.iNx,4.2灰色系统的模型2.建模原理给定观测数据列经一次累加得(1)(1)dxaxudt+=})(,),2(),1({)0()0()0()0(Nxxxx})(,),2(),1({)1()1()1()1(Nxxxx设满足一阶常微分方程(1)x(4.1)(4.2)(4.3)4.2灰色系统的模型其中a是常数,称为发展灰数;u称为内生控制灰数(或内生变量),是对系统的常定输入.此方程满足初始条件(1)(1)00()ttxxt当时的解为0()(1)(1)0()().attuuxtxteaa(4.3)’对等间隔取样的离散值(注意到)则为01t(1)(1)(1)[(1)].akuuxkxeaa(4.4)灰色建模的途径是一次累加序列(4.2)通过最小二乘法来估计常数a与u.4.2灰色系统的模型)1()1(x(1)(1)(1)(2),(3),...,()xxxN,1)1(ttt(1)(1)(1)(1)(0)(2)(2)(2)(1)(2),xxxxxt(1)(1)(0)(0)(3)()(3),...,().xxNxxNtt(0)(1)(0)(1)(0)(1)(2)(2),(3)(3),..............................()().xaxuxaxuxNaxNuìï+=ïïïï+=ïïíïïïïï+=ïïî因留作初值用,故将用差分代替微分,又因等间隔取样,分别代入方程(4.3),故得类似地有于是,由式(4.3)有4.2灰色系统的模型)()1(iax(0)(1)(0)(1)(0)(1)(2)[(2),1](3)[(3),1]()[(),1]axxuaxxuaxNxNutx)1()1(x)()1(ix)()(ixi由于涉及到累加列的两个时刻的值,因此,取前后两个时刻的平均代替更为合理,即将替换为把项移到右边,并写成向量的数量积形式(4.5)4.2灰色系统的模型将(4.5)写为矩阵表达式(0)(0)(0)T((2),(3),,()).yxxxN(1)(1)(0)12(1)(1)(0)12(1)(1)(0)12[(2)(1)]1(2)[(3)(2)]1(3).1[()(1)]1()xxxaxxxuxNxNxN令这里,T表示转置.令()()1[()(1)],(2,3,...,).2iixixiiN(4.6)4.2灰色系统的模型(1)(1)12(1)(1)12(1)(1)12[(2)(1)]1[(3)(2)]1,,[()(1)]1xxaxxUuxNxN则(4.6)式的矩阵形式为BUy方程组(4.6)’的最小二乘估计为yBBBuaUTT1)(ˆˆˆ(4.6)’(4.7)B=4.2灰色系统的模型把估计值ˆˆau与代入(4.4)式得时间响应方程ˆ(1)(1)ˆˆˆ(1)(1)ˆˆakuuxkxeaa1,2,,1kN当时,由(4.8)式算得的)1(ˆ)1(kx是拟合值;kN当时,)1(ˆ)1(kx为预报值.这是相对于一次累加序列)1(x的拟合值,用后减运算还原,1,2,,1kN当时,就可得原始序列)0(x的拟合值(0)ˆ(1)xk;kN当时,可得原始序列)0(x预报值.(4.8)4.2灰色系统的模型3.精度检验(1)残差检验:分别计算4.2灰色系统的模型(3)预测精度等级对照表,见表4.1.表4-1等级对照表4.2灰色系统的模型由于模型是基于一阶常微分方程(4.3)建立的,故称为一阶一元灰色模型,记为GM(1,1).须指出的是,建模时先要作一次累加,因此要求原始数据均为非负数.否则,累加时会正负抵消,达不到使数据序列随时间递增的目的.如果实际问题的原始数据列出现负数,可对原始数据列进行“数据整体提升”处理.注意到一阶常微分方程是导出GM(1,1)模型的桥梁,在我们应用GM(1,1)模型于实际问题预测时,不必求解一阶常微分方程(4.3).4.2灰色系统的模型4.GM(1,1)的建模步骤综上所述,GM(1,1)的建模步骤如下:4.3销售额预测4.3销售额预测随着生产的发展、消费的扩大,市场需求通常总是增加的,一个商店、一个地区的销售额常常呈增长趋势.因此,这些数据符合建立灰色预测模型的要求。【例4.2】表4.2列出了某公司1999—2003年逐年的销售额.试用建立预测模型,预测2004年的销售额,要求作精度检验。4.3销售额预测表4.2逐年销售额(百万元))0(x年份19992000200120022003序号123452.8743.2783.3373.3903.679【例4.2】表4.2列出了某公司1999—2003年逐年的销售额.试用建立预测模型,预测2004年的销售额,要求作精度检验。4.3销售额预测解(1)由原始数据列计算一次累加序列,结果见表4.3.表4.3一次累加数据)1(x)0(x)1(x年份19992000200120022003序号123452.8743.2783.3373.3903.6792.8746.1529.48912.87916.5584.3销售额预测(2)建立矩阵:yB,(1)(1)12(1)(1)12(1)(1)12(1)(1)124.5131[(2)(1)]17.82051[(3)(2)]111.1841[(4)(3)]114.71851[(5)(4)]1xxxxBxxxx(0)(0)(0)(0)TT[(2),(3),(4),(5)][3.278,3.337,3.390,3.679]yxxxx==4.3销售额预测4.3销售额预测表4.44.3销售额预测4.3销售额预测4.3销售额预测下面我们用用GM预测软件求解例4.2.参考附录B(1)调用GM预测软件.见图4.3.图7.34.3销售额预测(2)在“文件”菜单中打开“新建问题”,见到数据输入界面.见图4.4.4.3销售额预测(3)输入题目名称及元素个数后,点击“下一步”键,得到原始数据序列)0(x的输入表格.见图4.5.7.3销售额预测(4)点击“运行”键,输出分析数据如下:题目:123原始数列(5个):2.874,3.278,3.337,3.39,3.679预测结果如下:[1]dx/dt+ax=u:a=-0.03720438,u=3.06536331[2]时间响应方程:X(k+1)=85.2665*exp(0.0372k)-82.3925[3]残差E(k):(1)0.00000000(2)0.04596109(3)-0.01754976(4)-0.09170440(5)0.06532115[4]第一次累加值:(1)2.874