什么是灰色预测法?灰色预测法是一种对含有不确定因素的系统进行预测的方法。灰色系统是介于白色系统和黑色系统之间的一种系统。白色系统是指一个系统的内部特征是完全已知的,即系统的信息是完全充分的。而黑色系统是指一个系统的内部信息对外界来说是一无所知的,只能通过它与外界的联系来加以观测研究。灰色系统内的一部分信息是已知的,另一部分信息时未知的,系统内各因素间具有不确定的关系。灰色预测通过鉴别系统因素之间发展趋势的相异程度,即进行关联分析,并对原始数据进行生成处理来寻找系统变动的规律,生成有较强规律性的数据序列,然后建立相应的微分方程模型,从而预测事物未来发展趋势的状况。其用等时距观测到的反应预测对象特征的一系列数量值构造灰色预测模型,预测未来某一时刻的特征量,或达到某一特征量的时间。灰色预测的类型①灰色时间序列预测;即用观察到的反映预测对象特征的时间序列来构造灰色预测模型,预测未来某一时刻的特征量,或达到某一特征量的时间。②畸变预测;即通过灰色模型预测异常值出现的时刻,预测异常值什么时候出现在特定时区内。③系统预测;通过对系统行为特征指标建立一组相互关联的灰色预测模型,预测系统中众多变量间的相互协调关系的变化。④拓扑预测;将原始数据作曲线,在曲线上按定值寻找该定值发生的所有时点,并以该定值为框架构成时点数列,然后建立模型预测该定值所发生的时点为了弱化原始时间序列的随机性,在建立灰色预测模型之前,需先对原始时间序列进行数据处理,经过数据处理后的时间序列即称为生成列。灰色系统常用的数据处理方式有累加和累减两种。关联度生成数列分类通过对原始数据的整理寻找数的规律,分为三类:a、累加生成:通过数列间各时刻数据的依个累加得到新的数据与数列。累加前数列为原始数列,累加后为生成数列。b、累减生成:前后两个数据之差,累加生成的逆运算。累减生成可将累加生成还原成非生成数列。c、映射生成:累加、累减以外的生成方式。灰色预测关系式记x(0)为原始数列x(0)=(x(0)(k)xk=1,2,…,n)=(x(0)⑴,x(0)⑵,…,x(0)(n))记x⑴为生成数列x⑴=(x⑴(k)xk=1,2,…,n)=(x⑴⑴,x⑴⑵,…,x⑴(n))如果x(0)与x⑴之间满足下列关系,即称为一次累加生成。建模步骤a、j建模机理b、把原始数据加工成生成数;c、对残差(模型计算值与实际值之差)修订后,建立差分微分方程模型;d、基于关联度收敛的分析;e、gm模型所得数据须经过逆生成还原后才能用。f、采用“五步建模(系统定性分析、因素分析、初步量化、动态量化、优化)”法,建立一种差分微分方程模型gm(1,1)预测模型。灰色预测GM(1,1)模型令x(0)=(x⑴,x⑵,…,x(n))作一次累加生成,kx(k)=∑x(m)消除数据的随机性和波动性m=1有x=(x⑴,x⑵,…,x(n))=(x⑴,x⑴+x⑵,…,x(n-1)+x(n))x可建立白化方程:dx/dt+ax=u即gm(1,1).该方程的解为:x(k+1)=(x⑴-u/a)exp()+u/a其中:α称为发展灰数;μ称为内生控制灰数灰色预测GM(n,h)模型1、残差模型:若用原始经济时间序列建立的GM(1,1)模型检验不合格或精度不理想时,要对建立的GM(1,1)模型进行残差修正或提高模型的预测精度。修正的方法是建立GM(1,1)的残差模型。2、GM(n,h)模型:GM(n,h)模型是微分方程模型,可用于对描述对象作长期、连续、动态的反映。从原则上讲,某一灰色系统无论内部机制如何,只要能将该系统原始表征量表示为时间序列x(0)(t),并有x(0)(t)0,即可用GM模型对系统进行描述。特点对于一个模糊系统来说,传统的预测方法就会失去作用。处理模糊预测问题的数学方法是模糊数学。模糊数学的基础是模糊集合论,而模糊集合是普通集合的扩展。美国学者l.a.zadeh教授建立的模糊集合论,为模糊预测理论与方法的研究奠定了理论基础。它用简捷有力的方法处理复杂系统,在某种程度上弥补了经典数学与统计数学的不足。灰色预测应用在预测应用上,如气象预报、地震预报、病虫害预报等,国内学者做出了许多有益的研究。灰色预测分析预测混沌理论是这些年来长足发展的一门学科。混沌向世界规律运动的假定性提出挑战。一方面,它告诉我们,宇宙远比我们想得到的要怪异,它使许多传统的科学方法受到怀疑。另一方面,混沌认为许多无规则的事物实际上可能是简单规律的结果。混沌展现给我们的是一些新的规律。灰色预测混沌理论遵从简单规律的系统会以令人惊讶的复杂方式表现其行为。混沌是隐秘形式的秩序。混沌系统是指敏感地依赖于初始条件的内在变化系统,对外来变化的敏感性本身并不意味着混沌。混沌理论最令人兴奋的是:一个非常简单的决定论系统能够产生异常复杂的输出结果。给定一个简单规则和初始条件,系统将产生复杂连续系列,这一点类似“无中生有”。灰色预测研究应用美国科学家帕卡德和他的同事基于混沌和生物进化理论,借助计算机,致力于用图形来描述金融市场的混沌现象。帕卡德认为,世界上有大量不同的随机现象,他所研究的是大体只需几个变量就能描述系统行为的一种混沌现象。他试图建立一种学习算法,对进化模型进行处理。而对于众多的模型,帕卡德采用一种称为遗传算法的方法处理数据。它用类似生物繁殖中突变和杂交现象的方法来改变模型。这种方法的核心是,计算机不断设定新的假设环境,从而使学习算法更具有适应性。认为一个好的学习算法不仅能建立适应模型,它还能时刻观测数据的变化。灰色预测法案例分析案例一:灰色预测法在百亚集团连锁企业的应用商业连锁企业随着门店的不断增加,总部对企业的管理将变得越发困难,尤其是对销售量的预测,这严重影响了决策层对企业的控制和管理,影响总部的决策水平,包括资金的调度和使用、大批量进货以降低成本、门店的发展速度等等。随着模糊数学的不断发展,灰色预测方法得到了广泛应用,它对于商业连锁企业的销售管理,有指导价值。一、灰色预测原理灰色预测是灰色系统理论的重要组成部分,它利用连续的灰色微分模型,对系统的发展变化进行全面的观察分析,并做出长期预测。灰色系统是部分信息已知、部分未知的系统。同时,灰色系统理论将随机过程看作是在一定范围内变化的与时间有关的灰色过程,将随机变量看成是在一定范围内变化的灰色量,显然,商品零售业就是一个灰色过程,商品销售系统就是一个灰色系统,销售量就是一个灰色量。灰色系统理论认为,灰色系统的行为现象尽管是朦胧的,数据是杂乱的,但毕竟是有序的是有整体功能的,因而对变化过程可作科学预测。在灰色理论中,用来发掘这些规律的适当方式是数据生成,将杂乱的原始数据整理成规律性较强的生成数列,再通过一系列运算,就可以建立灰色理论中一阶单变量微分方程的模型即CM(1,1)模型。下面根据百亚集团1995年至2000年门店分类商品销售额数据建立GM(1,1)模型,并预测百亚集团在今后几年里的门店分类销售额。百亚集团门店历年商品分类平均销售状况表(单位10万元)。年份199519961997199819992000类别食品类223.3227.3230.5238.1242.9251.1烟酒类37.939.845.446.246.950.9洗化类34.435.135.536.537.238.0服针纺8.68.78.89.19.09.4文娱类12.012.613.713.914.215.4日杂类27.527.827.227.828.529.3二、模型的实际应用据上表的原始数据列:=(223.3,227.3,230.5,238.1,242.9,251.1)作一次累加生成,得生成数列:X(1)=(223.3,450.6,681.1,919.2,1162.1,1413.2)建立数据矩阵B及即a=-0.025u=217.6u/a=-8705.0故(1)在该模型中,依次取K=1,2,3,4,5,6可以得到各生成数据的模型计算值(1)及还原为原始数据的模型计算值X(0)。生成数对照表序号123456模型计算值223.3449.3681.7918.71162.31412.1实际值223.4450.6681.1919.21162.11413.2还原数对照表序号123456年份199519961997199819992000模型计算值223.3226232.4237243.6249.8实际值223.3227.3230.5238.1242.9251.1相对误差0-0.570.82-0.460.29-0.48从上面的经验可以看出a=-0.025,且接近于0,说明本系统采用灰色预测的方法是适合的,数据检验表明最大误差为0.82%,拟合精度较高。令K=9,则=2693万元K=14,则=3051万元可以预测到2008年,百亚连锁店的门店食品类商品销量将达到3051万元左右,用同样的方法,可以求得百亚集团连锁店各类商品销售量的预测模型。代入上述预测模型,就可以预测到2003年以及2008年百亚连锁集团门店商品分类销售状况,这对于提高总部的商品批量进货决策、门店发展决策、资金的调度和使用以及规范化管理具有重要意义。灰色预测法预测门店分类商品销售额(单位:10万元)200120032008食品类256.1269.3305.1烟酒类53.158.875.9洗化类38.439.543.1服针纺9.59.710.4文娱类15.316.419.9日杂类29.730.633多变量灰色模型的Matlab程序实现下面给出多变量灰色预测模型的算法的流程如图1所示和Marlab程序。clearallclc%输入待预测时刻k及原始序列XOk=:XO=[];%对原始序列XO累加生成序列X1[n,m]=size0);forj=1:mc=0;fori=l:nc=X0(i'j)+c;X1(i'j)=c;endend%计算数据矩阵Lforj:1:mfori=l:n一1l(i’j)=(x1(i'j)+x1(i+1’j))/2;endendL:[1ones(n-1,1)];%计算Y及参数估计值forj--l:mY(1:n一1'j)=x0(2:n'j);a(:'j)=inv(LL)LY(1:n一1,j);enda=a;A=a(1:end,1:end-1);B=a(1:end,end);%计算模型的拟合值或预测值S--XI(1,l:end);ifk::1Z=SelseifklZ=expm2(A(k一1))S+inv(A)(expm2(A(k一1))一eye(size(expm2(A(k一1)))))B-(expm2(A(k一2))S+inv(A)(expm2(A(k一2))一eye(size(epm2(A(k一2)))))术B1elsedisp(输入错误!k不得小于1,)end