基本GM(1,1)函数 matlab
GM(1,1)模型中的MATLAB程序
GM (1,1)模型中的MATLAB 程序一、GM (1,1)模型的建立:(1)、一次累加生成序列的MA TLAB 命令:>> X0=[142 340 200 500 900 800 490 980 463 1100];>> X1(1)=X0(1)X1 =142>> for k=2:10X1(k)=X1(k-1)+X0(k)endX1 =142 482 682 1182 20822882 3372 4352 4815 5915(2)、由一次累加生成序列紧邻均值生成的)1(Z 的MA TLAB 命令:>> X0=[142 340 200 500 900 800 490 980 463 1100];>> X1(1)=X0(1);>> for k=2:10X1(k)=X1(k-1)+X0(k)Z(k)=(1/2)*(X1(k)+X1(k-1))EndX1 =142 482 682 1182 20822882 3372 4352 4815 5915Z =1.0e+003 *0 0.3120 0.5820 0.9320 1.6320 2.4820 3.12703.86204.58355.3650(3)、GM (1,1)的灰微分方程模型为:b k aZ k X =+)()()1()0(。
设∧α为待估计参数向量,⎥⎦⎤⎢⎣⎡=∧b a α。
利用最小二乘法得到Y B B B ')'(1-∧=α,MA TLAB 程序如下:>> B=[-Z(2:10)',ones(9,1)];>> Y=(X0(2:10))';>> alfa=inv(B'*B)*B'*Yalfa =-0.1062371.6018(4)、GM (1,1)的灰微分方程模型 b k aZ k X =+)()()1()0(的时间相应序列为:ab e a b X k X ak +⋅-=+-∧))1(()1()0()1( 由.6018.371,1062.0=-=b a 令.)1(,)0(u X v a b u -== 计算得到1.3499-=u , 1.3641=v 。
GM(1,1)模型的Matlab实现(范例2)
GM (1,1)模型的MATLAB 实现摘要 本文介绍了灰色预测()1,1GM 模型的基本原理,并在其基础上利用MATLAB 软件进行实现,给出相应的MATLAB 算法。
并通过实例检验MATLAB 算法的正确性与通用性。
关键词模型; 灰色系统; MATLAB ;1 引言1.1灰色预测理论基本介绍灰色系统是指系统论中一部分信息是已知的,但另一部分信息是未知的,系统内各因素间有不确定的关系。
而灰色预测模型是灰色系统理论的重要内容之一,其中灰色模型是邓聚龙教授在1982年提出的一种新的模型计算方法,被广泛应用于农业、工业、医学、军事、经济、交通、生态等许多科学领域,解决了许多领域中的复杂实践问题[13]-。
且对于杂乱无章表征数据,灰色预测能发现其内在必然的联系与规律,即通过鉴别系统各因素之间发展趋势的相异程度,进行关联分析,并对原始数据进行一定的处理,来寻找系统变动的规律,生成有较强规律性的数据序列,建立相应的微分方程模型,从而预见系统的未来的发展趋势及状况。
灰色预测法是用等时距观测到的反映预测对象特征的一系列数量值,构造灰色预测模型,预测未来某一时刻的特征量,或达到某一特征量的时间。
灰色预测有其四种常见的类型,分别为:灰色时间序列预测、畸变预测、系统预测、拓扑预测。
灰色模型(Grey Models )简称GM 模型,是灰色系统理论(Grey System Theory )的一个基本模型。
GM 模型的一般模型为,当中时,GM 模型不能做预测,只能用于分析因子之间的相互作用。
做预测用的一般为模型,其中,用的最多的则是用灰色微分拟合法建立的模型。
由于它预测要求所需样本量少(至少四组),不需要计算统计特征量、不用考虑样本变化的趋势、运算简便、在短期内精度高、预测效果好、容易检查等优点。
本文通过运用MATLAB 软件对模型进行程序实现。
增强模型通用性与实用性,方便今后对其使用。
假设我们有一段原始时间序列:为了弱化原始时间序列的随机性,在建立灰色预测模型之前,我们需要先对原始时间序列进行数据处理,经过数据处理后的时间序列称为生成列。
用Matlab实现GM_1_1_灰色模型的供电量预测
人工智能及识别技术ARTIFICIAL INTELLIGENCE AND IDENTIFICATION TECHNIQUES1灰色预测模型GM (1,1)灰色系统理论是研究解决灰色系统分析、建模、预测、决策和控制的理论,由我国邓聚龙教授在1982年首次提出的。
灰色系统理论具有所需样本数据少,不需要计算统计特征量等优点。
灰色预测解决了连续微分方程的建模问题。
它通过原始数据的整理来寻找数的规律。
在建模时,首先对原始数据进行累加或累减生成,形成新的序列,对新序列建立微分方程模型和解析分析,达到预测原始序列的目的。
其中GM (1,1)模型是基于灰色系统理论的常用预测模型。
因为它具有要求原始数据少、不考虑分布规律、不考虑变化趋势、运算方便、短期精度高、易于检查的优点,得到了广泛的应用。
它的基本原理是:认为原始数列是逐步增长或减少的,通过对原始数列应用累加生成这样的数据处理方法可以得到一条具有指数增长规律的上升形状数列。
由于一阶微分方程的解即是指数增长形式,因此通过建立一阶微分方程模型和累减生成还原就可以得到预测数列。
2GM (1,1)模型的建立(1)对随机序列(i=0,1,2…n )作一次累加(1…AGO)生成序列(i=0,1,2…n ),其中。
(2)按照X i (1)的指数增长规律,可知X i (1)满足下列一阶线性微分方程。
(X(1)是时间t 的函数,这是灰色方程,部分数据未知)(3)参数估计:记待定,经离散化处理,得:Y n=BA.使用最小二乘法求出A 的近似解:,将近似值代入原微分方程:(*)(原微分方程的白化方程)其中(4)Xi (1)的预测值:求解微分方程(*)得到原微分方程的近似解,其中X 1(1)=X 1(0);写成离散形式,得到X i (1)的预测值:(5)X i(0)的预测值:3应用实例用Matlab 实现GM (1,1)灰色模型的供电量预测梁智勇(广东电网公司肇庆供电局,肇庆526040)摘要:介绍灰色预测模型GM (1,1)在电力系统中的预测应用,同时在Matlab 平台上实现了灰色模型GM (1,1)函数的编制。
GM(1,1)模型及其Matlab实现
其中,a,u 为待定系数,分别称为发展系数和灰色作用量,a 的有效区
间是
(-2,2),并记 a,u
构成的矩阵为灰参数
a
=
a u
。只要求出参数
a,u,就能求出 x(1)(t),进而求出 x(0)的未来预测值。
(3)对累加生成数据做均值生成 B 与常数项向量 Yn,即
不得用于商业用途
仅供个人参考
1 2
={132,92,118,130,187,207}
对 X(0)进行一次累加(1—AGO),生成数列:
k
X(1)(k)= i1 X(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}
不得用于商业用途
仅供个人参考
程中所显示的现象是随机的、杂乱无章的,但毕竟是有序的、有界 的,因此得到的数据集合具备潜在的规律。灰色预测是利用这种规 律建立灰色模型对灰色系统进行预测。
目前使用最广泛的灰色预测模型就是关于数列预测的一个变量、 一阶微分的GM(1,1)模型。它是基于随机的原始时间序列,经按时间 累加后所形成的新的时间序列呈现的规律可用一阶线性微分方程的 解来逼近。经证明,经一阶线性微分方程的解逼近所揭示的原始时 间序列呈指数变化规律。因此,当原始时间序列隐含着指数变化规 律时,灰色模型GM(1,1)的预测是非常成功的。
u
u
X
(1)(k)=(X(0)(1)-
a
)
ea(k
1)
+
a
=(132+277.0137483) e0.205(k1) -277.0137483
=409.0137483 e0.205(k1) -277.0137483
基于Matlab和GM(1,1)模型的Weibull分布参数估计
基于Matlab和GM(1,1)模型的W eibull分布参数估计第28卷第3期20l0年6月江西科学LjIANGXiSCNCEV o1.28No.3Jun.2()lO文章编号:IO01—3679(2010)03—029l一04基于Matlab和GM(1,1)模型的Weibul1分布参数估计史景钊,陈新昌,张峰(河南农业大学f』【电工程学院,河南郑州450002)摘要:介绍了随机截尾情况下计算样蕾失效概率的Johnson算法和GM(1,1)模型估计三参数Weibul1分布参数的方法;提出了结合JollrlSOi'l搏法币,CM,1,1,模型估计随机栽黾情况下Weibul1分布参数的方法,编写了相应的Matlab函数,实例计算表明这种方法的计算精度可满足工程需要.关键词:可靠性;Weibu]1分布;参数估什:GM(1,1)模型;Matlab中图分类号:TB114.3文献标识码:A3.ParameterWeibullDistributionParameterEstimationBasedonMatlabandGM(1,I)ModelSHIJing—zhao,CHENXin—chang,ZHANGFeng (HenanAgriculturaJUniversity,HenanZhengzhou450002PRC)Abstract:Introducedarandomsampleofcensoredcases,thefailureprobabilitycalculationof John—sonalgorithmandtheuseofGM(1,1)model,Weibulldistributionparametersestimationtheory,proposedcombinationofJohnsonalgorithmandGM(1,1)modeltoestimateWeibulldistribu tionpa—rametersofthemethod,preparationofMatlabfunction,aninstanceofestimatedresultsshowt hatthemethodiSreliable.Keywords:Reliability.WeibulldistIibution,Parameterestimation,GM(1,1)model,Matlab O前言在产品的寿命试验中有完全寿命试验和截尾寿命试验2种类型.其中截尾寿命试验又分为定时截尾,定数截尾和随饥截尾等.参加试验的部分产品由于某种原因(如人为因素造成产品损坏,统计数据丢失,试验设备失效,根据试验计划有意撤出等)还没有失效就巾途退出试验,这样得到的数据即为随机戳尾数据(也称为右删失数据).随机截尾寿命试验是可靠性寿命试验中最一般的情况,其他寿命试验都可看作它的一个特例.Weibul1分布模型能够根据形状参数的变化表现为各种不同的形状,较好地适用于各类寿命试验,因而在可靠性分析中应用十分广泛.对于服从Weibul1分布的随机截尾寿命数据的参数估计,国内外学者进行了大量的研究,提出了一些参数估计方法,主要有极大似然估计法¨"J,贝叶斯估计法],最小二乘法j,图估计法u叫等.本文根据文献[11]介绍的方法计算样本失效概率,收稿日期:2010—03—23;修订日期:2010—04一】4作者简介:史景钊(1963一),男,河南柘城人,副教授,主要从事农业装备可靠性方面的研究工作.基金项目:河南农业大学博士基金项目(30500022).292?结合文献[12]介的cM(J,J)十I!逊啦饥截尾条件下的三参数weibul1分m参数估计,并征Matlab中实现了这一算法.l样本失效概率的计算假设投入寿命试验的产品数量(即样本容量)为n,产品的寿命为随机变量71,其分布函数为F(t),相应的样本失效概率为F(t),在试验结束时其中有r个产品发生了失效,其失效时间为1s2…,,有=几一r个产品由于各种原因中途撤出了试验,其撤出时间分别为Ys…Y,则观察到的随机截尾寿命数据其时间按从小到大排序后可表示为:f,产品失效时,:l,2,…,r.,【Y产品撤出时,m=1,2t,…,,'.={=1.2.….n显然这类数据不能按照完全样本数据的处理方法计算样本失效概率,必须寻找其他合适的方法.常用的方法有平均次序号法口¨和残存比率法,以下介绍平均次序号法.Johnson认为中途撤出试验的产品会造成失效产品的时问次序发生变化,应该计算失效产品的平均次序号,第r个失效产品的平均次序号为: J=J+,,(1),:(2)2i'+一\一/式中,r为产品的失效序号;J,为第r个失效数据的平均次序号,并假定Jo=0;,,为第r个失效数据平均次序号的增量;i为第r个失效数据的自然序号(包括中途撤出的数据).计算出平均次序号.,后,再以.,,通过中位秩算法或平均秩算法计算失效数据的样本失效概率.中位秩算法:(3)平均秩算法:()(4)实现这一算法的Matlab函数(Johnson.111)为:function[Fn]=Johnson(t,state)=length(t);r=0;fori=1:nif(state(i)==1)r=r+1:20l0年第28卷it(r==1)./(r)=(n+I)/(tl+2一i);%t,(r)为甲均次序数else.,(r)=_,(r—1)+(+l一(r~1))/(n+2一i);end(r)=£(i);(r)=(J(r)-0.3)/(17,+0.4);%此处也可使用平均秩算法(r)=J(r)/(十1);endend在上述函数中,t为寿命试验数据向量,包括失效数据及中途撤出数据;state为状态向量,失效时state(i)=1,撤出时state(i)=0;输出参数为失效数据向量及其中位秩向量.2利用GM(1,1)模型估计Weibul1分布参数2.1Weibul1分布参数与GM(1,1)模型的关系Weibul1分布的寿命分布函数由下式给出()=1一exp[一()](5),式中,m称为形状参数,m>0;77称为尺度参数,叼>0;y称为位置参数,对于产品寿命有O,=0时即是二参数Weibul1分布;是产品的工作时间,.式(5)经过变形处理也可表示为:=y+~Texp(1止)(6)令=In[一ln(1一F())],i=1,2,…,r,并记77=c,n:一1/m,:6,则式(6)可转化为:=cexp(一.tr)+b(7)灰色系统GM(1,1)模型的微分方程为:(f)(∈R)(8)其时间响应模型为:(£):cexp(一口£)+_(9)显然,方程(7)和方程(9)具有相同的形式,若视(,)为一时间序列,则可用GM(1,1)模型对参数a,,进行估计,进而得到m,叩的估计值.CM(1,1)模型各参数的估计值可用最小二乘法得到:3icj】景钏等:Matlabf1jGM(1,1)馍的Weltrol1分币参数汁.293. ,=(10)D=exp(一Ⅲz(1).£(),%汁D;polyf]t(B,】'IZ,1),%求形状参数千¨…..,一7-—1[bc=(DD)DX(11)式中,.:[】":::"】,-Y=[…,].由式(10)得到a和u,由式(11)得到c,比较式(7)和式(9)可知Weibul1分布参数与n,",C的关系],即m=一1/a,y:b:u/a,'7=c,式(11)算出的b是的进一步优化值.2.2参数估计以下以具体实例说明参数估计的过程.考察某机械零件的可靠性,投人10件产品进行寿命试验,试验过程中6件发生了失效,中途有4件撤出试验,失效时问及撤出时问按先后顺序排列如表1所示.表1某机械零件寿命试验表根据式(10)和式(11),编写Matlab函数(Gray.m)完成参数估计.函数代码为:functionP=Gray(,Fn)r=length();%r为失效数;tau:log(1og(1./(1一Fn))),%计算,此处用tau表示;B=一0.5.diff()一([1:r一1]),%计算B;gn=diff()./d~fr(tau),%汁算;位嚣参数初值;bc=polyfit(D,X,1),%优化位黄参数,求尺度参数;P=[一1/au(1),bc(1),bc(2)j.函数的输入为失效时问向量_干IJ佯本失效概率向量F,输出为威布尔分布参数向量P,其中P (1:1为形状参数m,P(2)为尺度参数叼,P(3)为位置参数y.在Marlab的命令窗口中输人试验数据向量及状态向量:t=[544,663,702,727,807,914,939,1084,1199,l265];state=[1,1,0,0,1,1,0,1,1,0];用[,F]=Johnson(t,state)的形式调用样本失效概率的计算函数,计算结果如表1所示. 然后用P:Gray(,F)的形式调用Gray函数即可得到估计结果.上例若用Johnson中位秩法计算样本失效概率, 得到的估计结果为P=[3.086,1026.408,92.699], 即该批零件服从形状参数为3.086,尺度参数为1026.408,位置参数为92.699的Weibul1分布. 各失效数据减去位置参数后在Weibu|l概率纸上描点(图1),可看到各点基本在一条直线上,说明试验数据确实服从三参数威布尔分布,计算结果是正确的.//.,/,夕///,/r图1用Weibull概率纸进行分布检验3结语与讨论有中途撤出的服从Weibul1分布的随机截尾数据的参数估计是比较复杂的,用Matlab强大的数学运算功能仅需不多代码即可完成,大大减轻了编程负担,提高了运算效率.实例计算表明,结合Johnson算法与GM(1,—l一"¨~+.:一ll一一,_r●●●●l"lJn式294?1)模型估l}I'三参数Wcil川¨的参敦址f,的,¨既可州于完全样本.吖川J:随饥样小.试验数据能较好地服从Weibul1分布时,仙汁结具有较高的精度,完全可满足一股f程需要.GM(1,1)模型一次性计算出3个参数,且无需迭代计算,快捷,方便,仉无法应』r参数Weibul1分布.参考文献:[1]李海波,张正平,胡彦平,等.基于随机战尾数下Weibul1分布的参数极大似然估汁与应片】[J强度与环境,2009,36(4):6O一64.[2]陈家鼎.随机裁尾情形下Weibul1分布参数的最大似然估计的相合性[J].应用概率统计,1989,5(3): 226—233.[3]师义民,杨昭军.随机截尾寿命试验三参数Weibul1 分布的统计分析[J].西北大学(自然科学版),1996,26(4):285—288.[4]BalakrishnanaN,KateriM.Onthemaxinmmlikelihood estimationofparametersofWeibulldistributionbased oncompleteandcensoreddata.StatisticsandProba~bilityLetters[J].2008,78:2971—2975.[5]林静,韩玉启,朱慧明.一种随机截尾恒加寿命试验的贝叶斯评估[J].系统工程与电子技术,2007,29(2):320—323.20l()年第2};卷[6,J恍,汤/j',必鹤R.删失效f{I戚布尔分币参数的【j!叶断挽汁分忻[J].上海帅池火学(自然科学舨),2008,37(1):28—34.[7关云,术乾坤.一参数WeibuI1分布下随机敲尾恒加寿命试验的Bayes统汁分忻[J].西南民族学院(自然科学版),1997,23(2):l44—148.f8]AlMel~WahidAA,\VinterbottomA.Approximate BayesianestimatesfortheWeibullreliabilityfunctionandhazardratefromcensoreddata『J].JournalofSta. tisticalPlanningandInference,1987.16:277—283.[9]Zhang1F,XieM,TangLC.Biascorrectionforthe]eastsquaresestimatorofWeibullshapeparameterwith completeandL.ensoreddata[J].ReliabilityEngineer- ingandSystemSafety,2006,91:930—939.[10]ZhangLF,XieM,TangLC.Astudyoftwoestimation approachesforparametersofWeibulldistributionbased onWPP[J].ReliabilityEngineeringandSystemSafe-ty,2007,92:360—368.[11]JohnsonLG.TheoryandTechniqueofV ariableRe. search[M].NewY ork:ElsevierPublishingCo.,l964.[12]邓聚龙.灰色系统基本方法[M].武汉:华中理工大学出版社,2Oo5.[13]郑荣跃,秦子增.Weibul1分布参数估计的灰色方法[J].强度与环境,1989,(2):34—4O.(上接第284页)的爆破[J].华东交通大学,2009,26(2):111—114.[3]ZhuXu—sheng,WangGuangchao.TheglobalExj:denee oftheregularsolutionsofthecompressibleEulerequa—tionswithdegeneratelineardamping[J].Journalof Mathematics,2009,29(4):401—408.[4]ThomasC.Sideris.Formationofsingularitiesinthree—di—mensionalcompressiblefluids『J].Communicationsin MathematicalPhysics,1985,10l:475—485.[5]ZhuXu—sheng,WangWei—ke.Theregularsolutionsof theisentropicEulerequationswithdegeneratelinear damping[J].ChineseAnnalsofMathematics,2005,26B(4):583—598[6]SergeA,Blowupnonlinearhyperbolicequations[M]. Boston:BrikhuserPress,1995.[7]WangWei—ke,Y angTong.Thepointwiseeatimatesofso- lutionsforEulerequationswithdmpinginmulti—,dimen?- sions[J].JournalofDifferentialEquations,2000,173,4l0—450.。
Matlab灰色预测模型GM(1,1)代码
s=0;xx0(1)=X0(1);
for jj=2:1:m2;
xx0(jj)=xx1(jj)-xx1(jj-1);
end
disp('GM(1,1)对数列进行预测结果');xx0
disp('数列1原始观测数据');X0
disp('a');AU(1)
disp('u');AU(2)
z=z+x(i,:);
be(i,:)=z;
end
for i=2:n %对原始数列平行移位
y(i-1,:)=x(i,:);
end
for i=1:n-1 %计算数据矩阵B的第一列数据
c(i,:)=-0.5*(be(i,:)+be(i+1,:));
% 本程序主要用来计算根据灰色理论建立的模型的预测值。
% 应用的数学模型是 GM(1,1)。
% 原始数据的处理方法是一次累加法。
y=input('请输入数据 ');
n=length(y);
yy=ones(n,1);
yy(1)=y(1);
for i=2:n
yy(i)=yy(i-1)+y(i);
disp(['再下个拟合值为',num2str(ys(n+2))]);
x(0)={x(0)(1),x(0)(2),……,x(0)(N)}=
{ 724.57, 746.62, 778.27, 800.8, 827.75,871.1, 912.37, 954.28, 995.01, 1037.2}
function c7fun73
基于MATLAB的GM(1,1)模型在变形预测中的应用
基于MATLAB的GM(1,1)模型在变形预测中的应用摘要:变形测量值是已发生的变形量,但更重要的是通过对变形观测资料的处理,从现有的数据中预报出下一时刻的变形值,以判断工程的安全状况。
应用matlabrua软件编制了灰色预测模型及精度检验程序.matlab是专用的矩阵计算软件,对矩阵的计算有很好的效果,而且用起来比较容易简单,还可以允许用户编程对功能进行扩展。
灰色gm(1,1)预测模型在计算过程中主要是以矩阵为主,它与matlab的结合解决了它在计算中的问题。
由以上的实例可以看出,用matlab编制的灰色预测程序简单实用,容易操作,预测精度较高,而且可以直接绘出直观的二维折线图,为用户参考。
关键词:变形监测;灰色系统;灰色预测模型中图分类号:o141.4 文献标识码:a 文章编号:1 引言matlab源于matrix laboratory一词,原意是为矩阵实验室,是由john little和cleve molar共同成立的美国math works公司推出的一种集数学、图形处理和程序设计语言于一体的科技应用软件。
它把科学计算、结果的可视化和编程都集中在一个使用非常方便的环境中。
在这个环境中,用户的问题和得到的结果都是通过用户非常熟悉的数学符号来表达的。
matlab系统包括几个组成部分:matlab语言、matlab工作环境、matlab工具箱和matlab的api。
matlab以向量和矩阵为基本数据单位,被称为第4代计算机语言,有着其他一些语言所无法比拟的特点:功能强大;语言简单;扩充能力强、可开发性强;编程容易、效率高。
它已在国内外高校、科研机构和工程技术上得到了广泛的应用[1]。
灰色gm(1,1)预测模型在计算过程中主要是以矩阵为主,它和matlab的结合可以有效的解决了灰色系统理论在矩阵计算中的问题,为灰色系统理论的应用提供了一种新的方法[2]。
2gm(1,1)预测模型的matlab部分源程序根据上述gm(1,1)模型的数学思想,结合matlab语言的特点编制了一套可读性强,容易理解的预测程序。
灰色模型GM(1,1)&matlab实现
单位:亿请根据1978-2012年的全国人口数据,用GM(1,1)来预测未来人口数量,能预测50年内的数据吗?100年呢?为什么?摘要:关键字:人口预测、GM(1,1)一、问题的重述二、问题的分析三、模型假设1、假设本问题所使用的数据均真实有效,具有统计分析价值2、不考虑战争、灾害、疾病对人口数目的影响;3、...4、...四、符号说明与名词解释4.1符号说明见模型假设。
4.2名词解释...五、模型的建立与求解5.1模型建立在灰色系统理论中,称抽象的逆过程为灰色模型,也称GM。
它是根据关联度、生成数灰导数,灰微分等观点和一系列数学方法建立起来的连续型的微分方程。
通常GM表示为GM(n,h)。
当n=h=1时即构成了单变量一阶灰色预测模型。
设原始时间序列为:(0)(0)(0)(0)(0)[(1),(2),(3),,()]X x x x x n=设(1)X为(0)X的一次累加序列:即:(1)(0)(1)(1)(1)(1)(0)()(-1)(),2,, x xx k x k x k k n ⎧=⎪⎨⎪=+=⎩得(1)(1)(1)(1)(1)[(1),(2),(3),,()] X x x x x n=利用(1)X 计算GM(1,1)模型参数a 、u ,令ˆ[,]T aa u =, 则有1ˆ()T T N aB B B Y -= 其中(1)(1)(1)(1)(1)(1)1((1)(2))121((2)(3))121((1)())12x x x x B x n x n ⎡⎤-+⎢⎥⎢⎥⎢⎥-+⎢⎥=⎢⎥⎢⎥⎢⎥--+⎢⎥⎣⎦(0)(0)(0)[(2),(3),,()]T N Y x x x n =由此获得:(1)(1)ˆ(1)((1))ak u uxk x e a a -+=-+ 于是:(0)(1)(1)ˆˆˆ(1)(1)()1xk x k x k +=+-()或(0)(0)ˆ(1)-((1))ak uxk a x e a-+=-(2)注:(1)式是根据(0)X 和(1)X 的关系的到的(2)式是利用数学求导还原得到的至于用哪个,最好看相对误差5.2模型求解:求解得:六、模型检验6.1残差检验残差大小检验,即对模型值和实际值的残差进行逐点检验。
【数学建模】day14-建立GM(1,1)预测评估模型应用
【数学建模】day14-建⽴GM(1,1)预测评估模型应⽤学习建⽴GM(1,1)灰⾊预测评估模型,解决实际问题:SARS疫情对某些经济指标的影响问题⼀、问题的提出 2003 年的 SARS 疫情对中国部分⾏业的经济发展产⽣了⼀定影响,特别是对部分疫情较严重的省市的相关⾏业所造成的影响是显著的,经济影响主要分为直接经济影响和间接影响。
直接经济影响涉及商品零售业、旅游业、综合服务等⾏业。
很多⽅⾯难以进⾏定量的评估,现仅就 SARS 疫情较重的某市商品零售业、旅游业和综合服务业的影响进⾏定量的评估分析。
究竟 SARS 疫情对商品零售业、旅游业和综合服务业的影响有多⼤,已知某市从 1997 年 1 ⽉到 2003 年 12 ⽉的商品零售额、接待旅游⼈数和综合服务收⼊的统计数据如下⾯三表所⽰。
试根据这些历史数据建⽴预测评估模型,评估 2003 年 SARS 疫情给该市的商品零售业、旅游业和综合服务业所造成的影响。
⼆、模型的分析与假设模型分析: 根据所掌握的历史统计数据可以看出,在正常情况下,全年的平均值较好地反映了相关指标的变化规律。
这样,对于每⼀个经济指标,考虑从两部分着⼿建⽴预测评估模型:1. 利⽤灰⾊理论建⽴GM(1,1)模型,根据1997-2002年的平均值序列,预测2003年的平均值。
2. 通过历史数据计算每⼀个⽉的指标值与全年总值之间的关系,并将此关系拓展到2003年,进⽽预测出2003年每⼀个⽉的指标值。
进⽽与真实数据值作⽐较,从⽽得出结论。
模型假设:1. 假设所有的统计数据真实可靠。
2. 假设该市SARS疫情流⾏期间和结束之后,数据的变化只与SARS疫情的影响有关,不考虑其他随机因素的影响。
三、建⽴灰⾊预测模型GM(1,1) 由已知数据,对于1997-2002年的某项指标记为A= (a ij)6*12,计算每年的平均值作为初始数列。
记为: 并要求级⽐。
对x(0)做⼀次累加得1-AGO序列: 式中: 取x(1)的加权均值序列: 式中,α是确定参数。
用Matlab实现灰色数列模型GM(1,1)的预测
然 按 式; l{ 一  ̄a鲁 后 公 ( z n 鲁j + 2 = 2 ep
计 算 出 预 测 数 列 的 累 加 值 , 用 反 累 加 运 算 z : 一 j2 一 采 2 ; (
; , 即得 预 测 数 列 的 值 。
1 2 M a lb编 程 . ta
1 1 GM ( , ) 模 原 理 . 11 建
关 键 词 : 灰 色 数 列 模 型 GM ( , ) 1 1 ; 预 测 ; M a lb t a
灰 色 数 列 模 型 是 邓 聚 龙 教 授 A 8 年 代 提 出 的 一 种 预 测 O 在
模 型 , 用 对 数 列 建 立 微 分 方 程 的 办 法 , 无 规 则 的 原 始 灰 色 采 对 数 列 进 行 分 析 和 预 测 。 于 它 所 需 因 素 少 , 型 简 单 ,在 我 国 由 模
为 了 便 于 灰 色 数 列 模 型 的 计 算 , Malb平 台 上 编 制 灰 在 t a 色 数 列 模 型 的 函 数 , 将 该 函 数 以 g m 的 文 件 名 保 存 在 并 m. \ alb wo k 目 录 中 , 便 调 用 。 m 函 数 的 编 程 和 变 量 解 M t \ r子 a 以 g
维普资讯
V O1 .1 5 NO . 4 2 002
文 章 编 号 :0 4 3 (0 2 0 —2 20 1 0 — 3 7 2 0 ) 10 9 — 2 1
中 图 分 类 号 :R3 】 1
文献 标识 码 : A
用 Malb实 现 灰 色 数 列模 型 GM ( ,) 预 测 t a 11的
Sce c d c i n e an Te hno o y ,W uhan43 81) lg 00
GM(1,1)
x (k 1)
( 0)
再在(1)式中 x
(1)
1 (1) (1) [ x ( k 1 ) x (k )] 取时刻k和k+1的平均值,即 2
则(1)式的离散形式为
1 (1) x (k 1) a[ ( x (k 1) x (1) (k ))] b 2
(0)
(2)
记
x ( 0 ) ( 2) (0) x (3) Y (0) x (n)
0
(1)
1)
b
三、GM(1,1)模型的有效性检验
1、灰色模型的建模优劣精度通常用后验差C和小误差概率P综合评定 预测等级精度 优 合格 P >0.95 >0.8 C <0.35 <0.5
勉强
不合格 2、a的取值决定模型的预测效果 -a <0.3 0.3~0.5 0.5~0.8
dx(1) (1) ax b dt
解之可得
b b x (t ) [ x 1 1 ]e at a a
1
(3)
(1) ( 0) 令 x (1) x (1) ,将(3)式写成离散形式,得下式
x
(1)
b a k k 1 [ x 0 1 b ] e
灰色预测技术
——GM(1,1)模型
张元磊 2014年4月1日
一、GM(1,1)模型的建模原理
灰色理论将无规律的历史数据列经累加生成后,使其变为具有
指数增长规律的上升形状数列,由于一阶微分方程解的形式是
指数增长形式,所以可以对生成后数列建立微分方程模型。即 灰色模型实际上是对生成数列建模。 GM模型所得数据必须经历过逆生成,即累减生成做还原后才能 应用。
灰色预测模型GM(1,1)的matlab运行代码
灰色预测模型GM(1,1)的matlab 运行代码例 由1990—2001年中国蔬菜产量,建立模型预测2002年中国蔬菜产量,并对预测结果作检验。
分析建模:给定原始时间1990—2001年资料序列X )0((k),对X )0((k)生成1-AGO(累加)序列X )1((k)及Y n 。
见下表X )1((k)=)(1i )0(i X k∑=; Y n =T X X X )]12(,),3(),2([)0()0()0( 对上述X )0((k)的GM(1,1),得到[][][][][][][][][][][]⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡+-+-+-+-+-+-+-+-+-+-+-==⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡-----------=15236.2-1331173.5-1244348.01204848.5-1168369.5-1135943.5-1107892.5-186730.0-168581.5-148915.5-129308.0-112115.0111105.011095.01985.01875.01765.01655.01545.01435.01325.01215.01)12(1)11(1)10(1)9(1)8(1)7(1)6(1)5(1)4(1)3(1)2()1()1()1()1()1()1()1()1()1()1()1()1()1()1()1()1()1()1()1()1()1()1()1()1()1()1()1()1()1()1()1()1()1()()()()()()()()()()()()()()()()()()()()()()(X X X X X X X X X X X X X X X X X X X X X X z z z z z z z z z z z B 将 B 和Y n 代入辨识算式,有:10.1062105()13999.9T Tn a B B B Y b α--⎡⎤⎡⎤==•=⎢⎥⎢⎥⎣⎦⎣⎦得灰色GM(1,1)模型为(1)灰微分方程X )0((k)-0.1062105 Z )1((k)=13999.9(2)白化方程9.139991062105.0)1()1(=-X dtdX (3)白化方程的时间响应式5.1318135.151332)1()1(ˆ1062105.0)0()1(-=+⎥⎦⎤⎢⎣⎡-=+--t at e a b e a b X t X (4)还原为原始数据预测方程:)(ˆ)1(ˆ)1(ˆ)1()1()0(t X t X t X-+=+,即 t e t X1062105.0)0(15248.968)1(ˆ=+ (5)残差检验: 残差error1=e1=)()ˆ)0()0(i X i X -(,这里残差有12个。
灰色模型GM11matlab实现
单位:亿请根据1978-2012年的全国人口数据,用GM(1,1)来预测未来人口数量,能预测50年内的数据吗?100年呢?为什么?摘要:关键字:人口预测、GM(1,1)一、问题的重述二、问题的分析三、模型假设1、假设本问题所使用的数据均真实有效,具有统计分析价值2、不考虑战争、灾害、疾病对人口数目的影响;3、...4、...四、符号说明与名词解释4.1符号说明见模型假设。
4.2名词解释...五、模型的建立与求解5.1模型建立在灰色系统理论中,称抽象的逆过程为灰色模型,也称GM。
它是根据关联度、生成数灰导数,灰微分等观点和一系列数学方法建立起来的连续型的微分方程。
通常GM表示为GM(n,h)。
当n=h=1时即构成了单变量一阶灰色预测模型。
设原始时间序列为:(0)(0)(0)(0)(0)[(1),(2),(3),,()]X x x x x n=L设(1)X为(0)X的一次累加序列:即:(1)(0)(1)(1)(1)(1)(0)()(-1)(),2,, x xx k x k x k k n ⎧=⎪⎨⎪=+=⎩L得(1)(1)(1)(1)(1)[(1),(2),(3),,()] X x x x x n=L利用(1)X 计算GM(1,1)模型参数a 、u ,令ˆ[,]T aa u =, 则有1ˆ()T T N aB B B Y -= 其中(1)(1)(1)(1)(1)(1)1((1)(2))121((2)(3))121((1)())12x x x x B x n x n ⎡⎤-+⎢⎥⎢⎥⎢⎥-+⎢⎥=⎢⎥⎢⎥⎢⎥--+⎢⎥⎣⎦L L (0)(0)(0)[(2),(3),,()]T N Y x x x n =L由此获得:(1)(1)ˆ(1)((1))ak u uxk x e a a -+=-+ 于是:(0)(1)(1)ˆˆˆ(1)(1)()1xk x k x k +=+-()或(0)(0)ˆ(1)-((1))ak uxk a x e a-+=-(2)注:(1)式是根据(0)X 和(1)X 的关系的到的(2)式是利用数学求导还原得到的至于用哪个,最好看相对误差5.2模型求解:求解得:六、模型检验6.1残差检验残差大小检验,即对模型值和实际值的残差进行逐点检验。
Matlab实现GM(1,1)模型(源代码)
Matlab实现GM(1,1)模型(源代码)关于这个模型的介绍不想多说了,只是⼀个娱乐⽽已。
下⾯是所有的代码,直接粘到你的M⽂件⾥⾯,然后跑就是了。
⼀分钱不收。
function [ simulation,params] = GM( org )n=length(org);%⼀次累加for i=1:nacc(i)=sum(org(1:i));end%计算背景值for i=1:(n-1)zk(i)=0.5*(acc(i)+acc(i+1));end%求解参数params=polyfit(zk,org(2:end),1);%计算模拟值for i=1:nif i==1simulation(i)=org(1);elsesimulation(i)=(org(1)+params(2)/params(1))*(1-exp(-params(1)))*exp(params(1)*(i-1));endendplot(1:n,org,'-o',1:n,simulation,'-*');legend('原始序列','拟合序列');细⼼的朋友应该会注意到⼀件事情:灰⾊预测模型⾥⾯不是有那么多矩阵运算吗,在这⾥怎么没有?如果你跑了程序⼜会发现,这个程序计算出来的结果,跟任何⼀本书上写的结果完全⼀样。
这是为啥嘞?如果再细⼼点,会看到我这⾥获取参数的代码: params=polyfit(zk,org(2:end),1);。
没错,就是线性拟合。
任何⼀本讲灰⾊理论的书上都会告诉你,参数估计是由这个式⼦加上最⼩⼆乘法得到的。
这事情的确没有错,但如果你仔细点,把移到等式的右边去,你发现了什么。
没错,这TM不就是⼀个离散直线⽅程么。
那么这⾥只需要把看成是直线⽅程⾥的y,⽽把看成是x。
那这个参数估计,就只是个简单的线性回归⽽已。
这样⼀来,只要是能实现线性回归的函数,完全都可以实现它所谓的参数估计。
matlab的GM(1,1)模型实现
matlab的GM(1,1)模型实现%程序中的变量定义:alpha是包含α、μ值的矩阵;ago是预测后累加值矩阵;var是预测值矩阵;error是残值矩阵;c是后验差比值function gm(x); %定义函数gm(x)clc; %清屏,以使计算结果独立显示format long; %设置计算精度if lengthh(x(:,1))=1 %对出入矩阵进行判断,如不是一维列矩阵,进行转置变换x=x';end;n=length(x); %取输入数据的样本量z=0;for i=1:n %计算累加值,并将值赋予矩阵bez=z+x(i,:);be(i,:)=z;endfor i=2:n %对原始数列平行移位y(i-1,:)=x(i,:);endfor i=1:n-1 %计算数据矩阵B的第一列数据c(i,:)=-0.5*(be(i,:)+be(i+1,:));endfor j=1:n-1 %计算数据矩阵B的第二列数据e(j,:)=1;endfor i=1:n-1 %计算数据矩阵BB(i,1)=c(i,:);B(i,2)=c(i,:);endalpha=inv(B.'*B)*B.'*y; %计算参数α、μ矩阵for i=1:n+1 %计算数据估计值得累加数列,如改n+1为n+m可预测后m-1的值ago(i,:)=(x(1,:)-alpha(2,:)/alpha(1,:))*exp(-alpha(1,:)*(i-1))+alpha(2,:)/alpha(1,:);endvar(1,:)=ago(1,:)for i=1:n %如改n为n+m-1,可预测后m-1个值var(i+1,:)=ago(i+1,:)-ago(i,:); %估计值得累加数列的还原,并计算出下一预测值endfor i=1:nerror(i,:)=var(i,:)-x(i,:); %计算残差endc=std(error)/std(x); %调用统计工具箱的标准差函数计算后验差的比值cago %显示输出预测值得累加数列alpha %显示输出参数α、μ数列var %显示输出预测值error %显示输出误差c %显示后验差的比值c。
基于MATLAB的GM(1,1)建模数据选择及其应用
基于MATLAB的GM(1,1)建模数据选择及其应用
康建伟
【期刊名称】《平顶山学院学报》
【年(卷),期】2012(027)005
【摘要】Based on the selected data, GM (1,1) model is set up and simulated by MATLAB. The result shows that the accuracy of the GM ( 1,1 ) model based on selected data is higher than that of the GM ( 1,1 ) model based on non -selected data.%通过对GM(1,1)建模数据的筛选,并用MATLAB进行计算分析,表明通过数据筛选,可以进一步提高GM(1,1)模型的预测准确度.
【总页数】4页(P25-28)
【作者】康建伟
【作者单位】河南工业大学电气工程学院,河南郑州450001
【正文语种】中文
【中图分类】O159
【相关文献】
1.基于Matlab的灰色GM(1,1)模型的应用研究 [J], 梁武;杜玉霞;化文兰
2.基于C++和MatLab混合编程的GM(1,1)模型实现与应用 [J], 陈婕
3.EXCEL在GM(1,1)模型沉降数据建模计算中的r应用与实现 [J], 曹强;杨虎;陈民坤
4.基于GM(1,1)和DGM(1,1)模型的变形监测数据处理与分析 [J], 郭亚荣
5.一种基于数据融合的新型GM(1,1)建模研究 [J], 魏利胜;费敏锐;张波
因版权原因,仅展示原文概要,查看原文内容请购买。