灰色系统预测GM(1-1)模型及其Matlab实现

  • 格式:doc
  • 大小:356.00 KB
  • 文档页数:8

灰色系统预测GM(1,1)模型及其Matlab 实现预备知识(1)灰色系统白色系统是指系统内部特征是完全已知的;黑色系统是指系统内部信息完全未知的;而灰色系统是介于白色系统和黑色系统之间的一种系统,灰色系统其内部一部分信息已知,另一部分信息未知或不确定。

(2)灰色预测 灰色预测,是指对系统行为特征值的发展变化进行的预测,对既含有已知信息又含有不确定信息的系统进行的预测,也就是对在一定范围内变化的、与时间序列有关的灰过程进行 预测。

尽管灰过程中所显示的现象是随机的、杂乱无章的,但毕竟是有序的、有界的,因此得到的数据集合具备潜在的规律。

灰色预测是利用这种规律建立灰色模型对灰色系统进行预测。

目前使用最广泛的灰色预测模型就是关于数列预测的一个变量、一阶微分的GM(1,1)模型。

它是基于随机的原始时间序列,经按时间累加后所形成的新的时间序列呈现的规律可用一阶线性微分方程的解来逼近。

经证明,经一阶线性微分方程的解逼近所揭示的原始时间序列呈指数变化规律。

因此,当原始时间序列隐含着指数变化规律时,灰色模型GM(1,1)的预测是非常成功的。

