




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、3.2时间序列的指数平滑预测法指数平滑法(Expinential smoothing method)的思想也是对时间序列进行修匀以消除不规则和随机的扰动。该方法是建立在如下基础上的加权平均法:即认为时间序列中的近期数据对未来值的影响比早期数据对未来值得影响更大。于是通过对时间序列的数据进行加权处理,越是近期的数据,其权数越大;反之,权数就越小。这样就将数据修匀了,并反映出 时间序列中对预测时点值的影响程度。根据修匀的要求,可以有一次、二次甚至三次指数平滑。3.3.1 一次指数平滑法1 一次指数平滑法的计算公式及平滑系数a的讨论设时间序列为X-X2X3,,Xn,次指数平滑数列的递推公式为:厂 1
2、1St=axt + (1 a)S丄 0<ac1,1 兰t 兰 N1(3-6 )S0 = X1,式中,S;表示第t时点的一次指数平滑值,a称为平滑系数。递推公式(3-6 )中,初始值S0常用时间序列的首项 x1 (适用于历史数据个数较多,如 50个历史数据及以上),如 果历史数据个数较少,如在 15或20个数据及以下时,可以选用最初几期历 -史数据的平均 值作为初始值s0,这些选择都有一定的经验性和主观性。下面讨论平滑系数 a。将递推公式(3-6)展开可得:S1 = axt (1-a)S;=axt (1-a)axtj 仆-玄疋胃丨2 1= axt a(1 a)xt(1 a) St<二
3、二 axt a(1 - a)xt 4 a(1 - a)2xt< 川川 a(1 - a)t'x1 (1 - aS;容易看出,由于0 : a <1 , xi的系数a(1 - a)i随着i的增加而递减。注意到这些系数之和为1,即:-i jt1-(1-a)t、a(1-a)2(a) =a(1-=1id1 - (1 - a)1于是,递推公式(3-6 )中的St就是样本值X1,X2/ ,Xt的一个加权平均。当用递推公式(3-6 )来进行预测时,我们将用S1作为第t 1时点的预测值。从上面的讨论可以看到,离预测时点t 1最近的时点t的值xt,其权为a,最大,其次为Xt j的权a(1 - a
4、),,花的 权最小。可见,公式(3-6 )是在认为新近数据对未来影响大,远期数据对未来影响小的情况下 对原时间序列的加权平均(修匀)。若平滑系数a =0,此时有S; = &斗= S0(= x1),这表明确定s0(=xj后,每个时点的平滑值皆等于 S0,此时,每个时点i的观察值人不起任何作用。若平滑系数a =1,此时有S1 =xt。说明平滑后数列 S1就是原时间序列,即没有对原 时间序列进行任何处理和修匀。对于平滑系数a来说,除了上述两种极端情况外,不可能出现Xi与Xj (i = j)系数相等的情况。综上所述,不难看到,0 : a ::: 1且比较接近1时,计算得到的一次指数平滑值对原历
5、史数据的修匀程度将较小,平滑后的数列值S1能够比较快地反映出原时间序列的实际变化, 因此,对于变化较大或趋势性较强的时间序列适合选择比较靠近1的数据作为平滑系数,比如取 a 0.95,0.90 等。若0 :a :1且取值比较靠近 0时,计算得到的一次指数平滑值对原历史数据的修匀程 度将较大,平滑后的数列对原时间序列的变化反应较迟钝。因此,对于变化较小的、或接近平稳的时间序列,应选择比较靠近0的平滑系数使得平滑过程中的各数据的权数比较接近。【例3-7】某电器销售企业1992-2003年某种电器销售额(万元)及其一次指数平滑数 列计算列表如表3-2所示。表3-2一次指数平滑值计算表(单位:万元)年
6、份19919931994199519961997199819992000200120022003销售额2505247514948514048515159a= 0.25150.851.050.250.350.149.649.947.947.948.549.04380845676a= 0.55150.551.249.150.049.548.749.844.946.448.749.805374795847a-0.85150.251.647.950.349.248.250.442.046.850.150.804398659263本例中选择第一、第二期的历史数据平均值作为次指数平滑的初始值S0。从表3-
7、2中可以看到,原时间序列变动较大,稍具周期性。若想指数平滑后数列敏感地反映出最新的 一些观察值的变动,则应取较大的平滑系数a,如a =0.8。若想消除其周期性变动,施加较大程度的修匀,以反映其长期趋势,则可取较小的a,如a =0.2。2.检验及预测一次指数平滑法适用于对变化比较平稳的时间序列作短期的预测。第t 1时点的预测值yt 1等于按递推公式(3-6 )计算的第t时点的一次指数平滑值 S1,即:二 S;(3-7)类似于移动平均法,同一个问题随着平滑系数的不同可以有若干个一次指数平滑预测值。因此,应该在一个合适的评价标准基础上选择一个合理的平滑系数a。其方法是:首先计算与在原则上合理的多个平
8、滑系数 a相对应的平滑数列,然后分别计算其均方差MSE(见公式(3-7 )或计算其平均绝对误差MAD (见公式(3-8 ),以MSE或MAD最小者对应的平滑系数及其预测值为最合理的。1 NMAD =£ e,而 ©=为Si=Xtyt(3-8)N y一1 1公式(3-8 )中的e = x - s丄工Xt - yt反映了各个时点的平滑值 StJ与实际值xt之间的误差。根据公式(3-2),计算误差数列et的自相关系数rt,若统计量mQ =(N -1) ' :13则说明误差数列具有随机性,可以认为此时的预测是有效的(可以利用前面的Matlab程序funcoef.m 判断)。一
9、次指数平滑法的计算、检验及预测的Matlab程序如下(文件名fun esm1.m)。【例3-8】某商品2004年各月的销售量Xt如表3-3所示,试预测2005年1月的销售量。利用funesm1.m计算的部分结果如下,其他部分数据如表3-3所示。程序中令S0二 = 423,取 L0 =0.10,=0.05,L 0.95,m =7, : -0.05,对应的误差值 Q,也列于表 3-3 中。表3-3历史数据、一次指数平滑值及误差值月0123456789101112序号t0123456789101112Xt42Q358434445527429426502480385427446S1 (=0.1)423
10、42416.418.420.431.431.430.437.442.436.435.436.3358953891455et(: =0.1)0-6517.526.7106.-2.5-5.371.242.1-57.-9.410.5111St -0.2)4242410414.420.442439.436.449.455.441.438.420.33884788672q( =0.2)0-652430.2106.-13-13.65.330.2-70.-14.7.324861St (: =0.3)4242403.412.422.453.446.440.458.465.441.436.439.3357484
11、382198q (: =0.3)0-6530.532.3104.-24.-20.61.721.2-80.-14.9.168421这就是说,取平滑系数:=0.10是合适的,此时预测值为2005年1月的销售量将是y =436.4976。fun esm1.m%厂次指数平滑预测,文件名为fun esm1.m%输入时间序列想,平滑系数初值L0,步长L1,终值L2%俞入判断误差是否为随机误差时需要计算的自相关系数个数m,显著性水平alphafun ctio n ESM1=fu nesm1(x ,L 0,L1,L2,m,alpha)s=zeros(rou nd(L2-L0)/L1),le ngth(x);e
12、=zeros(1,le ngth(x);MAD=zeros(1,rou nd(L2-L0)/L1);k=0;for a=L0:L1:L2k=k+1s(k,1)=x(1);for i=2:le ngth(x)s(k,i)=a*x(i)+(1-a)*s(k,i-1);e(i)=x(i)-s(k,i-1);ends(k,:),efun coef(e,m,alpha);MAD(k)=mea n( abs(e);enddisp ('The smallest MAD and the corresp onding a and forecast')MAD,MAD,k=mi n( MAD);a=
13、L0+L1*(k-1),y=s(k,le ngth(x)end利用上述程序计算得到的一次指数平滑预测值是在多个平滑系数(可自己确定)中计算、比较得到的。3.3.2二次指数平滑法对于呈现出线性趋势的时间序列,在一次指数平滑数列的基础上用同一个平滑系数a再进行一次指数平滑,就是二次指数平滑。构成二次指数平滑数列S2的递推公式如下:令初始值S: = S1 =花(也可取其他值作为初始值),则有:f 11(3-9)St1 =axt +(1 a)SlS1-a)St2_j二次指数平滑的目的是对原时间序列进行两次修匀,使得其不规则变动或周期变动尽量消除掉,让时间序列的长期趋势性更能显示出来。对于平滑系数,同样
14、有一个合理选区的问题。其方法与一次指数平滑法一样,先选取原则上较合理的多个 a值分别计算,得到不同的1 2数列St和S ,再根据均方差 MSE或MAD最小原则确定较为合理的 a值,并得到相应的二次指数平滑值。由于二次指数平滑的目的, 二次指数平滑法较适用于具有线性趋势的时间序列,线性趋势预测模型为:ytT =atbt T(3-10)上式中,T表示自T时点起向前预测的时点数;at,bt满足:at =S;(S1-S2)=2S;-St2,bt(S;-S2)(3-11)1 -a预测模型的有效性检验方法与一次指数平滑法一样。即通过自相关系数或2检验方法进行检验。利用二次指数平滑法预测具有线性趋势性的时间
15、序列的基本步骤为:1.根据历史数据(时间序列)X按照公式(3-6 )计算一次指数平滑值;2 根据公式(3-9 )计算二次指数平滑值;3.由公式(3-11 )计算at ,bt,并由(3-10 )计算自t时点起先前T时期的预测值 y t。 据此,编写的 Matlab程序如下(文件名 funesm2.m)。其中,程序中的 s1 , s2分别表示一 次、二次指数平滑值,a2,b2表示相对于每个平滑系数的 at,bt (公式(3-11 ), y表示线性趋势的预测值。平滑系数从L2 (步长L1 ),然后,从众多平滑系数计算的结果中挑选最小的MAD所对应的平滑系数并最后得到预测值,自t时点起先前的时期数T由
16、预测值确定并输入。fun esm2.m9二次指数平滑,线性趋势预测模型%俞入时间序列x,平滑系数初值L0,步长L1,终值L2%俞入判断误差是否为随机误差时必须计算的自相关系数个数m,显著性水平alphafun ctio n ESM2=fu nesm2(x ,L 0,L1,L2,m,alpha)T=i nput('T=')s1=zeros(rou nd(L2-L0)/L1),le ngth(x);s2=zeros(rou nd(L2-L0)/L1),le ngth(x);a2=zeros(rou nd(L2-L0)/L1),le ngth(x);b2=zeros(rou nd(L
17、2-L0)/L1),le ngth(x);y=zeros(rou nd(L2-L0)/L1),le ngth(x)+T);e2=zeros(rou nd(L2-L0)/L1),le ngth(x);MAD2=zeros(1,rou nd(L2-L0)/L1);k=0;for a=L0:L1:L2k=k+1;s1(k,1)=x(1);s2(k,1)=x(1);for i=2:le ngth(x)s1(k,i)=a*x(i)+(1-a)*s1(k,i-1);s2(k,i)=a*s1(k,i)+(1-a)*s2(k,i-1);a2(k,i)=2*s1(k,i)-s2(k,i);b2(k,i)=(s1
18、(k,i)-s2(k,i)*(a/(1-a);y(k,i+T)=a2(k,i)+b2(k,i)*T;if i+T<=le ngth(x)e2(k,i+T)=x(i+T)-y(k,i+T);endend's1:',s1(k,:),'s2:',s2(k,:),'a2:',a2(k,:),'b2:',b2(k,:),'y:',y(k,:),'e2:',e2(k,:),fun coef(e2(k,:),m,alpha);MAD2(k)=mea n( abs(e2(k,:);endMAD2;MAD2,k
19、=mi n(MAD2);a=L0+L1*(k-1),y(k,le ngth(x)+T)end【例3-9】某市1990-1999年工业产值为xt(t二1,2/ ,12),如表(3-4 )所示,由于原 时间序列大体上呈现增长的趋势,取平滑系数a =0.9利用二次指数平滑法计算的结果如表(包括at,bt值以及误差值et)3-4所示。表3-4中的at,bt值按公式(3-11)计算。于是2000年的预测值为:= 13.700.51 6 =16.76y =13.70 0.51 1 =14.21。而2005年的预测值为:y表3-4年19919911992份0t 012310.10.711.2xt11 10.
20、10.10.611.1S1t 11442 10.10.10.511.0S2 119910.611.2at900.490.50bt11.7012.101993199419951996456711.712.112.312.211.6412.0512.2812.2111.5912.012.2512.21历史数据、二次指数平滑值及误差值ytet0.5011.111.7080.02-0.0020.420.24-0.04012.2012.5212.54-0.10-0.22-0/34103按照表3-4中的误差值et容易看到,对所有的rt都有rk <1997199819992000891012.613.
21、213.712.513.113.646412.513.013.563812.613.213.70000.310.550.5112.112.913.7514.27110.430.29-0.044661.96 _ 80.69。说明误差数列12.3012.20具有随机性(利用2检验法也一样),预测有效。利用Matlab程序funesm2.m计算结果如下:>> x=10.1,10.7,11.2,11.7,12.1,12.3,12.2,12.6,13.2,13.7;>> fun esm2(x,0.90,0.05,0.90,4,0.05)T=1ans =s1:ans =Column
22、s 1 through 710.1000 10.6400 11.1440 11.6444 12.0544 12.2754 12.2075Columns 8 through 1012.5608 13.1361 13.6436ans =s2:ans =Columns 1 through 710.1000 10.5860 11.0882 11.5888 12.0079 12.2487 12.2117Columns 8 through 1012.5258 13.0751 13.5868ans =a2:ans =Columns 1 through 70 10.6940 11.1998 11.7000 1
23、2.1010 12.3022 12.2034Columns 8 through 1012.5957 13.1971 13.7005ans =b2:ans =Columns 1 through 70 0.4860 0.5022 0.5006 0.4191 0.2408 -0.0370Columns 8 through 100.3142 0.5492 0.5117ans =y:ans =Columns 1 through 70 0 11.1800 11.7020 12.2006 12.5201 12.5430Columns 8 through 1112.1664 12.9099 13.7463 1
24、4.2122ans =e2:ans =Columns 1 through 70 0 0.0200 -0.0020 -0.1006 -0.2201 -0.3430Columns 8 through 100.4336 0.2901 -0.0463These data are stochastica = 0.9000ans = 14.2122333布朗(Brown)非线性指数平滑法当时间序列呈现非线性趋势时,可以采用布朗(Brown)非线性指数平滑法进行预测。其基本原理是在一次指数平滑、二次指数平滑数列的基础山,再进行一次指数平滑,即三次指数平滑,然后,以此对非线性模型(这里就是二次曲线模型)的参数
25、进行估计,从而达到对非线性时间序列进行预测的目的。设时间序列为為公2,,xN,那么,第t时点的三次指 数平滑数列S3(t =1,2, N)按如下递推公式计算:S; =axt + (1 -a)S;“ S2 =aS +(1 -a)SL( 3-12)§3 =aS2 +(1-a)s2般来说,取初始值 So = So = S03 = X1,且取同一个平滑系数a。根据选定的较合理的平滑系数a值的计算结果sU和S3,按下式(3-13)计算系数。123at =3S: 3S: +S:«bt =a一2 (6 _5a)S; -(10_8a)S; +(4_3a)St3(3-13)2(1-a)2Cf
26、a、2(S: - 2St2+St3) l 2(1-a)合理的平滑系数 a选定与前面的方法相同。即按均方差MSE或平均绝对误差 MAD最小所对应的平滑系数为原则。用T表示自t时点起向前预测的时点期数,则此时的(布朗)二次抛物线型预测模型为:yt T = atbt TctT2(3-14 )预测模型的有效性检验方法同前。即先计算预测偏差$数列及其自相关系数rk,再按2检验法来检验。或通过,|rk - 1.96 N是否成立来检验。编写Matlab程序funesm3.m如下:fun esm3.m%布朗非线性指数平滑%俞入时间序列x,平滑系数初值L0,步长L1,终值L2%俞入判断误差是否为随机误差时必须计
27、算的自相关系数个数m,显著性水平alphafun ctio n ESM3=fu nesm3(x ,L 0,L1,L2,m,alpha)T=i nput('T=')s1=zeros(rou nd(L2-L0)/L1),le ngth(x);s2=zeros(rou nd(L2-L0)/L1),le ngth(x); s3=zeros(rou nd(L2-L0)/L1),le ngth(x);a3=zeros(rou nd(L2-L0)/L1),le ngth(x);b3=zeros(rou nd(L2-L0)/L1),le ngth(x);c3=zeros(rou nd(L2-L
28、0)/L1),le ngth(x);y=zeros(rou nd(L2-L0)/L1),le ngth(x)+T);e3=zeros(rou nd(L2-L0)/L1),le ngth(x);MAD3=zeros(1,rou nd(L2-L0)/L1);k=0;for a=L0:L1:L2k=k+1;s1(k,1)=x(1);s2(k,1)=x(1);s3(k,1)=x(1);for i=2:le ngth(x)s1(k,i)=a*x(i)+(1-a)*s1(k,i-1);s2(k,i)=a*s1(k,i)+(1-a)*s2(k,i-1);s3(k,i)=a*s2(k,i)+(1-a)*s3(
29、k,i-1);a3(k,i)=3*s1(k,i)-3*s2(k,i)+s3(k,i);b3(k,i)=(a/(2*(1-a)A2)*(6-5*a)*s1(k,i)-(10-8*a)*s2(k,i)+(4-3*a)*s3(k,i);c3(k,i)=(aA2/(2*(1-a)A2)*(s1(k,i)-2*s2(k,i)+s3(k,i);y(k,i+T)=a3(k,i)+b3(k,i)*T+c3(k,i)*TA2;e3(k,i+T)=x(i+T)-y(k,i+T);endend's1:',s1(k,:),'s2:',s2(k,:),'s3:',s3(k
30、,:)'a3:',a3(k,:),'b3:',b3(k,:),'c3:',c3(k,:),'y:',y(k,:),'e3:',e3(k,:),fun coef(e3(k,:),m,alpha);MAD3(k)=mea n( abs(e3(k,:);endMAD3;MAD3,k=mi n(MAD3);a=L0+L1*(k-1),y(k,le ngth(x)+T)end程序中的s1,s2,s3分别表示一次、二次以及三次指数平滑值,a3,b3,c3表示相对于每个平滑系数的at,bt,ct (公式(3-13),y表示布朗非线性趋势的预测值。平滑系数从L0到L2 (步长L1),然后,从众多平滑系数计算的结果中挑选最小的MAD所对应的平滑系数并最后得到预测值,自t时点起先前的时期数 T由预测者确定并输入。【例3-10】某国企1988-2000年的利润(万元)历史数据如表 3-5所示。今取平滑系 数=0.5并利用三次指数平滑数列,用二次抛物线型预测模型(3-14 )预测2001、2002年的利润。表3-5历史数据、三次指数平滑值a =0.50年份1988198919901991199219931994t01234567Xt10.615.117.621.624.819.530.4s110.610.612.851
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 项目融资合同协议
- 购房补充协议合同归谁
- 烟店合同协议
- 绿化工程合同协议书
- 赠品领用合同协议
- 税点协议合同
- 施工合同初步协议
- 用户协议合同
- 共管协议共管合同
- 供应合同供油协议
- 全国肉牛产业链分析报告
- 路边小吃摊食品安全问题探究课件
- 人文关怀护理课件胃镜室
- 永椿化工新材料有限公司 年产 800 吨邻三氟甲基苯甲酰氯系列产品、1500 吨 2,6- 二氟苯甲酰胺系列产品、500 吨叔丁基二甲基氯硅烷、500 吨 3-氨基-2-溴-5-氟苯甲酸甲酯等产品项目环境影响报告书
- GB/T 21837-2023铁磁性钢丝绳电磁检测方法
- 新教材高中地理必修一学用地形图探究地貌特征课件
- 中国成人急性呼吸窘迫综合征(ARDS)诊断与非机械通气治疗指南(2023版)解读
- 绿植租摆服务投标方案(完整技术标)
- 国家开放大学《教育学》形考论坛1-4参考答案
- 感染性疾病科建设规范
- 中建八局-安全管理制度汇编
评论
0/150
提交评论