灰色预测总结
- 格式:doc
- 大小:4.42 MB
- 文档页数:18
灰色预测模型一、灰色预测的概念1. 灰色预测法是一种对含有不确定因素的系统进行预测的方法。
灰色系统是介于白色系统和黑色系统之间的一种系统。
灰色系统内的一部分信息是已知的,另一部分信息时未知的,系统内各因素间具有不确定的关系。
2. 灰色预测,是指对系统行为特征值的发展变化进行的预测,对既含有已知信息又含有不确定信息的系统进行的预测,也就是对在一定范围内变化的、与时间序列有关的灰过程进行预测。
尽管灰过程中所显示的现象是随机的、杂乱无章的,但毕竟是有序的、有界的,因此可以通过对原始数据进行生成处理来寻找系统变动的规律,生成有较强规律性的数据序列,然后建立相应的微分方程模型,从而预测事物未来发展趋势的状况。
灰色预测是利用这种规律建立灰色模型对灰色系统进行预测。
二、灰色预测的类型1. 灰色时间序列预测;即用观察到的反映预测对象特征的时间序列来构造灰色预测模型,预测未来某一时刻的特征量,或达到某一特征量的时间。
2. 畸变预测;即通过灰色模型预测异常值出现的时刻,预测异常值什么时候出现在特定时区内。
3. 系统预测;通过对系统行为特征指标建立一组相互关联的灰色预测模型,预测系统中众多变量间的相互协调关系的变化。
4. 拓扑预测;将原始数据作曲线,在曲线上按定值寻找该定值发生的所有时点,并以该定值为框架构成时点数列,然后建立模型预测该定值所发生的时点 三、GM (1,1)模型的建立 1. 数据处理为了弱化原始时间序列的随机性,在建立灰色预测模型之前,需先对原始时间序列进行数据处理,经过数据处理后的时间序列即称为生成列。
i. 设()()()()()()()()(){},,, (00000)123X X X X X n = 是所要预测的某项指标的原始数据,计算数列的级比()()()(),,,,()00123X t t t n X t λ-==。
如果绝大部分的级比都落在可容覆盖区间(,)2211n n ee-++内,则可以建立GM(1,1)模型且可以进行灰色预测。
第7章 灰色预测方法 预测就是借助于对过去的探讨去推测、了解未来。
灰色预测通过原始数据的处理和灰色模型的建立,发现、掌握系统发展规律,对系统的未来状态做出科学的定量预测。
对于一个具体的问题,究竟选择什么样的预测模型应以充分的定性分析结论为依据。
模型的选择不是一成不变的。
一个模型要经过多种检验才能判定其是否合适,是否合格。
只有通过检验的模型才能用来进行预测。
本章将简要介绍灰数、灰色预测的概念,灰色预测模型的构造、检验、应用,最后对灾变预测的原理作了介绍。
7.1 灰数简介7.1.1 灰数一棵生长着的大树,其重量便是有下界的灰数,因为大树的重量必大于零,但不可能用一般手段知道其准确的重量,若用⊗表示大树的重量,便有[)∞∈⊗,0。
是一个确定的数。
海豹的重量在20~25公斤之间,某人的身高在1.8~1.9米之间,可分别记为 []25,201∈⊗,[]9.1,8.12∈⊗ 4. 连续灰数与离散灰数在某一区间内取有限个值或可数个值的灰数称为离散灰数,取值连续地充满某一区间的灰数称为连续灰数。
某人的年龄在30到35之间,此人的年龄可能是30,31,32,33,34,35这几个数,因此年龄是离散灰数。
人的身高、体重等是连续灰数。
5. 黑数与白数当()∞∞-∈⊗,或()21,⊗⊗∈⊗,即当⊗的上、下界皆为无穷或上、下界都为讨论方便,我们将黑数与白数看成特殊的灰数。
6. 本征灰数与非本征灰数本征灰数是指不能或暂时还不能找到一个白数作为其“代表”的灰数,比如一般的事前预测值、宇宙的总能量、准确到秒或微妙的“年龄”等都是本征灰数。
非本征灰数是指凭先验信息或某种手段,可以找到一个白数作为其“代表”的灰数。
我们称此白数为相应灰数的白化值,记为⊗~,并用()a ⊗表示以a 为白化值的灰数。
如托人代买一件价格100元左右的衣服,可将100作为预购衣服价格()100⊗的白化数,记为()100100~=⊗。
从本质上来看,灰数又可分为信息型、概念型、层次型三类。
灰色预测模型灰色预测是就灰色系统所做的预测. 所谓灰色系统是介于白色系统和黑箱系统之间的过渡系统,其具体的含义是:如果某一系统的全部信息已知为白色系统,全部信息未知为黑箱系统,部分信息已知,部分信息未知,那么这一系统就是灰箱系统. 一般地说,社会系统、经济系统、生态系统都是灰色系统.灰色系统理论认为对既含有已知信息又含有未知或非确定信息的系统进行预测,就是对在一定方位内变化的、与时间有关的灰色过程的预测. 尽管过程中所显示的现象是随机的、杂乱无章的,但毕竟是有序的、有界的,因此这一数据集合具备潜在的规律,灰色预测就是利用这种规律建立灰色模型对灰色系统进行预测.灰色预测模型只需要较少的观测数据即可,这和时间序列分析,多元回归分析等需要较多数据的统计模型不一样. 因此,对于只有少量观测数据的项目来说,灰色预测是一种有用的工具.一、GM(1,1)模型灰色系统理论是邓聚龙教授在1981年提出来的,是一种对含有不确定因素系统进行预测的方法. 通过鉴别系统因素之间发展趋势的相异程度,进行关联分析,并通过对原始数据进行生成处理来寻找系统的变化规律,生成较强规律性数据序列,然后建立相应微分方程模型,从而预测事物未来的发展趋势和未来状态. 目前使用最广泛的灰色预测模型是关于数列预测的一个变量、一阶微分的GM(1,1)模型.GM(1,1)模型是基于灰色系统的理论思想,将离散变量连续化,用微分方程代替差分方程,按时间累加后所形成的新的时间序列呈现的规律可用一阶线性微分方程的解来逼近,用生成数序列代替原始时间序列,弱化原始时间序列的随机性,这样可以对变化过程作较长时间的描述,进而建立微分方程形式的模型. 其建模的实质是建立微分方程的系数,将时间序列转化为微分方程,通过灰色微分方程可以建立抽象系统的发展模型. 经证明,经一阶线性微分方程的解逼近所揭示的原始时间数列呈指数变化规律时,灰色预测GM(1,1)模型的预测将是非常成功的.1.1 GM(1,1)模型的建立灰色理论认为一切随机量都是在一定范围内、一定时间段上变化的灰色量及灰色过程. 数据处理不去寻找其统计规律和概率分布, 而是对原始数据作一定处理后, 使其成为有规律的时间序列数据, 在此基础上建立数学模型.GM(1,1)模型是指一阶,一个变量的微分方案预测模型,是一阶单序列的线性动态模型,用于时间序列预测的离散形式的微分方程模型.设时间序列()0X有n 个观察值,()()()()()()(){}00001,2,,Xx x x n =,为了使其成为有规律的时间序列数据,对其作一次累加生成运算,即令()()()()101tn xt x n ==∑从而得到新的生成数列()1X,()()()()()()(){}11111,2,,Xx x x n =,新的生成数列()1X 一般近似地服从指数规律. 则生成的离散形式的微分方程具体的形式为dxax u dt+= 即表示变量对于时间的一阶微分方程是连续的. 求解上述微分方程,解为当t =1时,()(1)x t x =,即(1)c x a=-,则可根据上述公式得到离散形式微分方程的具体形式为 ()()()11a t u u x t x e a a --⎛⎫=-+ ⎪⎝⎭其中,ax 项中的x 为dxdt的背景值,也称初始值;a ,u 是待识别的灰色参数,a 为发展系数,反映x 的发展趋势;u 为灰色作用量,反映数据间的变化关系.按白化导数定义有0()()lim t dx x t t x t dt t→+-= 显然,当时间密化值定义为1时,当1t →时,则上式可记为1lim(()())t dxx t t x t dt→=+- 这表明dxdt是一次累减生成的,因此该式可以改写为 (1)(1)(1)()dxx t x t dt=+- 当t 足够小时,变量x 从()x t 到()x t t +是不会出现突变的,所以取()x t 与()x t t +的平均值作为当t 足够小时的背景值,即(1)(1)(1)1()(1)2xx t x t ⎡⎤=++⎣⎦将其值带入式子,整理得 (0)(1)(1)1(1)()(1)2x t a x t x t u ⎡⎤+=-+++⎣⎦ 由其离散形式可得到如下矩阵:(1)(1)(0)(1)(1)(0)(0)(1)(1)1(1)(2)2(2)1(2)(3)(3)2()1(1)()2x x x x x x a u x n x n x n ⎛⎫⎡⎤-+ ⎪⎣⎦⎛⎫ ⎪ ⎪ ⎪⎡⎤-+ ⎪⎣⎦ ⎪=+ ⎪ ⎪ ⎪⎪ ⎪⎝⎭ ⎪⎡⎤--+ ⎪⎣⎦⎝⎭令 (0)(0)(0)(2),(3),,()TY x x x n ⎡⎤=⎣⎦(1)(1)(1)(1)(1)(1)11(1)(2)211(2)(3)21(1)()12x x x x B x n x n ⎛⎫⎡⎤-+ ⎪⎣⎦ ⎪⎪⎡⎤-+⎣⎦ ⎪= ⎪ ⎪ ⎪⎡⎤--+ ⎪⎣⎦⎝⎭()Ta u α=称Y 为数据向量,B 为数据矩阵,α为参数向量. 则上式可简化为线性模型:Y B α=由最小二乘估计方法得()1T T a B B B Y uα-⎛⎫== ⎪⎝⎭上式即为GM(1,1)参数,a u 的矩阵辨识算式,式中()1TT B B B Y -事实上是数据矩阵B 的广义逆矩阵.将求得的a ,u 值代入微分方程的解式,则()1(1)()((1))a t u ux t x e a a--=-+其中,上式是GM(1,1)模型的时间响应函数形式,将它离散化得(1)(0)(1)ˆ()(1)a t u u xt x e a a --⎛⎫=-+ ⎪⎝⎭ 对序列()()1ˆxt 再作累减生成可进行预测. 即()(0)(1)(1)(0)(1)ˆˆˆ()()(1)(1)1a a t xt x t x t u x e ea --=--⎛⎫=-- ⎪⎝⎭ 上式便是GM(1,1)模型的预测的具体计算式. 或对()atux t cea-=+求导还原得 (0)(0)(1)ˆ()((1))a t uxt a x e a--=-- 1.2 GM(1,1)模型的检验GM(1,1)模型的检验包括残差检验、关联度检验、后验差检验三种形式.每种检验对应不同功能:残差检验属于算术检验,对模型值和实际值的误差进行逐点检验;关联度检验属于几何检验范围,通过考察模型曲线与建模序列曲线的几何相似程度进行检验,关联度越大模型越好;后验差检验属于统计检验,对残差分布的统计特性进行检验,衡量灰色模型的精度. ➢ 残差检验残差大小检验,即对模型值和实际值的残差进行逐点检验. 设模拟值的残差序列为(0)()e t ,则(0)(0)(0)ˆ()()()e t x t xt =- 令()t ε为残差相对值,即残差百分比为(0)(0)(0)ˆ()()()%()x t xt t x t ε⎡⎤-=⎢⎥⎣⎦令∆为平均残差,11()nt t n ε=∆=∑.设残差的方差为22S ,则[]22211()n t S e t e n ==-∑. 故后验差比例C 为21/C S S =,误差频率P 为{}1()0.6745P P e t e S =-<.对于,C P 检验指标如下表:检验指标好合格勉强不合格P >0.95 >0.80 >0.70 <0.70 C <0.35 <0.50 <0.65 >0.65表 1 灰色预测精确度检验等级标准一般要求()20%t ε<,最好是()10%t ε<,符合要求.➢ 关联度检验关联度是用来定量描述各变化过程之间的差别. 关联系数越大,说明预测值和实际值越接近.设 {}(0)(0)(0)(0)ˆˆˆˆ()(1),(2),,()Xt xx x n =⋯ {}(0)(0)(0)(0)()(1),(2),,()X t x x x n =⋯序列关联系数定义为(){}{}{}(0)(0)(0)(0)(0)(0)(0)(0)ˆˆmin ()()max ()(),0ˆˆ()()max ()()1,0x t x t x t x t t t x t x t x t x t t σξσ⎧-+-⎪≠⎪=⎨-+-⎪=⎪⎩ 式中,(0)(0)ˆ()()xt x t -为第t 个点(0)x 和(0)ˆx 的绝对误差,()t ξ为第t 个数据的关联系数,ρ称为分辨率,即取定的最大差百分比,0ρ<<1,一般取0.5ρ=.(0)()x t 和(0)ˆ()xt 的关联度为()11nt r t n ξ==∑精度等级 关联度均方差比值小误差概率好(1级) 0.90≥ 0.35≤ 0.95≥ 合格(2级) 0.80≥ 0.50≤ 0.80≥ 勉强(3级) 0.70≥ 0.65≤ 0.70≥ 不合格(4级)0.70< 0.65>0.70<表 2 精度检验等级关联度大于60%便满意了,原始数据与预测数据关联度越大,模型越好.➢ 后验差检验后验差检验,即对残差分布的统计特性进行检验. 检验步骤如下:1、计算原始时间数列(){}0(0)(0)(0)(1),(2),,()Xx x x n =的均值和方差()2(0)(0)2(0)11111(),()n n t t xx t S x t x n n ====-∑∑ 2、计算残差数列{}(0)(0)(0)(0)(1),(2),,()ee e e n =的均值e 和方差22s()2(0)2(0)21111(),()n n t t e e t S e t e n n ====-∑∑其中(0)(0)(0)ˆ()()(),1,2,,e t x t xt t n =-=为残差数列.3、计算后验差比值21C S S =4、计算小误差频率{}(0)1()0.6745P P e t e S =-<令0S =0.67451S ,(0)()|()|t e t e ∆=-,即{}0()P P t S =∆<.若对给定的00C >,当0C C <时,称模型为方差比合格模型;若对给定的00P >,当0P P >时,称模型为小残差概率合格模型.>0.95 <0.35 优 >0.80 <0.5 合格 >0.70 <0.65 勉强合格 <0.70>0.65不合格表 3 后验差检验判别参照表1.3 残差GM(1,1)模型当原始数据序列(0)X建立的GM(1,1)模型检验不合格时,可以用GM(1,1)残差模型来修正. 如果原始序列建立的GM(1,1)模型不够精确,也可以用GM(1,1)残差模型来提高精度.若用原始序列(0)X建立的GM(1,1)模型(1)(0)ˆ(1)[(1)]at u uxt x e a a-+=-+ 可获得生成序列(1)X 的预测值,定义残差序列(0)(1)(1)ˆ()()()e k x k x k =-. 若取k=t , t+1, …, n ,则对应的残差序列为{}(0)(0)(0)(0)()(1),(2),,()e k e e e n =计算其生成序列(1)()e k ,并据此建立相应的GM(1,1)模型(1)(0)ˆ(1)[(1)]e a k e ee eu u et e e a a -+=-+ 得修正模型(1)(0)(0)(1)(1)()()(1)e a k ak e e e u u u x t x e k t a e e a a a δ--⎡⎤⎡⎤+=-++---⎢⎥⎢⎥⎣⎦⎣⎦其中1()0k tk t k t δ≥⎧-=⎨≤⎩为修正参数.应用此模型时要考虑:1、一般不是使用全部残差数据来建立模型,而只是利用了部分残差.2、修正模型所代表的是差分微分方程,其修正作用与()k t δ-中的t 的取值有关.1.4 GM(1,1)模型的适用范围定理:当GM(1,1)发展系数||2a ≥时,GM(1,1)模型没有意义.我们通过原始序列()0i X 与模拟序列()0ˆiX 进行误差分析,随着发展系数的增大,模拟误差迅速增加. 当发展系数0.3a -≤时,模拟精度可以达到98%以上;发展系数0.5a -≤时,模拟精度可以达到95%以上;发展系数1a ->时,模拟精度低于70%;发展系数 1.5a ->时,模拟精度低于50%. 进一步对预测误差进行考虑,当发展系数0.3a -<时,1步预测精度在98%以上,2步和5步预测精度都在90%以上,10步预测精度亦高于80%;当发展系数0.8a ->时,1步预测精度已低于70%.通过以上分析,可得下述结论:1、当0.3a -<时,GM(1,1)可用于中长期预测;2、当0.30.5a <-≤时,GM(1,1)可用于短期预测,中长期预测慎用;3、当0.50.8a <-≤时,GM(1,1)作短期预测应十分谨慎;4、当0.81a <-≤时,应采用残差修正GM(1,1)模型;5、当1a ->时,不宜采用GM(1,1)模型.1.5 GM(1,1)模型实例分析例:则该学生成绩时间序列如下:()()(0)(0)(0)(0)(0)(1),(2),(3),(4)79,74.825,74.29,76.98X x x x x ==对(0)X作一次累加后的数列为()()(1)(1)(1)(1)(1)(1),(2),(3),(4)79,153.825,228.115,305.095X x x x x ==对(1)X做紧邻均值生成. 令(1)(1)(1)()0.5()0.5(1)Z k x k x k =+-,得()()(1)(1)(1)(1)(2),(3),(4)116.4125,151.47,150.1925Z z z z ==则数据矩阵B 及数据向量Y 为(1)(1)(1)(2)1116.41251(3)1151.471(4)1150.19251z B z z ⎡⎤--⎡⎤⎢⎥⎢⎥=-=-⎢⎥⎢⎥⎢⎥⎢⎥--⎣⎦⎣⎦,(0)(0)(0)(2)74.825(3)74.29(4)76.98x Y x x ⎡⎤⎡⎤⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦ 对参数列ˆ[,]Taa b =进行最小二乘估计,得 176.61ˆ()[,]0.0144T T T T a B B B Y B Y a u -⎡⎤====⎢⎥-⎣⎦即 0.0144a =-,76.61u = 则GM(1,1)模型为()()110.014476.61dx x dt-= 时间响应式为(1)0.0144ˆ(1)5399.13895320.1389xk e -+=- 当1k =时,我们取(1)(0)(0)ˆˆ(1)(1)(0)79xx x === 还原求出(0)X的模拟值. 由(0)(1)(1)ˆˆˆ()()(1)Xk x k x k =--,取2,3,4k =,得 ()()(0)(0)(0)(0)(0)ˆˆˆˆˆ(1),(2),(3),(4)79,74.281,74.3584,76.4513xx x x x == 通过预测,得到实际值与预测值如下表:实际值 预测值 相对误差()k ε 第一学期79 79 0 第二学期 74.825 74.2810 0.73% 第三学期 74.29 74.3584 0.0921% 第四学期76.9876.45130.7051%表 4 四学期的实际值与预测值的误差表因为()10%k ε<,那就可得学生的预测值,与现实值进行比较得出该模型精度较高,可进行预测和预报.我们对学生未来两个学期(也就是第五、六个学期)的成绩进行预测,分别为77.5602分和78.6851分.例:某大型企业1999年至2004年的产品销售额如下表,试建立GM(1,1)预测模型,并预测2005年的产品销售额。
灰色预测法第一节灰色系统一、灰色预测的概念灰色预测是就灰色系统所作的预测。
所谓灰色系统是介于白色系统和黑箱系统之间的过渡系统,其具体含义是:如果某一系统的全部信息已知为白色系统,全部信息末知为黑箱系统,部分信息已知、部分信息未知,那么这一系统就是灰色系统。
一般地说,社会系统、经济系统、生态系统都是灰色系统。
例如物价系统,导致物价上涨的因素很多,但已知的却不多,因此对物价这一灰色系统的预测,可以用灰色预测方法。
灰色系统理论认为对既含有已知信息又含有本知或非确定信息的系统进行预测,就是对在一定范围内变化的,与时间有关的灰色过程的预测。
尽管过程中所显示的现象是随机的、杂乱无章的,但毕竟是有序的、有界的,因此这一数据集合具备潜在的规律。
灰色预测就是利用这种规律建立灰色模型对灰色系统进行预测。
灰色预测一般有四种类型。
1.数列预测。
对某现象随时间的顺延而发生的变化所作的预测定义为数列预测。
例如对消费物价指数的预测,需要确定两个变量,一个是消费物价指数的水平,另一个是这一水平所发生的时间。
2.灾变预测。
对发生灾害或异常突变事件可能发生的时间预测称为灾变预测。
例如对地震时间的预测。
3.系统预测。
对系统中众多变量间相互协调关系的发展变化所进行的预测称为系统预测。
例如市场中代用商品、相互关联商品销售量互相制约的预测。
4.拓扑预测。
将原始数据作曲线,在曲线上按定值寻找该定值发生的所有时点,并以该定值为框架构成时点数列,然后建立模型预测未来该定值所发生的时点。
二、系统功能模拟与灰色分析(一)系统模拟所谓系统模拟是指通过系统模型间接地模拟真实系统的过程。
系统模型建立起来后,在人为控制的条件下,通过改变特定参数,观察和研究模型的情况,以预测系统在真实环境下的特征、规律、作用、效率等。
这是组建系统的必经过程,也是研究系统的重要手段。
根据系统模型和系统真实情况相似关系的特点,一通常把模拟分为物理模拟与数学模拟两大类。
物理模拟是以系统模型和真实系统之间物理相似或几何相似为基础的一种模拟方法。
灰色理论在灰色理论中,通常用GM (n, m )来表示灰色模型,其中,n 为差分次数,m 为变量的个数。
对于沉降的预测,工程研究人员一般采用GM (1, 1)来进行预测。
等时距GM (1, 1)模型等时距GM (1, 1)模型是最常用的一种灰色预测模型,也是非等时距GM (1,1)模型的建模基础。
设观测到的原始等时距数据序列为:{}[0](0)(0)(0)(0)(1),(2),,(),,()X x x x k x n =⋅⋅⋅⋅⋅⋅其中,(0)()x k 为k t 时刻对应的初始数值,时间步长1i i t t c +-=为常数,1,2,3i n =⋅⋅⋅。
对[0]X 中的数据经过一次累加(1-AGO )运算,得到光滑的生成数列:{}[1](1)(1)(1)(1)(1),(2),,(),,()X x x x k x n =⋅⋅⋅⋅⋅⋅其中,(1)(0)1()()k k i i x t xt ==∑,1,2,3k n =⋅⋅⋅。
[1]X 的均值数据序列[1]Z 可以表示为:{}[1](1)(1)(1)(1)(1),(2),,(),,(1)Z z z z k z n =⋅⋅⋅⋅⋅⋅-其中,(1)(1)(1)()1/2()(1)z k x k x k ⎡⎤=++⎣⎦。
(1)()x k 的GM (1, 1)模型白化形式的微分方程可表示为:(1) 其中,a ,b 为待定参数,可以由式(1)离散化后求得,式(1)在区间[,1]k k +离散后的方程为:(0)(1)(1)()x k az k b ++= (2)离散的过程:式(1)在区间[,1]k k +上积分,有:111(1)(1)()()k k k kk kdxt ax t dt bdt ++++=⎰⎰⎰ 1(1)(1)(1)(0)()(1)()(1)k kdxt x k x k x k +=+-=+⎰所以,式(1)离散后的方程为式(2)。
利用最小二乘法可以从式(2)中求得参数a 和b :(0)(1)(0)(1)(1)()(1)=-()x k az k b x k az k b Y Ba ++=⇒++⇒= 式中,(1)(0)(1)(0)(1)(0)(1), 1(2)(2), 1(3), Y=, , 1 (1),1()z x a z x B a b z n x n ⎡⎤⎡⎤-⎢⎥⎢⎥-⎡⎤⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⋅⋅⋅⋅⋅⋅⎣⎦⎢⎥⎢⎥⎢--⎥⎢⎥⎣⎦⎣⎦把求得的参数代入式(1)中,可以得到白化方程的解为: (1)1()/at x t c e b a -=+当t=1时,(1)(1)(0)(1)(1)(1)()=(1)(1)()=((1)/)/a t x t x x x t x b a e b a --=⇒-+所以GM (1,1)模型的时间相应数据序列为:k =1,2,3….n 。
灰色系统建模灰色系统理论在建模中的应用:灰色系统理论在建模中被广泛用来处理数据。
与插值拟合相比,利用灰色模型处理数据不仅对数据没有很强的限制,而且精度更高,计算更简便。
常用的灰色系统生成方式有: 累加生成,累减生成,均值生成,级比生成等,下面对这几种生成做简单介绍. 累加生成:(0)(0)(0)(0)(0)(1)(1)(1)(1)(1)(1)(0)[(1),(2),,()],,[(1),(2),,()],:x x x x x n x x x x x n x x ==令为原始序列,记生成数为如果与之间满足如下关系(1)(0)1()();1,2,,(21)ki x k x i k n===-∑,1AGO -一次累加生成则称为记为累加生成在灰色系统理论中有着非常重要的地位,它能使任意非负数列,摆动的或非摆动的,转化为非减的的,递增的数列.累减生成:累减生成,即对数列求相邻两数据的差,累减生成是累加生成的逆运算,常简记为IAGO(Inver se Accumulated Generating Operation), 累减生成可将累加生成还原为非生成数列,在建模过程中用来获得增量信息,其运算符号为∆.()()(),,:r r i x r x i ∆令为次生成数列对作次累减生成记为其基本关系式为(0)()()(1)()(0)()(0)()(2)()(1)()(1)()()()(1)()(1)()[()]()[()][()][(1)][()][()][(1)](25)[()][()][(1)]r r r r r r r r i r i r i r x k x k x k x k x k x k x k x k x k x k x k --∆=∆=∆-∆-∆=∆-∆--∆=∆-∆-(0)(1)(),(0)0,;(0)1(0)11.i k k i k k i ∆∆-∆--式中为次累减即无累减为1次累减,即与时刻两个零次累减量求差,为次累减,即与时刻两个次累减量求差(25):-从式还可得到以下关系(1)()(0)()(0)()()()1(1)(1)11(1)[()][()][(1)]()(1)(26)()()()r r r r r kk r r i i r x k x k x k x k x k x i x i xk ---==-∆=∆-∆-=---=-=∑∑(2)()(1)()(1)()(1)(1)1(2)(2)11(2)[()][()][(1)]()(1)(27)()()()r r r r r kk r r i i r x k x k x k x k x k x i x i x k -----==-∆=∆-∆-=---=-=∑∑:同理可得()()()[()]()(28)i r r i x k xk -∆=-()()(0)[()]()(29)r r x k x k ∆=-(29),,.,,.:1,r r r -=从式可以看出对次生成数列作次累减即还原为非生成数列事实上累加中包含着累减累减中包含着累加比如时有1(1)(0)(0)(0)11(1)(0)()()()()(1)()(210)k k i i x k x i x i x k x k x k -====+=---∑∑(0)(1)(1)()()(1)x k x k x k =--进一步有(1)()()()()(1)(211)r r r x k x k x k -=---.均值生成分为邻均值生成与非邻均值生成两种 σρ级比生成是一种常用的填补序列端点空穴的方法.对数列端点值的生成,我们无法采用均值生成填补空缺,只能采用级比生级比生成.成是级比级比生(k 成在建模中可以获得较好的灰)与光滑比(k)生成指数律.的总称.(0)(0)(0)(0)[(1),(2),,()],(),(),X x x x n K k σρ=设序列为原始序列称为级比为光滑比其表达式为(0)(0)(0)(1)()()/(1)()()/(1)(212)k x k x k k x k x k σρ=-=--(0)(0)(0)(0)(0)(0)(0)[(1),(2),,(1),()],(1)(1),()(),(1)()X x x n n x n x n x x n ϕϕϕϕ=-设为端点是空穴的序列若用右邻的级比生成用的左邻级比生成则称和为级比生成GM(1.1)模型建模机理 GM(1.1)原理步骤 原始数列:{}(0)(0)(0)(0)(1),(2),,()X x x x n =对(0)X 进行一次累加,得到新数列:{}(1)(1)(1)(1)(1),(2),,()X x x x n =(1),()()ki xk x i ==∑其中于是(0)()x k 的GM (1.1)白化形式的微分方程为: (1)(1)(216)dx ax u dt+=- 其中,a,u 为待定系数,将(2-16)式离散化,即得:(1)(1)(1)((1))((1))(217)x k az x k u∆+++=-其中,(1)(1)((1))x k ∆+为(1)x 在(k+1)时刻的背景值 因为:(1)(1)(1)(1)(0)((1))(1)()(1)(218)x k x k x k x k ∆+=+-=+-(1)(1)(1)1(1)((1)())(219)2z k x k x k +=++-将(2-18),(2-19)式代入(2-17)式,得(0)(1)(1)1(1)[(()(1))](220)2x k a x k x k u+=-+++-将(2-20)(1)(1)(0)(1)(1)(0)(0)(1)(1)1((1)(2))12(2)1((2)(3))1(3)(221)2()1((1)())12x x x x x x x n x n x n ⎡⎤-+⎢⎥⎡⎤⎢⎥⎢⎥⎢⎥-+⎢⎥⎢⎥=-⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎢⎥--+⎢⎥⎣⎦(1)(1)(0)(1)(1)(0)(0)(1)(1)1((1)(2))12(2)1((2)(3))1(3),2()1((1)())12x x x x x x Y B x n x n x n ⎡⎤-+⎢⎥⎡⎤⎢⎥⎢⎥⎢⎥-+⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎢⎥--+⎢⎥⎣⎦令[]T a u Φ=为待辨识参数向量,则(2-21)可写成:(222)Y B =Φ-参数向量Φ可用最小二乘法求取,即1ˆˆˆ[,]()T T T a u B B B Y -Φ== 把求取的参数代入(2-16)式,并求出其离散解ˆ(1)(1)ˆˆˆ(1)[(1)](224)ˆˆak uu x k x e a a -+=-+-(0)(1)(1)ˆˆ(1)ˆˆˆ(1)(1)()ˆ(1)[(1)](225)ˆa akxk x k x k u e x e a-+=+-=---还原到原始数据得(224),(225)(1.1),(1.1).GM GM --式称为模型的时间相应函数模型它是模型灰色预测的具体计算公式(GM1.1)模型的精度检验模型选定之后,一定要经过检验才能判定其是否合理,只有通过检验的模型才能用来作预测,灰色模型的精度检验一般有三种方法:相对误差大小检验法,关联度检验法和后验差检验法.下面对这三种方法做个简单介绍.1 级比检验:为了保证建模方法的可行性,需要对已知数据列做必要的检验处理。
灰色系统建模灰色系统理论在建模中的应用:灰色系统理论在建模中被广泛用来处理数据。
与插值拟合相比,利用灰色模型处理数据不仅对数据没有很强的限制,而且精度更高,计算更简便。
常用的灰色系统生成方式有: 累加生成,累减生成,均值生成,级比生成等,下面对这几种生成做简单介绍. 累加生成:(0)(0)(0)(0)(0)(1)(1)(1)(1)(1)(1)(0)[(1),(2),,()],,[(1),(2),,()],:x x x x x n x x x x x n x x ==L L 令为原始序列,记生成数为如果与之间满足如下关系(1)(0)1()();1,2,,(21)ki x k x i k n===-∑L,1AGO -一次累加生成则称为记为累加生成在灰色系统理论中有着非常重要的地位,它能使任意非负数列,摆动的或非摆动的,转化为非减的的,递增的数列.累减生成:累减生成,即对数列求相邻两数据的差,累减生成是累加生成的逆运算,常简记为IAGO(Inver se Accumulated Generating Operation), 累减生成可将累加生成还原为非生成数列,在建模过程中用来获得增量信息,其运算符号为∆.()()(),,:r r i x r x i ∆令为次生成数列对作次累减生成记为其基本关系式为(0)()()(1)()(0)()(0)()(2)()(1)()(1)()()()(1)()(1)()[()]()[()][()][(1)][()][()][(1)](25)[()][()][(1)]r r r r r r r r i r i r i r x k x k x k x k x k x k x k x k x k x k x k --∆=∆=∆-∆-∆=∆-∆--∆=∆-∆-L L(0)(1)(),(0)0,;(0)1(0)11.i k k i k k i ∆∆-∆--式中为次累减即无累减为1次累减,即与时刻两个零次累减量求差,为次累减,即与时刻两个次累减量求差(25):-从式还可得到以下关系(1)()(0)()(0)()()()1(1)(1)11(1)[()][()][(1)]()(1)(26)()()()r r r r r kk r r i i r x k x k x k x k x k x i x i x k ---==-∆=∆-∆-=---=-=∑∑(2)()(1)()(1)()(1)(1)1(2)(2)11(2)[()][()][(1)]()(1)(27)()()()r r r r r kk r r i i r x k x k x k x k x k x i x i x k -----==-∆=∆-∆-=---=-=∑∑:同理可得()()()[()]()(28)i r r i x k x k -∆=-()()(0)[()]()(29)r r x k x k ∆=-(29),,.,,.:1,r r r -=从式可以看出对次生成数列作次累减即还原为非生成数列事实上累加中包含着累减累减中包含着累加比如时有1(1)(0)(0)(0)11(1)(0)()()()()(1)()(210)k k i i x k x i x i x k x k x k -====+=---∑∑(0)(1)(1)()()(1)x k x k x k =--进一步有(1)()()()()(1)(211)r r r x k x k x k -=---.均值生成分为邻均值生成与非邻均值生成两种σρ级比生成是一种常用的填补序列端点空穴的方法.对数列端点值的生成,我们无法采用均值生成填补空缺,只能采用级比生级比生成.成是级比级比生(k 成在建模中可以获得较好的灰)与光滑比(k)生成指数律.的总称.(0)(0)(0)(0)[(1),(2),,()],(),(),X x x x n K k σρ=L 设序列为原始序列称为级比为光滑比其表达式为(0)(0)(0)(1)()()/(1)()()/(1)(212)k x k x k k x k x k σρ=-=--(0)(0)(0)(0)(0)(0)(0)[(1),(2),,(1),()],(1)(1),()(),(1)()X x x n n x n x n x x n ϕϕϕϕ=-L 设为端点是空穴的序列若用右邻的级比生成用的左邻级比生成则称和为级比生成GM(1.1)模型建模机理 GM(1.1)原理步骤 原始数列:{}(0)(0)(0)(0)(1),(2),,()X x x x n =L对(0)X进行一次累加,得到新数列:{}(1)(1)(1)(1)(1),(2),,()X x x x n =L(1),()()ki xk x i ==∑其中于是(0)()x k 的GM (1.1)白化形式的微分方程为: (1)(1)(216)dx ax u dt+=- 其中,a,u 为待定系数,将(2-16)式离散化,即得:(1)(1)(1)((1))((1))(217)x k az x k u∆+++=-其中,(1)(1)((1))x k ∆+为(1)x 在(k+1)时刻的背景值 因为:(1)(1)(1)(1)(0)((1))(1)()(1)(218)x k x k x k x k ∆+=+-=+-(1)(1)(1)1(1)((1)())(219)2z k x k x k +=++-将(2-18),(2-19)式代入(2-17)式,得(0)(1)(1)1(1)[(()(1))](220)2x k a x k x k u+=-+++-将(2-20)(1)(1)(0)(1)(1)(0)(0)(1)(1)1((1)(2))12(2)1((2)(3))1(3)(221)2()1((1)())12x x x x x x x n x n x n ⎡⎤-+⎢⎥⎡⎤⎢⎥⎢⎥⎢⎥-+⎢⎥⎢⎥=-⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎢⎥--+⎢⎥⎣⎦M M M(1)(1)(0)(1)(1)(0)(0)(1)(1)1((1)(2))12(2)1((2)(3))1(3),2()1((1)())12x x x x x x Y B x n x n x n ⎡⎤-+⎢⎥⎡⎤⎢⎥⎢⎥⎢⎥-+⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎢⎥--+⎢⎥⎣⎦M M M 令[]T a u Φ=为待辨识参数向量,则(2-21)可写成:(222)Y B =Φ-参数向量Φ可用最小二乘法求取,即1ˆˆˆ[,]()T T T a u B B B Y -Φ==把求取的参数代入(2-16)式,并求出其离散解ˆ(1)(1)ˆˆˆ(1)[(1)](224)ˆˆak uu x k x e a a -+=-+-(0)(1)(1)ˆˆ(1)ˆˆˆ(1)(1)()ˆ(1)[(1)](225)ˆa ak xk x k x k u e x e a-+=+-=---还原到原始数据得(224),(225)(1.1),(1.1).GM GM --式称为模型的时间相应函数模型它是模型灰色预测的具体计算公式(GM1.1)模型的精度检验模型选定之后,一定要经过检验才能判定其是否合理,只有通过检验的模型才能用来作预测,灰色模型的精度检验一般有三种方法:相对误差大小检验法,关联度检验法和后验差检验法.下面对这三种方法做个简单介绍.1 级比检验:为了保证建模方法的可行性,需要对已知数据列做必要的检验处理。
原始数列:{}(0)(0)(0)(0)(1),(2),,()X x x x n =L级比表达式为:2 后验差检验法(0)(0)2212ˆ(1.1)(231),(232),,GM XX E S S --设按建模法所求出的如所示残差如所示原始序列及残差序列的方差分别为和则2(0)21122211[()]1[()](235)n k nk S x k x n S e k e n ===-=--∑∑(0)1111,(),()n nk k x x k e e k n n ====∑∑其中计算后验差比为:21/(236)C S S =-计算小误差概率:{}1()0.6745(237)p P e k e S =-<-1212,.C p C C S S S S C 指标和是后验差检验的两个重要指标.指标越小越好越小表示大而越小大表示原始数据方差大,即原始数据离散程度大.小表示残方差小,即残差离散程度小.小就表明尽管原始数据很离散,而模型所得计算值与实际值之差并不太离散.1,,0.6745,,,.p p C p 指标越大越好越大表明残差与残差平均值之差小于给定值的点较多即拟合值(或预测值)分布比较均匀.按两个指标可综合评定预测模型的精度模型的精度由后验差和小误差概率共同刻划.一般地,将模型的精度分为四级,见表2-121-表精度检验等级参照表{},,Max p C =模型的精度级别的级别于是的级别3 序列光滑度的理论分析*[(1),(2),,()],:[(1),(2),,()],,()0.5()0.5(1),1,2,,;,(1),:3.1X x x x n Z X Z z z z n z k z k z k k n X x n X ===++=+L L L 设序列是的均值生成序列其中是某一可导函数的代表序列我们将删去后所得的序列仍记为定若满足义11**11(1),()();(2)max ()()max ()()k i k nk nk x k x i x k x k x k z k -=≤≤≤≤<-≥-∑当充分大时,(1),(2).X 则称为光滑序列称为序列光滑条件(0)(0)(0)(0)(0)(0)1(1)(0)1(0)[(1),(2),,()],()()(),2,3,,(1)().k i X x x x n x k x k k k n x k xi X ρ-=====-∑L L 设序列称为序列的光滑比,()1()(,()).,.i k x k k x i k X X k ρρ-∑k-1=1光滑比从另一个侧面反映了序列的光滑性即用序列中第个数据与前个数据的和的比值来考察序列中数序列中的数据变化越平稳其光滑比据变化是否平缓显越小然{}{}(0)1(0)1(0)(0)(1()0)00()()()(),(),1,2,,((),1,2,,,0,.1),.,33k i x k k xi x k x k k n x k k n k k x k k ερε-===<==∀->∃>∑L L 设为非负数据序列当时如果光滑定义光滑为比称离散序列则(1)():(1)1;()2,3,,1;(2)()[0,];2,3,,;(3 3.4)0.5.k X k k k n k k n X ρρρεε+<=-∈=<L L 若序列满足则定义准光称滑序列为{}{}(0)1(0)1(0)())001()(()().()(),(),1,2,,(1(),1,2.1.,),3k i x k k x k k k xi x k x k k n n x k ρε-===<=-=∑L L 设为光滑离散序列的充是的递减函数则称要条件是定理光滑离为:光滑散序列比提高数列的光滑度1 基于函数lnx 变换提高数据序列的光滑度(0)(0)(0)(0)(0)(0)(0)11(0)(0)11(1)()(1)1,ln ()(2)()(1),ln ()()ln ()()k k i i x k x x k x k x e x k x k xi xi --==≥≥≤∑∑若为递增序列,且则是光滑离散序列;若为递增序列,且则002()()(),ln ()()x k x k 由知变换序列具有比原始序列更好的光滑度(0)(0)1(0)(0)111(0)(0)113)()(1)1,1,[ln ()]ln ()[ln ()]ln ()T k k Ti i x k x T x k x k xi xi --==≥>≤∑∑若为递增序列,且则1003()()(),ln ()]ln ()T x k x k 由知变换序列[具有比原始序列更好的光滑度(0)(0)1(0)(0)(0)1111(0)(0)(0)11111(0)(0)(0)11111(0)(0)(0)111(4)()(1),1,[ln ()]ln ()()[ln ()]ln ()()[ln ()][()]()[ln ()][()]()T k k k Ti i i T T k k k TTi i i x k x e T x k x k x k x i xi xi x k x k x k xi xi xi ---===---===≥≥≤≤≤≤∑∑∑∑∑∑若为递增序列,且则20->.()a x a 基于函数变换提高光滑度的方法(0)(0)(0)(0)(0)1(0)(0)(0)(0)1111(0)(0)(0)(0)1111(1)()(1)1,()](0)(2)()(1)1,1,0[()][ln ()]ln ()()[()][ln ()]ln ()()a aT k k k k aTi i i i x k x x k a x k x T a x k x k x k x k xi xi xi xi ------====≥>≥≥>≤≤≤∑∑∑若为递增序列,且则[是光滑离散序列;若为递增序列,且则对于有1-∑1002-()()(),()]ln ()]a T x k x k 由知变换序列[具有比原始序列[更好的光滑度2(),:在应用时应注意以下两点000021≥=≥≥()()()()(),),rrx x xx1.若的条件(1)e 或(1)不成立可选择某个常数c, 使(1)(1)+c e(或最后再还原.02()(),()x k a 2.对的a 可根据实际情况定一般情况下越大,取得越小.3->.()x a a 基于函数变换提高光滑度的方法(0)(0)(0)(0)(0)()(0)(0)1()(0)(0)(0)11111()(0)(0)(0)1111(1)()(1)1,(1)(2)()(1)1,1,1[ln ()]ln ()()[ln ()]ln ()()xk xk T k k k k x i Ti i i i x k x a a x k x T a a x k x k x k axi xi xi 若为递增序列,且则是光滑离散序列;若为递增序列,且则对于有-------====≥>≥≥>≤≤≤∑∑∑∑01021->()()()(),ln ()]x k T a a x k 由知变换序列()具有比序列[更好的光滑度4 灰色GM(1.1)优化模型分析传统GM(1.1)模型背景值对预测精度的影响X0=x%format long ;format short g;[m,n]=size(X0);X1=cumsum(X0); %累加X2=[];for i=2:nlamuda(i)=X0(i-1)/X0(i); endlamudafor i=1:n-1X2(i,:)=X1(i)+X1(i+1);endfor i=1:n-1X2(i,:)=X1(i)+X1(i+1);endfor i=2:nsigema(i)=X0(i)/X1(i-1);endsigema%sigema属于(1,1.5)时,则具有准指数规律,可建立预测模型幂函数变换、对数变换和复合变换m=2/(n+1);ep=[exp(-m) exp(m)]%级比检验lamuda(i)必须落到ep区间内B=-0.5.*X2 ;t=ones(n-1,1);B=[B,t] ; % 求B矩阵YN=X0(2:end) ;Pt=YN./X1(1:(length(X0)-1)) %对原始数据序列X0进行准光滑性检验,Pt∈[0,ε]当ε<0.5 时, 则称x(0)(t)为准光滑序列%序列x0的光滑比P(t)=X0(t)/X1(t-1)A=inv(B.'*B)*B.'*YN.' ;a=A(1)u=A(2)c=u/a ;b=X0(1)-c ;X=[num2str(b),'exp','(',num2str(-a),'k',')',num2str(c)];strcat('X(k+1)=',X)%syms k;for t=1:length(X0)k(1,t)=t-1;endkY_k_1=b*exp(-a*k)+c;for j=1:length(k)-1Y(1,j)=Y_k_1(j+1)-Y_k_1(j);endyuce=[Y_k_1(1),Y] %预测值CA=abs(yuce-X0) ; %残差数列Theta=CA %残差检验绝对误差序列err= CA ./ X0 %相对误差序列如果err<0.2,则可认为达到一般要求,如果err<0.1,则认为达到较高的要求A V=mean(CA); % 残差数列平均值R_k=(min(Theta)+0.5*max(Theta))./(Theta+0.5*max(Theta)) ;% P=0.5R=sum(R_k)/length(R_k) %关联度Temp0=(CA-A V).^2 ;Temp1=sum(Temp0)/length(CA);S2=sqrt(Temp1) ; %绝对误差序列的标准差%----------A V_0=mean(X0); % 原始序列平均值Temp_0=(X0-A V_0).^2 ;Temp_1=sum(Temp_0)/length(CA);S1=sqrt(Temp_1) ; %原始序列的标准差TempC=S2/S1*100 %方差比?C=strcat(num2str(TempC),'%')%方差比均方差比值C 越小越好,C<0.35为好,C<0.5为合格%----------SS=0.675*S1 ;Delta=abs(CA-A V) ;TempN=find(Delta<=SS);N1=length(TempN);N2=length(CA);TempP=N1/N2*100;P=strcat(num2str(TempP),'%') %后验差检验%计算小误差概率P>0.85为合格,P>0.95为好。