1 灰色系统的模型GM(1,1)1.1 GM(1,1)的一般形式设有变量X (0)={X (0)(i),i=1,2,...,n}为某一预测对象的非负单调原始数据列,为建立灰色预测模型:首先对X (0)进行一次累加(1—AGO, Acumulated Generating Operator)生成一次累加序列:X (1)={X (1)(k ),k =1,2,…,n}其中X (1)(k )=∑=ki 1X (0)(i)=X (1)(k -1)+ X (0)(k ) (1) 对X (1)可建立下述白化形式的微分方程:dtdX )1(十)1(aX =u (2)即GM(1,1)模型。

上述白化微分方程的解为(离散响应): ∧X (1)(k +1)=(X (0)(1)-a u )ak e -+au(3)或∧X (1)(k )=(X (0)(1)-a u ))1(--k a e +au (4)式中:k 为时间序列,可取年、季或月。

1.2 辩识算法记参数序列为∧a , ∧a =[a,u]T,∧a 可用下式求解:∧a =(B T B)-1B T Y n (5)式中:B —数据阵;Y n —数据列B =⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡+++- 1 (n))X 1)-(n (X 21 ... 1 (3))X (2)X (211 (2))X (1)X (21(1)1(1)(1)(1)(1))(-- (6) Y n =(X (0)(2), X (0)(3),…, X (0)(n))T (7)1.3 预测值的还原由于GM 模型得到的是一次累加量,k ∈{n+1,n+2,…}时刻的预测值,必须将GM 模型所得数据∧X(1)(k +1)(或∧X(1)(k ))经过逆生成,即累减生成(I —AGO)还原为∧X (0)(k +1)(或∧X (0)(k ))才能用。

∧X(1)(k )=∑=ki 1∧X (0)(i)=∑-=11k i ∧X (0)(i)+∧X (0)(k)∧X(0)(k)=∧X(1)(k )-∑-=11k i ∧X (0)(i)因为∧X(1)(k -1)=∑-=11k i ∧X(0)(i),所以∧X (0)(k)=∧X (1)(k )-∧X (1)(k -1)。

2 应用举例取某高校1998年~2003年的某专业招生数据建模,见表1。

以表1中的数据构造原始数据列X (0),即X (0)={X (0)(1),X (0)(2),X (0)(3),X (0)(4),X (0)(5),X (0)(6)} ={132,92,118,130,187,207}对X (0)进行一次累加(1—AGO),生成数列:X (1)(k)=∑=ki 1X (0)(i)即X (1)={X (1)(1),X (1)(2),X (1)(3),X (1)(4),X (1)(5),X (1)(6)}={132,224,342,472,659,866} 和数据阵B 、数据列Y nB =⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡----- 1 5.762 15.5651 4071 2831178,Y n =(92,118,130,187,207)T 由式(5)得∧a =[a,u]T=⎥⎦⎤⎢⎣⎡-7878184.56205.0 由式(4)得灰色预测模型GM(1,1)为 ∧X (1)(k )=(X (0)(1)-a u ))1(--k a e +au=(132+277.0137483))1(205.0-k e -277.0137483=409.0137483)1(205.0-k e -277.0137483预测值及预测精度见表2。

表2 某高校专业招生预测值及预测精度表由表2知预测精度较高。

2006年某专业招生人数预测值为259人。

由于人数为整数,所以结果取整数部分。

GM(1,1)是一种长期预测模型,在没有大的市场波动及政策性变化的前提下,该预测值应是可信的。

如前所述,影响招生人数的因素很多且难以预测。

因此,在采用灰色系统理论进行定量预测时,如果存在对预测对象影响较大的因素,就要在定性分析的基础上,寻找原始数据信息的突变点的量化值,然后再对预测值进行必要的修正,使预测值更接近实际情况,提高预测值的可信度,为科学决策提供可靠的数据。

另外,若作长期预测,要考虑对上限值的约束条件。

应用灰色预测模型GM(1,1),对某专业招生人数进行了预测,具有较高的预测精度。

应用灰色模型进行预测较之其它常规的时间序列预测法有以下显著的特点。

(1)灰色模型是一种长期预测模型,将预测系统中的随机元素作为灰色数据进行处理,而找出数据的内在规律。

进行预测所需原始数据量小,预测精度较高,无须像其它预测法要么需要数据量大且规律性强,要么需要凭经验给出系数。

(2)理论性强,计算方便,籍助计算机及其程序设计语言,使得数据处理简便、快速、准确性好。

(3)用有限的表征系统行为特征的外部元素,分析系统的内在规律。

灰色系统理论采用对系统的行为特征数据进行生成的方法,对杂乱无章的系统的行为特征数据进行处理,从杂乱无章的现像中发现系统的内在规律,这是该方法的独特之处。

(4) 适用性强。

用灰色模型既可对周期性变化的系统行为进行预测,亦可对非周期性变化的系统行为进行预测;既可进行宏观长期的预测,亦可用于微观短期的预测。

2灰色系统模型的检验 定义1.设原始序列{})(,),2(),1()0()0()0()0(n x x x X Λ=相应的模型模拟序列为{})(ˆ,),2(ˆ),1(ˆˆ)0()0()0()0(n x x x XΛ= 残差序列{})(),2(),1()0(n εεεεΛ={})(ˆ)(,),2(ˆ)2(),1(ˆ)1()0()0()0()0()0()0(n x n x xx x x ---=Λ 相对误差序列⎭⎬⎫⎩⎨⎧=∆)()(,,)2()2(,)1()1()0()0()0(n x n x x εεεΛ{}nk 1∆=1.对于k <n,称)()()0(k x k k ε=∆为k 点模拟相对误差,称)()()0(n x n n ε=∆为滤波相对误差,称∑=∆=∆nk k n 11为平均模拟相对误差;2.称∆-1为平均相对精度,n ∆-1为滤波精度;3.给定α,当α<∆,且α<∆n 成立时,称模型为残差合格模型。

定义2设)0(X 为原始序列,)0(ˆX为相应的模拟误差序列,ε为)0(X 与)0(ˆX 的绝对关联度,若对于给定的00,0εεε>>,则称模型为关联合格模型。

定义3设)0(X 为原始序列,)0(ˆX为相应的模拟误差序列,)0(ε为残差序列。

∑==n k k x n x 1)0()(1为)0(X 的均值,21)0(21))((1x k x n s n k -=∑=为)0(x 的方差,∑==nk k n 1)(1εε为残差均值,∑=-=n k k n s 1222))((1εε为残差方差,1. 称12s sc =为均方差比值;对于给定的00>c ,当0c c <时,称模型为均方差比合格模型。

2. 称()16745.0)(s k Pp <-=εε为小误差概率,对于给定的00>p ,当0p p >时,称模型为小误差概率合格模型。

应用举例2、设原始序列{})5(),4(),3(),2(),1()0()0()0()0()0()0(x x x x x X =()679.3,390.3,337.3,278.3,874.2=建立GM(1,1)模型,并进行检验。

解:1)对)0(X作1-AGO ,得[D 为)0(X 的一次累加生成算子,记为1-AGO]{})5(),4(),3(),2(),1()1()1()1()1()1()1(x x x x x X= ()558.16,579.12,489.9,152.6,874.2=2)对)1(X作紧邻均值生成,令)1(5.0)(5.0)()1()1()1(-+=k x k x k Z{})5(),4(),3(),2(),1()1()1()1()1()1()1(z z z z z Z =()718.14,84.11,820.7,513.4,874.2=于是,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡----=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡----=1718.14184.111820.71513.41)5(1)4(1)3(1)2()1()1()1()1(z z z z B ,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=679.3390.3337.3278.3)5()4()3()2()0()0()0()0(x x x x Y⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡----•⎥⎦⎤⎢⎣⎡----=T 1718.14184.111820.71513.41111718.14184.11820.7513.4B B ⎥⎦⎤⎢⎣⎡--=4235.38235.38221.423⎥⎦⎤⎢⎣⎡==⎥⎦⎤⎢⎣⎡--=--T832371.11665542.0165542.0017318.04235.38235.38221.423)(11B B⎪⎪⎭⎪⎪⎬⎫⎪⎪⎩⎪⎪⎨⎧⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡-⨯=221.423235.38235.384969.2301221.423235.38235.384235.384221.42312⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡•⎥⎦⎤⎢⎣⎡----•⎥⎦⎤⎢⎣⎡==T -T 679.3390.3337.3278.31111718.14184.11820.7513.4832371.11665542.0165542.0017318.0)(ˆ1Y B B B a⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡•⎥⎦⎤⎢⎣⎡---=679.3390.3337.3278.3604076.10019051.0537833.0085280.1089344.0028143.0030115.0087386.0 ⎥⎦⎤⎢⎣⎡-=065318.3037156.0 3)确定模型065318.3037156.0)1()1(=-x dtdx 及时间响应式a be a b x k xak +-=+-))1(()1(ˆ)0()1( 4986.823728.85037156.0-=ke4)求)1(X 的模拟值{})5(ˆ),4(ˆ),3(ˆ),2(ˆ),1(ˆˆ)1()1()1()1()1()1(x x x x x X= =(2.8740,6.1058,9.4599,12.9410,16.5538)5)还原出)0(X 的模拟值,由)(ˆ)1(ˆ)1(ˆ)1()1()0(k x k x k x-+=+ 得 {})5(ˆ),4(ˆ),3(ˆ),2(ˆ),1(ˆˆ)0()0()0()0()0()0(x x x x x X==(2.8740,3.2318,3.3541,3.4811,3.6128)残差平方和[]⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡•==T )5()4()3()2()5()4()3()2(εεεεεεεεεεs []⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--•--=0662.00911.00171.00462.00662.00911.00171.00462.0=0.0151085平均相对误差%)80.1%69.2%51.0%41.1(414151+++=∆=∆∑=k k=1.0625%计算X 与Xˆ的灰色关联度 ))1()5((21)1()((42x x x k x S k -+-=∑= =)874.2679.3(21)874.2390.3()874.2337.3()874.2278.3(-+-+-+- 0.40250.5160.4630.404+++==1.7855)1(ˆ)5(ˆ(21)1(ˆ)(ˆ(ˆ42x x x k x Sk -+-=∑= )874.26128.3(21)874.24811.3()874.23541.3()874.22318.3(-+-+-+-=3694.06071.04801.03578.0+++==1.8144[][]∑=---+---=-42))1(ˆ)5(ˆ())1()5((21))1(ˆ)(ˆ())1()((ˆk x x x x x k xx k x S S)4025.03694.0(21)516.06071.0()463.04801.0()404.03578.0(-+-+-+-=01655.0091.00171.00462.0-++-==0.0453564525.45999.404535.08144.17855.118144.17855.11ˆˆ1ˆ1=+++++=-+++++=S S SS S S ε=0.9902>0.90精度为一级,可以用4986.823728.85)1(ˆ037156.0)1(-=+k e k x)(ˆ)1(ˆ)1(ˆ)1()1()0(k x k x k x-+=+预测。