关闭

关闭

关闭

封号提示

内容

首页 第24章 时间序列模型.pdf

第24章 时间序列模型.pdf

第24章 时间序列模型.pdf

上传者: Gingerjin 2012-07-26 评分 0 0 0 0 0 0 暂无简介 简介 举报

简介:本文档为《第24章 时间序列模型pdf》,可适用于工程科技领域,主题内容包含第二十四章时间序列模型时间序列是按时间顺序排列的、随时间变化且相互关联的数据序列。分析时间序列的方法构成数据分析的一个重要领域即时间序列分析。时间序符等。

第二十四章时间序列模型时间序列是按时间顺序排列的、随时间变化且相互关联的数据序列。分析时间序列的方法构成数据分析的一个重要领域即时间序列分析。时间序列根据所研究的依据不同可有不同的分类。.按所研究的对象的多少分有一元时间序列和多元时间序列。.按时间的连续性可将时间序列分为离散时间序列和连续时间序列两种。.按序列的统计特性分有平稳时间序列和非平稳时间序列。如果一个时间序列的概率分布与时间t无关则称该序列为严格的(狭义的)平稳时间序列。如果序列的一、二阶矩存在而且对任意时刻t满足:()均值为常数()协方差为时间间隔τ的函数。则称该序列为宽平稳时间序列也叫广义平稳时间序列。我们以后所研究的时间序列主要是宽平稳时间序列。.按时间序列的分布规律来分有高斯型时间序列和非高斯型时间序列。确定性时间序列分析方法概述时间序列预测技术就是通过对预测目标自身时间序列的处理来研究其变化趋势的。一个时间序列往往是以下几类变化形式的叠加或耦合。()长期趋势变动。它是指时间序列朝着一定的方向持续上升或下降或停留在某一水平上的倾向它反映了客观事物的主要变化趋势。()季节变动。()循环变动。通常是指周期为一年以上由非季节因素引起的涨落起伏波形相似的波动。()不规则变动。通常它分为突然变动和随机变动。通常用tT表示长期趋势项tS表示季节变动趋势项tC表示循环变动趋势项tR表示随机干扰项。常见的确定性时间序列模型有以下几种类型:()加法模型tttttRCSTy=()乘法模型tttttRCSTy=()混合模型ttttRSTy=tttttRCTSy=其中ty是观测目标的观测记录)(=tRE)(σ=tRE。如果在预测时间范围以内无突然变动且随机变动的方差σ较小并且有理由认为过去和现在的演变趋势将继续发展到未来时可用一些经验方法进行预测。移动平均法移动平均法是根据时间序列资料逐渐推移依次计算包含一定项数的时序平均数以反映长期趋势的方法。当时间序列的数值由于受周期变动和不规则变动的影响起伏较大不易显示出发展趋势时可用移动平均法消除这些因素的影响分析、预测序列的长期趋势。移动平均法有简单移动平均法加权移动平均法趋势移动平均法等。简单移动平均法设观测序列为Tyy,,L取移动平均的项数TN<。一次简单移动平均值计算公式为:)()(=NttttyyyNML)()()()(NtttNttNttyyNMyyNyyN==L()当预测目标的基本趋势是在某一水平上下波动时可用一次简单移动平均方法建立预测模型:)ˆˆ(ˆ)(==NttttyyNMyLL,,=NNt()其预测标准误差为:NTyySTNttt==)ˆ(()最近N期序列值的平均值作为未来各期的预测结果。一般N取值范围:N。当历史序列的基本趋势变化不大且序列中随机变动成分较多时N的取值应较大一些。否则N的取值应小一些。在有确定的季节变动周期的资料中移动平均的项数应取周期长度。选择最佳N值的一个有效方法是比较若干模型的预测误差。预测标准误差最小者为好。例某企业月~月份的销售收入时间序列如表示。试用一次简单滑动平均法预测第月份的销售收入。表企业销售收入月份t销售收入ty月份t销售收入ty解:分别取,==NN的预测公式ˆ)(=tttttyyyyy,,,L=tˆ)(=ttttttyyyyyy,,L=t当=N时预测值ˆ)(=y预测的标准误差为)ˆ()(===tttyyS当=N时预测值ˆ)(=y预测的标准误差为)ˆ()(===tttyyS计算结果表明=N时预测的标准误差较小所以选取=N。预测第月份的销售收入为。计算的Matlab程序如下:clc,cleary=m=length(y)n=,n为移动平均的项数fori=:length(n)由于n的取值不同yhat的长度不一致下面使用了细胞数组forj=:mn(i)yhat{i}(j)=sum(y(j:jn(i)))n(i)endy(i)=yhat{i}(end)s(i)=sqrt(mean((y(n(i):m)yhat{i}(:end))^))endy,s简单移动平均法只适合做近期预测而且是预测目标的发展趋势变化不大的情况。如果目标的发展趋势存在其它的变化采用简单移动平均法就会产生较大的预测偏差和滞后。加权移动平均法在简单移动平均公式中每期数据在求平均时的作用是等同的。但是每期数据所包含的信息量不一样近期数据包含着更多关于未来情况的信心。因此把各期数据等同看待是不尽合理的应考虑各期数据的重要性对近期数据给予较大的权重这就是加权移动平均法的基本思想。设时间序列为LL,,,,tyyy加权移动平均公式为NNtNttwwwwywywywM=LLNt()式中twM为t期加权移动平均数iw为ity的权数它体现了相应的ty在加权平均数中的重要性。利用加权移动平均数来做预测其预测公式为twtMy=ˆ()即以第t期加权移动平均数作为第t期的预测值。例我国~年原煤产量如表所示试用加权移动平均法预测年的产量。表我国原煤产量统计数据及加权移动平均预测值表年份原煤产量ty三年加权移动平均预测值相对误差(%)解取,,===www按预测公式ˆ=ttttyyyy计算三年加权移动平均预测值其结果列于表中。年我国原煤产量的预测值为(亿吨)ˆ==y这个预测值偏低可以修正。其方法是:先计算各年预测值与实际值的相对误差例如年为=将相对误差列于表中再计算总的平均相对误差。)(ˆ==ttyy由于总预测值的平均值比实际值低所以可将年的预测值修正为=计算的MATLAB程序如下:y=w=m=length(y)n=fori=:mnyhat(i)=y(i:in)*wendyhaterr=abs(y(n:m)yhat(:end))y(n:m)Terr=sum(yhat(:end))sum(y(n:m))y=yhat(end)(Terr)在加权移动平均法中tw的选择同样具有一定的经验性。一般的原则是:近期数据的权数大远期数据的权数小。至于大到什么程度和小到什么程度则需要按照预测者对序列的了解和分析来确定。趋势移动平均法简单移动平均法和加权移动平均法在时间序列没有明显的趋势变动时能够准确反映实际情况。但当时间序列出现直线增加或减少的变动趋势时用简单移动平均法和加权移动平均法来预测就会出现滞后偏差。因此需要进行修正修正的方法是作二次移动平均利用移动平均滞后偏差的规律来建立直线趋势的预测模型。这就是趋势移动平均法。一次移动的平均数为)()(=NttttyyyNML在一次移动平均的基础上再进行一次移动平均就是二次移动平均其计算公式为)()()()()()()()(NtttNtttMMNMMMNM==L()下面讨论如何利用移动平均的滞后偏差建立直线趋势预测模型。设时间序列}{ty从某时期开始具有直线趋势且认为未来时期也按此直线趋势变化则可设此直线趋势预测模型为TbayttTt=ˆL,,=T()其中t为当前时期数T为由t至预测期的时期数ta为截距tb为斜率。两者又称为平滑系数。现在我们根据移动平均值来确定平滑系数。由模型()可知ttya=tttbyy=tttbyy=…ttNtbNyy)(=所以tttttttttNttttbNyNbNNyNbNybyyNyyyM)()()()(====LLL因此tttbNMy)(=()由式()类似式()的推导可得tttbNMy)(=()所以tttttbMMyy==)()(()类似式()的推导可得tttbNMM)()(=()于是由式()和式()可得平滑系数的计算公式为==)()()()()(ttttttMMNbMMa()例我国~年的发电总量如表所示试预测年和年的发电总量。表我国发电量及一、二次移动平均值计算表年份t发电总量yt一次移动平均N=二次移动平均N=解由散点图可以看出发电总量基本呈直线上升趋势可用趋势移动平均法来预测。图原始数据散点图取=N分别计算一次和二次移动平均值并列于表中。)(=M)(=M再由公式()得)()(==MMa)()()(==MMb于是得=t时直线趋势预测模型为TyTˆ=预测年和年的发电总量为ˆˆˆ===yyyˆˆˆ===yyy计算的MATLAB程序如下:clc,clearloadytxt把原始数据保存在纯文本文件ytxt中m=length(y)n=n为移动平均的项数fori=:mnyhat(i)=sum(y(i:in))nendyhatm=length(yhat)fori=:mnyhat(i)=sum(yhat(i:in))nendyhatplot(:,y,'*')a=*yhat(end)yhat(end)b=*(yhat(end)yhat(end))(n)y=aby=a*b趋势移动平均法对于同时存在直线趋势与周期波动的序列是一种既能反映趋势变化又可以有效地分离出来周期变动的方法。指数平滑法一次移动平均实际上认为最近N期数据对未来值影响相同都加权N而N期以前的数据对未来值没有影响加权为。但是二次及更高次移动平均数的权数却不是N且次数越高权数的结构越复杂但永远保持对称的权数即两端项权数小中间项权数大不符合一般系统的动态性。一般说来历史数据对未来值的影响是随时间间隔的增长而递减的。所以更切合实际的方法应是对各期观测值依时间顺序进行加权平均作为预测值。指数平滑法可满足这一要求而且具有简单的递推形式。指数平滑法根据平滑次数的不同又分为一次指数平滑法、二次指数平滑法和三次指数平滑法等分别介绍如下。一次指数平滑法.预测模型设时间序列为LL,,,,tyyyα为加权系数<<α一次指数平滑公式为:)()()()()()(==ttttttSySSySααα()式()是由移动平均公式改进而来的。由式()知移动平均数的递推公式为NyyMMNtttt=)()(以)(tM作为Nty的最佳估计则有)()()()(==ttttttMNNyNMyMM令N=α以tS代替)(tM即得式())()()(=tttSySαα为进一步理解指数平滑的实质把式()依次展开有====)()()()()(jjtjttttySyySααααααL()()式表明)(tS是全部历史数据的加权平均加权系数分别为L,)(),(,ααααα显然有===)()(jjαααα由于加权系数符合指数规律又具有平滑数据的功能故称为指数平滑。以这种平滑值进行预测就是一次指数平滑法。预测模型为)(ˆttSy=即tttyyyˆ)(ˆαα=()也就是以第t期指数平滑值作为t期预测值。.加权系数的选择在进行指数平滑时加权系数的选择是很重要的。由式()可以看出α的大小规定了在新预测值中新数据和原预测值所占的比重。α值越大新数据所占的比重就愈大原预测值所占的比重就愈小反之亦然。若把式()改写为)ˆ(ˆˆttttyyyy=α()则从上式可看出新预测值是根据预测误差对原预测值进行修正而得到的。α的大小则体现了修正的幅度α值愈大修正幅度愈大α值愈小修正幅度也愈小。若选取=α则ttyyˆˆ=即下期预测值就等于本期预测值在预测过程中不考虑任何新信息若选取=α则ttyy=ˆ即下期预测值就等于本期观测值完全不相信过去的信息。这两种极端情况很难做出正确的预测。因此α值应根据时间序列的具体性质在~之间选择。具体如何选择一般可遵循下列原则:如果时间序列波动不大比较平稳则α应取小一点如(~)。以减少修正幅度使预测模型能包含较长时间序列的信息如果时间序列具有迅速且明显的变动倾向则α应取大一点如(~)。使预测模型灵敏度高一些以便迅速跟上数据的变化。在实用上类似移动平均法多取几个α值进行试算看哪个预测误差小就采用哪个。.初始值的确定用一次指数平滑法进行预测除了选择合适的α外还要确定初始值()s。初始值是由预测者估计或指定的。当时间序列的数据较多比如在个以上时初始值对以后的预测值影响很少可选用第一期数据为初始值。如果时间序列的数据较少在个以下时初始值对以后的预测值影响很大这时就必须认真研究如何正确确定初始值。一般以最初几期实际值的平均值作为初始值。例某市~年某种电器销售额如表所示。试预测年该电器销售额。解采用指数平滑法并分别取,α=和进行计算初始值()yyS==即()ˆyS==按预测模型ˆˆ()tttyyyαα=计算各期预测值列于表中。表某种电器销售额及指数平滑预测值计算表(单位:万元)年份t实际销售额ty预测值ˆtyα=预测值ˆtyα=预测值ˆtyα=从表可以看出,α=和时预测值是很不相同的。究竟α取何值为好可通过计算它们的预测标准误差S选取使S较小的那个α值。预测的标准误差见表。表预测的标准误差αS计算结果表明:=α时S较小故选取=α预测年该电器销售额为ˆ=y。计算的MATLAB程序如下:clc,clearloaddianqitxt原始数据以列向量的方式存放在纯文本文件中yt=dianqin=length(yt)alpha=m=length(alpha)yhat(,:m)=(yt()yt())fori=:nyhat(i,:)=alpha*yt(i)(alpha)*yhat(i,:)endyhaterr=sqrt(mean((repmat(yt,,m)yhat)^))xlswrite('dianqixls',yhat)yhat=alpha*yt(n)(alpha)*yhat(n,:)二次指数平滑法一次指数平滑法虽然克服了移动平均法的缺点。但当时间序列的变动出现直线趋势时用一次指数平滑法进行预测仍存在明显的滞后偏差。因此也必须加以修正。修正的方法与趋势移动平均法相同即再作二次指数平滑利用滞后偏差的规律建立直线趋势模型。这就是二次指数平滑法。其计算公式为)()()(=tttSySαα)()()()(=tttSSSαα()式中)(tS为一次指数的平滑值)(tS为二次指数的平滑值。当时间序列}{ty从某时期开始具有直线趋势时类似趋势移动平均法可用直线趋势模型TbayttTt=ˆL,,=T()==)()()()()(ttttttSSbSSaαα()进行预测。例仍以例我国~年的发电总量资料为例试用二次指数平滑法预测年和年的发电总量。表我国发电总量及一、二次指数平滑值计算表(单位:亿度)年份t发电总量yt一次平滑值二次平滑值yt的估计值解取=α初始值)(S和)(S都取序列的首项数值即)()(==SS。计算)()(,ttSS列于表。得到)(=S)(=S由公式()可得=t时)()(==SSa)()()(==SSbαα于是得=t时直线趋势方程为TyTˆ=预测年和年的发电总量为(单位:亿度)ˆˆˆ===yyyˆˆˆ===yyy为了求各期的模拟值。可将式()代入直线趋势模型()并令=T则得)()(ˆ)()()()(tttttSSSSy=αα即)()(ˆtttSSyαα=()令,,,L=t由公式()可求出各期的模拟值。计算结果见表。计算的MATLAB程序如下:clc,clearloadfadiantxt原始数据以列向量的方式存放在纯文本文件中yt=fadiann=length(yt)alpha=st()=yt()st()=yt()fori=:nst(i)=alpha*yt(i)(alpha)*st(i)st(i)=alpha*st(i)(alpha)*st(i)endxlswrite('fadianxls',st',st')a=*ststb=alpha(alpha)*(stst)yhat=abxlswrite('fadianxls',yhat','Sheet','C')str=char('C',intstr(n))xlswrite('fadianxls',a(n)*b(n),'Sheet',str)三次指数平滑法当时间序列的变动表现为二次曲线趋势时则需要用三次指数平滑法。三次指数平滑是在二次指数平滑的基础上再进行一次平滑其计算公式为===)()()()()()()()()()()(tttttttttSSSSSSSySαααααα()式中)(tS为三次指数平滑值。三次指数平滑法的预测模型为ˆTCTbaytttTt=L,,=T()其中===)()()()()()()()()()()()()()(ttttttttttttSSScSSSbSSSaααααααα()例某省~年全民所有制单位固定资产投资总额如表所示试预测年和年固定资产投资总额。表某省全民所有制单位固定资产投资总额及一、二、三次指数平滑值计算表(单位:亿元)年份t投资总额yt一次平滑值二次平滑值三次平滑值yt的估计值解从图可以看出投资总额呈二次曲线上升可用三次指数平滑法进行预测。实际值预测值图某省固定资产投资总额趋势图取=α初始值)()()(====yyySSS。计算)()()(,,tttSSS列于表中。得到)(=S)(=S)(=S由公式()可得到当=t时=a=b=c于是得=t时预测模型为ˆTTyT=预测年和年的固定资产投资总额为(单位:亿元)ˆˆˆ====cbayyyˆˆˆ====cbayyy因为国家从年开始对固定资产投资采取压缩政策这些预测值显然偏高应作适当的修正以消除政策因素的影响。与二次指数平滑法一样为了计算各期的模拟值可将式()代入预测模型()并令=T则得)()()()()()(ˆttttSSSyαααααα=()令,,,,L=t公式()可求出各期的模拟值见表。计算的MATLAB程序如下:clc,clearloadtouzitxt原始数据以列向量的方式存放在纯文本文件中yt=touzin=length(yt)alpha=st=mean(yt(:))st=stst=stst()=alpha*yt()(alpha)*stst()=alpha*st()(alpha)*stst()=alpha*st()(alpha)*stfori=:nst(i)=alpha*yt(i)(alpha)*st(i)st(i)=alpha*st(i)(alpha)*st(i)st(i)=alpha*st(i)(alpha)*st(i)endxlswrite('touzixls',st',st',st')st=st,stst=st,stst=st,sta=*st*ststb=*alpha(alpha)^*((*alpha)*st*(*alpha)*st(*alpha)*st)c=*alpha^(alpha)^*(st*stst)yhat=abcxlswrite('touzixls',yhat','Sheet','D')plot(:n,yt,'*',:n,yhat(:n),'O')legend('实际值','预测值',)xishu=c(n),b(n),a(n)yhat=polyval(xishu,)指数平滑预测模型是以时刻t为起点综合历史序列的信息对未来进行预测的。选择合适的加权系数α是提高预测精度的关键环节。根据实践经验α的取值范围一般以~为宜。α值愈大加权系数序列衰减速度愈快所以实际上α取值大小起着控制参加平均的历史数据的个数的作用。α值愈大意味着采用的数据愈少。因此可以得到选择α值的一些基本准则。()如果序列的基本趋势比较稳预测偏差由随机因素造成则α值应取小一些以减少修正幅度使预测模型能包含更多历史数据的信息。()如果预测目标的基本趋势已发生系统地变化则α值应取得大一些。这样可以偏重新数据的信息对原模型进行大幅度修正以使预测模型适应预测目标的新变化。另外由于指数平滑公式是递推计算公式所以必须确定初始值)()()(,,SSS。可以取前~个数据的算术平均值作为初始值。差分指数平滑法在上节我们已经讲过当时间序列的变动具有直线趋势时用一次指数平滑法会出现滞后偏差其原因在于数据不满足模型要求。因此我们也可以从数据变换的角度来考虑改进措施即在运用指数平滑法以前先对数据作一些技术上的处理使之能适合于一次指数平滑模型以后再对输出结果作技术上的返回处理使之恢复为原变量的形态。差分方法是改变数据变动趋势的简易方法。下面我们讨论如何用差分方法来改进指数平滑法。一阶差分指数平滑法当时间序列呈直线增加时可运用一阶差分指数平滑模型来预测。其公式如下:=tttyyy()tttyyyˆ)(ˆ=αα()tttyyy=ˆˆ()其中的为差分记号。式()表示对呈现直线增加的序列作一阶差分构成一个平稳的新序列式()表示把经过一阶差分后的新序列的指数平滑预测值与变量当前的实际值迭加作为变量下一期的预测值。对于这个公式的数学意义可作如下的解释。因为ttttttyyyyyy==()当我们采用按式()计算的预测值去估计式()中的ty从而式()等号左边的ty也要改为预测值亦即成为式()。在前面我们已分析过指数平滑值实际上是一种加权平均数。因此把序列中逐期增量的加权平均数(指数平滑值)加上当前值的实际数进行预测比一次指数平滑法只用变量以往取值的加权平均数作为下一期的预测更合理。从而使预测值始终围绕实际值上下波动从根本上解决了在有直线增长趋势的情况下用一次指数平滑法所得出的结果始终落后于实际值的问题。例某工业企业~年锅炉燃料消耗量资料如表所示试预测年的燃料消耗量。表某企业锅炉燃料消耗量的差分指数平滑法计算表(=α)(单位:百吨)年份t燃料消耗量yt差分差分指数平滑值预测值解由资料可以看出燃料消耗量除个别年份外逐期增长量大体在吨左右即呈直线增长因此可用一阶差分指数平滑模型来预测。我们取=α初始值为新序列首项值计算结果列于表中。预测年燃料消耗量为ˆ==y(百吨)。二阶差分指数平滑模型当时间序列呈现二次曲线增长时可用二阶差分指数平滑模型来预测计算公式如下:=tttyyy()=tttyyy()tttyyyˆ)(ˆ=αα()ttttyyyy=ˆˆ()其中表示二阶差分。因为tttttttttttttyyyyyyyyyyyyy====)(同样用ty的估计值代替ty得到式()。差分方法和指数平滑法的联合运用除了能克服一次指数平滑法的滞后偏差之外对初始值的问题也有显著的改进。因为数据经过差分处理后所产生的新序列基本上是平稳的。这时初始值取新序列的第一期数据对于未来预测值不会有多大影响。其次它拓展了指数平滑法的适用范围使一些原来需要运用配合直线趋势模型处理的情况可用这种组合模型来取代。但是对于指数平滑法存在的加权系数α的选择问题以及只能逐期预测问题差分指数平滑模型也没有改进。自适应滤波法自适应滤波法的基本过程自适应滤波法与移动平均法、指数平滑法一样也是以时间序列的历史观测值进行某种加权平均来预测的它要寻找一组“最佳”的权数其办法是先用一组给定的权数来计算一个预测值然后计算预测误差再根据预测误差调整权数以减少误差。这样反复进行直至找出一组“最佳”权数使误差减少到最低限度。由于这种调整权数的过程与通讯工程中的传输噪声过滤过程极为接近故称为自适应滤波法。自适应滤波法的基本预测公式为===NiitiNtNtttywywywywyˆL()式()中ˆty为第t期的预测值iw为第it期的观测值权数ity为第it期的观测值N为权数的个数。其调整权数的公式为'=itiiiyekww()式中Ni,,,L=nNNt,,,L=n为序列数据的个数iw为调整前的第i个权数'iw为调整后的第i个权数k为学习常数ie为第t期的预测误差。式()表明:调整后的一组权数应等于旧的一组权数加上误差调整项这个调整项包括预测误差、原观测值和学习常数等三个因素。学习常数k的大小决定权数调整的速度。下面举一个简单的例子来说明此法的全过程。设有一个时间序列包括个观测值如表所示。试用自适应滤波法以两个权数来求第期的预测值。表某时间序列数据表时期t观测值yt本例中=N。取初始权数=w=w并设=k。t的取值由=N开始当=t时:()按预测公式()求第=t期的预测值。ˆˆ===ywywyyt()计算预测误差。ˆ====yyeet()根据式()'=itiiiyekww调整权数为'==ykeww'==ykeww()~()结束即完成了一次权数调整然后t进再重复以前步骤。当=t时:()利用所得到的权数计算第=t期的预测值。方法是舍去最前面的一个观测值y增加一个新的观测值y。即ˆˆ''===ywywyyt()计算预测误差ˆ===yyeet()调整权数'==w'==w这样进行到=t时''ˆˆywywyyt==但由于没有=t的观测值y因此yˆyeet==无法计算。这时第一轮的调整就此结束。把现有的新权数作为初始权数重新开始=t的过程。这样反复进行下去到预测误差(指新一轮的预测总误差)没有明显改进时就认为获得了一组“最佳”权数能实际用来预测第期的数值。本例在调整过程中可使得误差降为零而权数达到稳定不变最后得到的“最佳”权数为'=w'=w用“最佳”权数预测第期的取值ˆ''==ywywy在实际应用中权数调整计算工作量可能很大必须借助于计算机才能实现。计算的MATLAB程序如下:clc,clearyt=::m=length(yt)k=

用户评论(0)

0/200

精彩专题

上传我的资料

每篇奖励 +2积分

资料评价:

/29
0下载券 下载 加入VIP, 送下载券

意见
反馈

立即扫码关注

爱问共享资料微信公众号

返回
顶部