Vol115,No.2管 理 工 程 学 报JournalofIndustrialEngineeringΠEngineeringManagement2001年第2期
[收稿日期]2000204227(修改稿).[作者单位]复旦大学管理学院,上海200433。一种新的计算组合预测权重的方法
黄 岩 张国春 王其藩 朱道立
摘 要 建立了基于最小二乘原理的组合预测模型,提出了求解此组合预测模型的一种新的算法,即Frank2Wolfe算法,并将其应用于实证研究。结果表明,Frank2Wolfe方法用于求解组合预测问题的权重时,是一种行之有效的方法。 关键词 组合预测;Frank2Wolfe算法;预测精度 中图分类号:C934 文献标识码:A 文章编号:100426062(2001)0220044203
引言自1969年J.M.Bates和C.W.J.Granger首次提出了组合预测的理论和方法以来,组合预测的理论在国内外得到了广泛的应用和发展,而且还在不断地丰富和完善之中,至今仍是预测领域的学术热点之一。为了提高预测结果的精度,对于同一预测问题,若有几种方法,可以采用组合预测方法。以不同的目标函数作要求进行组合,就可得到不同的权系数。为了有效地利用各种模型的优点,将不同的预测方法进行组合,以求产生较好的预测效果。组合预测方法表明,即使一个效果不佳的预测方法,只要它含有系统的独立信息,当其与一个较好的预测方法进行组合后,同样能够改善系统的预测性能,组合预测的目的是综合利用各种方法所提供的信息,避免单一模型丢失信息的缺憾,减少随机性,提高预测精度。求解组合预测问题权重的方法有线性、非线性、动态规划及神经网络等方法,本文提出了求解组合预测问题的一种新算法,即Frank2Wolfe方法,并以组合预测的预测误差平方和最小为目标函数时,得到一组最优的加权系数,实证研究的结果表明,它是一种简便有效的方法。
1 组合预测模型的建立设对同一预测对象,存在n种不同的预测方法(或模型)^Yit(i=1,2,…n,t=1,2,……N),若Yt为第t期的实际
观测值,则可建立组合预测模型的一般形式为Yt=6ni=1ωi^Yit+et。eit=^Yit-Yt为第i种方法的预测误差,为随机扰动项。ωi为第i种方法的组合预测模型中的权重,且满足
6ni=1ωi=1。
^Yt=6ni=1ωi^Yit是选用的组合预测模型。
et=^Yt-Yt是组合预测模型的拟合偏差。
由et=6ni=1ωi(^Yit-Yt)=6ni=1ωieit=(ω1,ω2,…,ωn)(e1t,e2t,…,ent)T,t=1,2,…,N所以e2t=(ω1,ω2,…,ωn)(e1t,e2t,…,ent)T(e1t,e2t,…,ent)(ω1,ω2,…,ωn)T=WTEtW其中W=(ω1,ω2,…,ωn)T
Et
=e21te1te2t…e1te2te2te1te22t…e2tent…………ente1tente2t…e2nt令J=6Nt=1e2t=WT6Nt=1EtW=WTEW其中
E=6Nt=1e21t6Nt=1e1te2t…6Nt=1e1tent
6Nt=1e2te1t6Nt=1e22t…6Nt=1e2tent…………
6Nt=1ente1t6Nt=1ente2t…6Nt=1e2nt称E为预测误差信息矩阵。由此确定最优权重的数学规划模型为minJ=WTEWWTRn=1
W≥0(1)
其中 Rn=(1,1,…,1)T -n维通过上述最小二乘原理,采用各种不同的最优化方法可求解最优权重。
2 组合预测的Frank2Wolfe方法Frank和Wolfe于1956年提出求解线性约束问题的一种非线性规划的算法。这正适合于求解如模型(1)的组合预测问题,因为组合预测模型(1)的目标函数是非线性,而约束条件是线性的。
—44—Frank2Wolfe的一般算法是,当我们考虑非线性规划问题minf(x)s.t. Ax=bx≥0(2)
其中A是m×n矩阵,秩为m,b是m维列向量,f(x)是连续可微函数,x∈En。我们把这问题的可行域记作S={x|Ax=b,x≥0}Frank2Wolfe算法的基本思想是,在每次迭代中,将目标函数f(x)线性化,通过解线性规划求得可行下降方向,进而沿此方向在可行域内作一维搜索,即假设已知可行点x(k),我们将f(x)在x(k)展开,并用一阶Taylor多项式f(x(k))+f(x(k))T(x-x(k))=f(x(k))Tx+[f(x(k))-f(x(k))Tx(k)]逼近f(x),变为解线性规划问题:minf(x(k))Tx+[f(x(k))-f(x(k))Tx(k)]s.t. x∈S(3)
去掉目标函数中的常数项,将此问题改写成minf(x(k))Txs.t.x∈S(4)
若此问题存在有限最优解y(k),由线性规划的基本性质可知,这个最优解可在某极点达到。求解线性规划(3)的结果必为下列两种情形之一:11如果f(x(k))T(y(k)-x(k))=0,则停止迭代,而且可知x(k)是原问题(2)的K-T点。否则迭代不终止。21如果f(x(k))T(y(k)-x(k))≠0,则必有f(x(k))T(y(k)-x(k))<0,因此y(k)-x(k)为x(k)处的下降方向。由于S是凸集,y(k)是S的极点,连结y(k)与x(k)的线段必含于S,即对每一个λ∈(0,1),有λy(k)+(1-λ)x(k)=x(k)+λ(y(k)-x(k))∈S因此y(k)-x(k)是可行方向,故为可行下降方向。这时,从x(k)出发,沿此方向作一维搜索:min f(x(k)+λ(y(k)-x(k)))s.t. 0≤λ≤1(5)
求得λk,令x(k+1)=x(k)+λk(y(k)-x(k)),由于y(k)-x(k)≠0,且为下降方向,因此有f(x(k+1))
得到最优解U(k),U(k)亦为n维。Step3.若|J(W(k))T(U(k)-W(k))|≤ε,则停止计算,得到点W(k);否则,进行Step4。Step4.从W(k)出发,沿方向U(k)-W(k)在连结W(k)和U(k)的线段上搜索:minJ(W(k)+λ(U(k)-W(k)))s.t.0≤λ≤1(7)
得到λk。Step5.令W(k+1)=W(k)+λk(U(k)-W(k))置k:=k+1,返回Step2。以上从Step1到Step5的迭代寻优过程,即是求解组合预测模型(1)的非负最优权重的过程。
3 实证分析生产决定消费,国内生产总值总消费决定了居民的消费水平,为此很有必要对国内生产总值总消费进行科学预测,分析国内生产总值总消费发展趋势,为宏观经济政策的制定提供重要的参考。为了对上海市国内生产总值总消费进行预测,本文选择三种不同的预测方法,分别为复比增长曲线预测法、Holt双参数线性指数平滑预测法及三次指数平滑预测法。根据表1的实际数据资料,求得单个预测模型分别为:1)复比增长曲线模型^Y1(t+m)=41176×1119(t+m)
2)Holt双参数线性指数平滑模型(α=017,γ=0195)^Y2(t+m)=1433186+166187m3)三次指数平滑模型(α=0175)^Y3(t+m)=1423165+166186m-7103m2以上三种预测模型中,m为预测超前期数,m=1,2,…为整数,根据三种预测模型求得误差信息矩阵为
E=120226178-4123149-24518128-41231493212212117723151-245181281772315125209117 运用前面介绍的Frank2Wolfe方法,在计算机上求得单个预测模型的最优权重依次为ω1=0.25,ω2=0.02,ω3=0173,因而组合预测模型为^Y=0.25^Y1t+0.02^Y2t-0.73^Y3t三种预测模型的均方误(具有误差信息放大作用)依次为MSE1=6011134,MSE2=1690.64,MSE3=1400.51,组合预测的均方误MSEc=692.80,可见组合预测具有最好的精度。各种预测值见表1。前述的计算分析和误差分析表明,当我们对一些重要的国民经济指标进行预测时,组合预测可以提高预测的准确性和可靠性。下面利用前面所求出的组合预测模型及表1的数据资料,对上海市1998~2000年的国内生产总值总消费进行预测
,预测结果如表2,表2说明上海市国内生产总值总消费的预测效果,组合预测的结果最为理想,同时也与上海市的实际经济发展水平相符,因而组合预测的结果可以作为我们进行经济决策时的重要参考依据。
—54—Vol115, No12 管 理 工 程 学 报2001年第2期 表1单位:亿元年份实际值^Y1t^Y2t^Y3t组合^Y19785910649154---1979711345817769128--1980811246917182131861698213119818917382169921449511591195198292190981099916299166991261983101119116136991529418910014119841171251381021061411081691161061985155115163173126192135195142
17919861811741941211781382011991991561987200174230138214166215168219138198825514227312822915921912623311219892981623241172891523161173171661990316180384154343179350152358199199138610645611535418533113936314019924761575411094271404591354791381993679135641185545122586119599145199487318976113781117192619188217619951085133903115106911811171151062108199612521331071133130511713261141261129199714231631270183145717314251111386175 实际数据来源:《’98上海统计年鉴》第27页
表2单位:亿元
年份复比增长曲线预测Holt双参数线性指数平滑预测三次指数平滑预测组合预测
1998150714816001731587100156711719991788120176716017431311755114200021211191934147189215819511224 结论当我们对经济现象进行预测时,尽管单个预测模型的选择不一定具有最好的代表性,但组合预测模型可以充分利用各个预测模型的信息,提高预测精度。这在各种组合预测的算法中均得到了验证。当然,预测模型的选择也是一个重要的过程。Frank2Wolfe算法是一种可行方向法,使用这种方法,在每次迭代中,搜索方向总是指向某个极点,并且当迭代点接近最优解时,搜索方向与目标函数的梯度趋于正交,这样的搜索方向并非最好的下降方向,因此算法收敛较慢。但是,这种方法将求解非线性规划问题转化为求解一系列线性规划;而且借助于线性规划软件包和计算机,完全可以解决收敛速度问题,因而当其运用在求解组合预测问题的最优权重过程中,也能收到较好的计算效果,因此不失为一种有用的算法。另外,利用EXCEL中的VBA和规划求解,自行设计具有可视界面的Frank2Wolfe算法,对组合预测中模型个数不多的权重问题求解的实现也简单而直观,在此不再赘述。参考文献1 [美]williamH.Green,王明舰等译[M].经济计量分析,北京:中国社会科学出版社,1998.2 陈宝林.最优化理论与算法[M].北京:清华大学出版社,1989.3 徐国祥主编,统计预测和决策[M].上海:上海财经大学出版社,1998.4 CHATTERJEEandPRICE.RegressionAnalysisbyExample[M].SecondEdition.NewYorkJohnWiley&Sons,Inc.1991.5 BatesJMandGrangerCWJ.Thecombinationofforecasts[J].Opera2tionsResearchQuarterly,1969,20:319~325.责任编辑: 张 蕾
—64—黄 岩等:一种新的计算组合预测权重的方法