matlab的meadian函数_24 第二十四章 时间序列模型_W

《24 第二十四章 时间序列模型_W》由会员分享,可在线阅读,更多相关《24 第二十四章 时间序列模型_W(31页珍藏版)》请在人人文库网上搜索。

1、第二十四章时间序列模型 时间序列是按时间顺序排列的、随时间变化且相互关联的数据序列。分析时间序列的方法构成数据分析的一个重要领域,即时间序列分析。 时间序列根据所研究的依据不同,可有不同的分类。 1. 按所研究的对象的多少分,有一元时间序列和多元时间序列。 2. 按时间的连续性可将时间序列分为离散时间序列和连续时间序列两种。 3. 按序列的统计特性分,有平稳时间序列和非平稳时间序列。如果一个时间序列的概率分布与时间t 无关,则称该序列为严格的(狭义的)平稳时间序列。如果序列的一、二阶矩存在,而且对任意时刻t 满足: (1) 均值为常数 (2) 协方差为时间间隔 的函数。 则称该序列为宽平稳时间。

2、序列,也叫广义平稳时间序列。我们以后所研究的时间序列主要是宽平稳时间序列。 4. 按时间序列的分布规律来分,有高斯型时间序列和非高斯型时间序列。 1确定性时间序列分析方法概述 时间序列预测技术就是通过对预测目标自身时间序列的处理,来研究其变化趋势的。一个时间序列往往是以下几类变化形式的叠加或耦合。 (1) 长期趋势变动。它是指时间序列朝着一定的方向持续上升或下降,或停留在某一水平上的倾向,它反映了客观事物的主要变化趋势。 (2) 季节变动。 (3) 循环变动。通常是指周期为一年以上,由非季节因素引起的涨落起伏波形相似的波动。 (4) 不规则变动。通常它分为突然变动和随动。 通常用Tt 表示长期。

3、趋势项,St 表示季节变动趋势项,Ct 表示循环变动趋势项,Rt 表示随机干扰项。常见的确定性时间序列模型有以下几种类型: (1) 加法模型 -309-yt(2) 乘法模型 yt(3) 混合模型 ytyt= Tt + St + Ct + Rt= Tt St Ct Rt= Tt St + Rt= St + Tt Ct Rt其中 y 是观测目标的观测记录, E(R ) = 0 , E(R 2 ) = s 2 。 ttt如果在预测时间范围以内,无突然变动且随动的方差s 2 较小,并且有理由认为过去和现在的演变趋势将继续发展到未来时,可用一些经验方法进行预测。 2移动平均法 移动平均法是根据时间序列资。

4、料逐渐推移,依次计算包含一定项数的时序平均数, 以反映长期趋势的方法。当时间序列的数值由于受周期变动和不规则变动的影响,起伏较大,不易显示出发展趋势时,可用移动平均法,消除这些因素的影响,分析、预测序 列的长期趋势。 移动平均法有简单移动平均法,加权移动平均法,趋势移动平均法等。 2.1 简单移动平均法 设观测序列为 y1 ,L, yT ,取移动平均的项数 N T 。一次简单移动平均值计算公式为: tM (1) =1( yt + yNt -1+L + yt - N +1 )= 1 ( y+L+ y) + 1 ( y - y) = M (1) + 1 ( y -1Nt -1t - NNtt - 。

5、Nt -1Ntyt -N )( ) 当预测目标的基本趋势是在某一水平上下波动时,可用一次简单移动平均方法建立预测模型: y= M (1) =1 ( y+ L+ y) ,t = N , N + 1,L,(2) t +1tNtt - N +1T( y - y )2ttt = N +1T - N其预测标准误差为: S =,(3) 最近 N 期序列值的平均值作为未来各期的预测结果。一般 N 取值范围: 5 N200 。当历史序列的基本趋势变化不大且序列中随动成分较多时, N 的取值应较大一些。否则 N 的取值应小一些。在有确定的季节变动周期的资料中,移动平均的项数应取周期长度。选择最佳 N 值的一个有。

6、效方法是,比较若干模型的预测误差。预测标准误差最小者为好。 例 1 某企业 1 月11 月份的销售收入时间序列如表 1 示。试用一次简单滑动平均法预测第 12 月份的销售收入。 表 1 企业销售收入 月份t123456销售收入 yt533.8574.6606.9649.8705.1772.0月份t7891011销售收入 yt816.4892.7963.91015.11102.7解: 分别取 N = 4, N = 5 的预测公式 y + y+ y+ yy(1) = tt -1t -2t-3 , t = 4,5,L,11t+1y=(2)t+14yt + yt -1 + yt -2 + yt-3 +。

7、 yt -4 , t = 5, L,11512当 N = 4 时,预测值 y(1) = 993.6 ,预测的标准误差为 S1 =11( y- y )(1)2ttt =5= 150.5 11 - 412当 N = 5 时,预测值 y( 2) = 182.4 ,预测的标准误差为 11( y- y )( 2)2ttt=611 - 5S2 = 958.2计算结果表明, N = 4 时,预测的标准误差较小,所以选取 N = 4 。预测第 12 月份的销售收入为 993.6。 计算的 Matlab 程序如下: clc,cleary=533.8574.6606.9649.8705.1772.0816.489。

8、2.7963.91015.11102.7;m=length(y);n=4,5;%n 为移动平均的项数 for i=1:length(n)%由于 n 的取值不同,yhat 的长度不一致,下面使用了细胞数组 for j=1:m-n(i)+1yhati(j)=sum(y(j:j+n(i)-1)/n(i);end y12(i)=yhati(end);s(i)=sqrt(mean(y(n(i)+1:m)-yhati(1:end-1).2);endy12,s简单移动平均法只适合做近期预测,而且是预测目标的发展趋势变化不大的情况。如果目标的发展趋势存在其它的变化,采用简单移动平均法就会产生较大的预测偏差和滞。

9、后。 2.2 加权移动平均法 在简单移动平均公式中,每期数据在求平均时的作用是等同的。但是,每期数据所包含的信息量不一样,近期数据包含着更多关于未来情况的信心。因此,把各期数据等同看待是不尽合理的,应考虑各期数据的重要性,对近期数据给予较大的权重,这就是加权移动平均法的基本思想。 设时间序列为 y1 , y2 ,L, yt ,L;加权移动平均公式为 M= w1yt + w2 y2 +L+ wN yt-N +1 ,t N(4) ( 4 ) tww + w+L+ w12N式中 Mtw 为t 期加权移动平均数;wi 为 yt-i+1 的权数,它体现了相应的 yt 在加权平均数中的重要性。 利用加权移。

10、动平均数来做预测,其预测公式为 yt+1 = Mtw即以第t 期加权移动平均数作为第t + 1 期的预测值。 (5) 例 2我国 19791988 年原煤产量如表 2 所示,试用加权移动平均法预测 1989 年的产量。 表 2 我国原煤产量统计数据及加权移动平均预测值表 年份 1979198019811982198319841985198619871988原煤产量 yt6.356.206.226.667.157.898.728.949.289.8三年加权移动平均预测值 6.2356.43676.83177.43838.18178.69179.0733相对误差() 6.389.9813.4114。

11、.78.486.347.41解 取 w1 = 3, w2 = 2, w3 = 1,按预测公式 yt+1= 3yt + 2 yt-1 + yt -23 + 2 + 1计算三年加权移动平均预测值,其结果列于表 2 中。1989 年我国原煤产量的预测值为(亿吨) y1989= 3 9.8 + 2 9.28 + 8.94 = 9.486这个预测值偏低,可以修正。其方法是:先计算各年预测值与实际值的相对误差,例如 1982 年为 6.66 - 6.235 = 6.38%6.66yt将相对误差列于表 2 中,再计算总的平均相对误差。 1-100% = (1-52.89) 100% = 9.5% y 58.。

12、44 t由于总预测值的平均值比实际值低9.5% ,所以可将 1989 年的预测值修正为 9.481 - 9.5%= 10.4788计算的 MATLAB 程序如下: y=6.35 6.206.226.667.157.898.728.949.289.8; w=1/6;2/6;3/6;m=length(y);n=3; for i=1:m-n+1yhat(i)=y(i:i+n-1)*w;end yhaterr=abs(y(n+1:m)-yhat(1:end-1)./y(n+1:m) T_err=1-sum(yhat(1:end-1)/sum(y(n+1:m) y1989=yhat(end)/(1-T_。

13、err)在加权移动平均法中, wt 的选择,同样具有一定的经验性。一般的原则是:近期数据的权数大,远期数据的权数小。至于大到什么程度和小到什么程度,则需要按照预测者对序列的了解和分析来确定。 2.3 趋势移动平均法 简单移动平均法和加权移动平均法,在时间序列没有明显的趋势变动时,能够准确反映实际情况。但当时间序列出现直线增加或减少的变动趋势时,用简单移动平均法和加权移动平均法来预测就会出现滞后偏差。因此,需要进行修正,修正的方法是作二次移动平均,利用移动平均滞后偏差的规律来建立直线趋势的预测模型。这就是趋势移动平均法。 一次移动的平均数为 tM (1) =1( yt + yNt -1+L + 。

14、yt - N +1 )在一次移动平均的基础上再进行一次移动平均就是二次移动平均,其计算公式为 M ( 2) = 1 (M (1) +L+ M (1) = M (2) + 1 (M (1) - M (1) )(6) tNtt - N +1t -1Ntt - N下面讨论如何利用移动平均的滞后偏差建立直线趋势预测模型。 设时间序列yt 从某时期开始具有直线趋势,且认为未来时期也按此直线趋势变化,则可设此直线趋势预测模型为 yt +T = at + btT ,T = 1,2,L(7) 其中t 为当前时期数; T 为由t 至预测期的时期数; at 为截距; bt 为斜率。两者又称为平滑系数。 现在,我们。

15、根据移动平均值来确定平滑系数。由模型(7)可知 at = ytyt -1 = yt - bt yt-2 = yt - 2bt yt- N +1 = yt - (N -1)bt所以 M (1) = yt + yt-1 +L + yt -N +1 = yt + ( yt - bt ) +L+ yt - (N -1)bt 因此 tN= Nyt -1 + 2 +L+ (N -1)bt = y Ny - M (1) = N -1 btt2tN- N -1 bt2t(8) ( 8 ) - 由式(7),类似式(8)的推导,可得 y- M (1) = N1 b(9) 所以 t-1t -12t= M- M= b。

16、y - y(1)(1)(10) tt -1tt -1t类似式(8)的推导,可得 M (1) - M ( 2) = N -1 b(11) (11) tt2t于是,由式(8)和式(11)可得平滑系数的计算公式为 a = 2M (1) - M (2)t2 tt(1)( 2)(12) bt = N -1 (Mt- Mt )例 3我国 19651985 年的发电总量如表 3 所示,试预测 1986 年和 1987 年的发电总量。 表 3 我国发电量及一、二次移动平均值计算表 年份 t发电总量 yt一次移动平均,N6二次移动平均,N6196516761966282519673774196847161969。

17、5940197061159848.3197171384966.31972815241082.81973916681231.819741016881393.819751119581563.51181.119761220311708.81324.519771322341850.51471.919781425662024.21628.819791528202216.21792.819801630062435.81966.5198117309326252143.419821832772832.72330.719831935143046253019842037703246.72733.719852141。

18、073461.22941.2解 由散点图 1 可以看出,发电总量基本呈直线上升趋势,可用趋势移动平均法来预测。 450040003500300025002000150010005000510152025图 1 原始数据散点图 取 N = 6 ,分别计算一次和二次移动平均值并列于表 3 中。 M (1) = 3461.2 , M ( 2) = 2941.22121再由公式(12),得 a= 2M (1) - M ( 2) = 3981.1212 2121b = (M (1) - M (2) ) = 20821 6 -1 2121于是,得t = 21 时直线趋势预测模型为 y21+T = 3981。

19、.1+ 208T预测 1986 年和 1987 年的发电总量为y1986 = y22 = y21+1 = 4192.1 y1987 = y23 = y21+2 = 4397.1计算的 MATLAB 程序如下: clc,clearload y.txt%把原始数据保存在纯文本文件 y.txt 中 m1=length(y);n=6;%n 为移动平均的项数 for i=1:m1-n+1yhat1(i)=sum(y(i:i+n-1)/n;end yhat1m2=length(yhat1); for i=1:m2-n+1yhat2(i)=sum(yhat1(i:i+n-1)/n;end yhat2plot。

20、(1:21,y,*) a21=2*yhat1(end)-yhat2(end)b21=2*(yhat1(end)-yhat2(end)/(n-1) y1986=a21+b21y1987=a21+2*b21趋势移动平均法对于同时存在直线趋势与周期波动的序列,是一种既能反映趋势变化,又可以有效地分离出来周期变动的方法。 3指数平滑法 1一次移动平均实际上认为最近 N 期数据对未来值影响相同,都加权;而 N 期 N以前的数据对未来值没有影响,加权为 0。但是,二次及更高次移动平均数的权数却不 1是 ,且次数越高,权数的结构越复杂,但永远保持对称的权数,即两端项权数小, N中间项权数大,不符合一般系统的。

21、动态性。一般说来历史数据对未来值的影响是随时间间隔的增长而递减的。所以,更切合实际的方法应是对各期观测值依时间顺序进行加权平均作为预测值。指数平滑法可满足这一要求,而且具有简单的递推形式。 指数平滑法根据平滑次数的不同,又分为一次指数平滑法、二次指数平滑法和三次指数平滑法等,分别介绍如下。 3.1 一次指数平滑法 1. 预测模型 设时间序列为 y1, y2 ,L, yt ,L , 为加权系数,0 a 1,一次指数平滑公式为: - S)S (1) = ay + (1- a )S (1) = S (1) + a ( y(1)(13) ttt -1t -1tt -1式(13)是由移动平均公式改进而来。

22、的。由式(1)知,移动平均数的递推公式为 M (1) = M (1) + yt - yt -N tt -1N以 M (1) 作为 y的最佳估计,则有 t -1t -N(1)1 (1)(1)y - My(1)Mt= Mt -1 + tt-1 = t + 1- Mt-1NNN 令a = 1 ,以 S 代替 M (1) ,即得式(13) NttS (1) = ay + (1- a )S (1)ttt-1为进一步理解指数平滑的实质,把式(13)依次展开,有 ttt -1t -2t - jS (1) = ay + (1- a )ay+ (1- a )S (1) = L = a(1 - a ) j yj 。

23、=0(14) t( 14 ) 式 表明 S (1) 是全 部历史数 据的加权 平均,加 权系数分 别为 a ,a (1 - a ),a (1 - a )2 ,L;显然有 a (1- a ) j= a= 1 1 - (1j =0- a )由于加权系数符合指数规律,又具有平滑数据的功能,故称为指数平滑。以这种平滑值进行预测,就是一次指数平滑法。预测模型为 t+1y= St (1)即 yt+1 = ayt + (1 - a ) yt(15) 也就是以第t 期指数平滑值作为t + 1 期预测值。 2. 加权系数的选择 在进行指数平滑时,加权系数的选择是很重要的。由式(15)可以看出, 的大小规定了在新。

24、预测值中新数据和原预测值所占的比重。 值越大,新数据所占的比重就愈大,原预测值所占的比重就愈小,反之亦然。若把式(15)改写为 yt+1 = yt + a ( yt - yt )(16) 则从上式可看出,新预测值是根据预测误差对原预测值进行修正而得到的。的大小则体现了修正的幅度, 值愈大,修正幅度愈大; 值愈小,修正幅度也愈小。 若选取a = 0 ,则 yt+1 = yt ,即下期预测值就等于本期预测值,在预测过程中不考虑任何新信息;若选取a = 1 ,则 yt+1 = yt ,即下期预测值就等于本期观测值,完全不相信过去的信息。这两种 情况很难做出正确的预测。因此, 值应根据时间序列的具体性。

25、质在 01 之间选择。具体如何选择一般可遵循下列原则:如果时间序列波动不大,比较平稳,则 应取小一点,如(0.10.5)。以减幅度,使预测模型能包含较长时间序列的信息;如果时间序列具有迅速且明显的变动倾向,则 应取大一点,如(0.60.8)。使预测模型灵敏度高一些,以便迅速跟上数据的变化。 在实用上,类似移动平均法,多取几个 值进行试算,看哪个预测误差小,就采用哪个。 3. 初始值的确定 0用一次指数平滑法进行预测,除了选择合适的 外,还要确定初始值 s(1) 。初始值是由预测者估计或指定的。当时间序列的数据较多,比如在 20 个以上时,初始值对以后的预测值影响很少,可选用第一期数据为初始值。。

26、如果时间序列的数据较少,在 20个以下时,初始值对以后的预测值影响很大,这时,就必须认真研究如何正确确定初始值。一般以最初几期实际值的平均值作为初始值。 例 4某市 19761987 年某种电器销售额如表 4 所示。试预测 1988 年该电器销售额。 解 采用指数平滑法,并分别取a = 0.2, 0.5 和0.8 进行计算,初始值 S (1) = y1 + y2 = 5102即 y = S (1) = 5110按预测模型 yt +1 = a yt + (1-a ) yt计算各期预测值,列于表 4 中。 表 4 某种电器销售额及指数平滑预测值计算表 (单位:万元) 年份 t实际销售额 yt预测值。

27、 yta = 0.2预测值 yta = 0.5预测值 yta = 0.81976150515151197725250.850.550.2197834751.0451.2551.64197945150.2349.1347.93198054950.3950.0650.39198164850.1149.5349.28198275149.6948.7748.26198384049.9549.8850.45198494847.9644.9442.091985105247.9746.4746.821986115148.7749.2450.961987125949.2250.1250.99从表 4 可以看出。

28、,a = 0.2, 0.5 和0.8 时,预测值是很不相同的。究竟 取何值为好, 可通过计算它们的预测标准误差 S ,选取使 S 较小的那个 值。预测的标准误差见表 5。 表 5 预测的标准误差 a0.20.50.8S4.50294.59084.8426计算结果表明:a = 0.2 时,S 较小,故选取a = 0.2 ,预测 1988 年该电器销售额为 y1988 = 51.1754 。 计算的 MATLAB 程序如下: clc,clearload dianqi.txt%原始数据以列向量的方式存放在纯文本文件中yt=dianqi; n=length(yt);alpha=0.2 0.5 0.8;。

29、m=length(alpha); yhat(1,1:m)=(yt(1)+yt(2)/2;for i=2:nyhat(i,:)=alpha*yt(i-1)+(1-alpha).*yhat(i-1,:);end yhaterr=sqrt(mean(repmat(yt,1,m)-yhat).2) xlswrite(dianqi.xls,yhat) yhat1988=alpha*yt(n)+(1-alpha).*yhat(n,:)3.2 二次指数平滑法 一次指数平滑法虽然克服了移动平均法的缺点。但当时间序列的变动出现直线趋势时,用一次指数平滑法进行预测,仍存在明显的滞后偏差。因此,也必须加以修正。修正。

30、的方法与趋势移动平均法相同,即再作二次指数平滑,利用滞后偏差的规律建立直线趋势模型。这就是二次指数平滑法。其计算公式为 S (1) = ay + (1 - a )S (1)ttt -1S (2) = aS (1) + (1- a )S ( 2)(17) ttt -1式中 S (1) 为一次指数的平滑值; S (2) 为二次指数的平滑值。当时间序列y ,从某时 ttt期开始具有直线趋势时,类似趋势移动平均法,可用直线趋势模型 yt+Ta= at + btT ,T = 1,2,L= 2S (1) - S (2)(18) tatt(1)(2)(19) bt = 1 - a (St进行预测。 - St。

31、 )例 5仍以例 3 我国 19651985 年的发电总量资料为例,试用二次指数平滑法预测 1986 年和 1987 年的发电总量。 表 6 我国发电总量及一、二次指数平滑值计算表(单位:亿度) 年份 t发电总量 yt一次平滑值 二次平滑值 yt+1 的估计值 1965167667667619662825720.7689.467619673774736.7703.6765.419684716730.5711.7784.019695940793.3736.2757.4197061159903.0786.2875.01971713841047.3864.61069.91972815241190.3。

32、962.31308.41973916681333.61073.71516.119741016881439.91183.61705.019751119581595.41307.11806.119761220311726.11432.82007.219771322341878.41566.52145.019781425662084.71722.02324.119791528202305.31897.02602.919801630062515.52082.52888.619811730932688.82264.43134.119821832772865.22444.63295.01983193514。

33、3059.92629.23466.119842037703272.92822.33675.119852141073523.13032.63916.6解 取a = 0.3 ,初始值 S (1) 和 S (2) 都取序列的首项数值,即 S (1) = S (0) = 676 。 0000计算 S (1) , S ( 2) ,列于表 6。得到 ttS (1) = 3523.1 , S (2) = 3032.62121由公式(19),可得t = 21时 a= 2S (1) - S ( 2) = 4013.7 , a212121b=(S (1) - S (2) ) = 210.24211 - a2121。

34、于是,得t = 21 时直线趋势方程为 y21+T = 4013.7 + 210.24T预测 1986 年和 1987 年的发电总量为(单位:亿度) y1986 = y22 = y21+1 = 4223.95y1987 = y23 = y21+2 = 4434.19为了求各期的模拟值。可将a式(19)代入直线趋势模型(18),并令T = 1,则得 y= (2S (1) - S (2) ) +(S (1) - S (2) )t+1tt1- att即11yt+1= 1+ 1-aS (1) - S ( 2)(20) t1- at令t = 1,2,L,21 ,由公式(20)可求出各期的模拟值。计算结果。

35、见表 6。计算的MATLAB 程序如下: clc,clearload fadian.txt%原始数据以列向量的方式存放在纯文本文件中yt=fadian; n=length(yt);alpha=0.3; st1(1)=yt(1); st2(1)=yt(1); for i=2:nst1(i)=alpha*yt(i)+(1-alpha)*st1(i-1); st2(i)=alpha*st1(i)+(1-alpha)*st2(i-1);end xlswrite(fadian.xls,st1,st2) a=2*st1-st2b=alpha/(1-alpha)*(st1-st2) yhat=a+b;xls。

36、write(fadian.xls,yhat,Sheet1,C2)str=char(C,int2str(n+2); xlswrite(fadian.xls,a(n)+2*b(n),Sheet1,str)3.3 三次指数平滑法 当时间序列的变动表现为二次曲线趋势时,则需要用三次指数平滑法。三次指数平滑是在二次指数平滑的基础上,再进行一次平滑,其计算公式为 S (1) = ay + (1 - a )S (1)ttt -1t (3)t ( 2)t -1 (3)S (2) = aS (1) + (1- a )S (2)(21) S= aS+ (1 - a )Sttt -1t式中 S (3) 为三次指数平。

37、滑值。 三次指数平滑法的预测模型为 y= a + b T + C T 2 ,T= 1,2,L(22) t +Tttt其中 a = 3S (1) - 3S (2) + S (3)tttta(1)( 2)(3)bt = 2(1- a )2 (6 - 5a)St- 2(5 - 4a)St+ (4 - 3a )St (23) a 2(1)(2)(3)ct = 2(1- a )2 St- 2St+ St例 6某省 19781988 年全民所有制单位固定资产投资总额如表 7 所示,试预测 1989 年和 1990 年固定资产投资总额。 表 7 某省全民所有制单位固定资产投资总额及一、二、三次指数平滑值计算。

38、表(单位:亿元) 年份 t投资总额 yt一次平滑值 二次平滑值 三次平滑值 yt+1 的估计值 1978120.0421.3721.7721.8921.941979220.0620.9821.5321.7820.231980325.7222.4021.7921.7819.561981434.6126.0623.0722.1724.491982551.7733.7826.2823.4034.591983655.9240.4230.5225.5453.891984780.6552.4937.1129.0164.5819858131.1176.0748.8034.9589.3019869148.58。

39、97.8363.5143.52142.42198710162.67117.2879.6454.35176.09198811232.26151.77101.2868.43196.26解 从图 2 可以看出,投资总额呈二次曲线上升,可用三次指数平滑法进行预测。 250实际值预测值 2001501005001234567891011图 2 某省固定资产投资总额趋势图 取a = 0.3 ,初始值 S (0) = S (0) = S (0) = y1 + y2 + y3 = 21.94 。计算 S (1) , S (2) , S (3) 1233ttt列于表 7 中。得到 S (1) = 151.77 。

40、, S (2) = 101.28 , S (3) = 68.43111111由公式(23),可得到当t = 11 时 a11 = 219.91, b11 = 38.38 , c11 = 1.62于是,得t = 11 时预测模型为 y11+T = 219.91 + 38.38T + 1.62T 2预测 1989 年和 1990 年的固定资产投资总额为(单位:亿元) y1989 = y12 = y11+1 = a11 + b11 + c11 = 259.91y1990= y13= y11+2= a11+ 2b11+ 22 c= 303.1611因为国家从 1989 年开始对固定资产投资采取压缩政策。

41、,这些预测值显然偏高,应作适当的修正,以消除政策因素的影响。 与二次指数平滑法一样,为了计算各期的模拟值,可将式(23)代入预测模型(22),并令T = 1,则得 3 - 3a + a 2(1)3 - a( 2)1(3)yt+1 = St-(1- a )2(1- a )2 St+(1- a )2 St(24) 令t = 0,1,2,L,11,公式(24)可求出各期的模拟值,见表 7。 计算的 MATLAB 程序如下: clc,clearload touzi.txt%原始数据以列向量的方式存放在纯文本文件中yt=touzi; n=length(yt);alpha=0.3; st1_0=mean(。

42、yt(1:3); st2_0=st1_0;st3_0=st1_0; st1(1)=alpha*yt(1)+(1-alpha)*st1_0; st2(1)=alpha*st1(1)+(1-alpha)*st2_0; st3(1)=alpha*st2(1)+(1-alpha)*st3_0;for i=2:nst1(i)=alpha*yt(i)+(1-alpha)*st1(i-1); st2(i)=alpha*st1(i)+(1-alpha)*st2(i-1); st3(i)=alpha*st2(i)+(1-alpha)*st3(i-1);end xlswrite(touzi.xls,st1,st2。

43、,st3)st1=st1_0,st1;st2=st2_0,st2;st3=st3_0,st3; a=3*st1-3*st2+st3;b=0.5*alpha/(1-alpha)2*(6-5*alpha)*st1-2*(5-4*alpha)*st2+(4-3*alpha)*st3); c=0.5*alpha2/(1-alpha)2*(st1-2*st2+st3);yhat=a+b+c; xlswrite(touzi.xls,yhat,Sheet1,D1)plot(1:n,yt,*,1:n,yhat(1:n),O) legend(实际值,预测值,2)xishu=c(n+1),b(n+1),a(n+1。

44、); yhat1990=polyval(xishu,2)指数平滑预测模型是以时刻t 为起点,综合历史序列的信息,对未来进行预测的。选择合适的加权系数 是提高预测精度的关键环节。根据实践经验, 的取值范围一般以 0.10.3 为宜。 值愈大,加权系数序列衰减速度,所以实际上 取值大小起着控制参加平均的历史数据的个数的作用。 值愈大意味着采用的数据愈少。因此, 可以得到选择 值的一些基本准则。 (1) 如果序列的基本趋势比较稳,预测偏差由随机因素造成,则 值应取小一些, 以减幅度,使预测模型能包含更多历史数据的信息。 (2) 如果预测目标的基本趋势已发生系统地变化,则 值应取得大一些。这样, 可以。

45、偏重新数据的信息对原模型进行大幅度修正,以使预测模型适应预测目标的新变化。 另外,由于指数平滑公式是递推计算公式,所以必须确定初始值 S (1) , S (2) , S (3) 。 000可以取前 35 个数据的算术平均值作为初始值。 4差分指数平滑法 在上节我们已经讲过,当时间序列的变动具有直线趋势时,用一次指数平滑出现滞后偏差,其原因在于数据不满足模型要求。因此,我们也可以从数据变换的角度来考虑改进措施,即在运用指数平滑法以前先对数据作一些技术上的处理,使之能适合于一次指数平滑模型,以后再对输出结果作技术上的返回处理,使之恢复为原变量的形态。差分方法是改变数据变动趋势的简易方法。下面我们讨。

46、论如何用差分方法来改进指数平滑法。 4.1 一阶差分指数平滑法 当时间序列呈直线增加时,可运用一阶差分指数平滑模型来预测。其公式如下: yt = yt - yt-1yt +1 = ayt + (1 - a )ytyt+1 = yt +1 + yt(25) (26) (27) 其中的 为差分记号。式(25)表示对呈现直线增加的序列作一阶差分,构成一个平稳的新序列;式(26)表示把经过一阶差分后的新序列的指数平滑预测值与变量当前的实际值迭加,作为变量下一期的预测值。对于这个公式的数学意义可作如下的解释。 因为 yt+1 = yt +1 - yt + yt = yt +1 + yt(28) 当我们采。

47、用按式(26)计算的预测值去估计式(28)中的 yt +1 ,从而式(28)等号左边的 yt +1 也要改为预测值,亦即成为式(27)。 在前面我们已分析过,指数平滑值实际上是一种加权平均数。因此把序列中逐期增量的加权平均数(指数平滑值)加上当前值的实际数进行预测,比一次指数平滑法只用变量以往取值的加权平均数作为下一期的预测更合理。从而使预测值始终围绕实际值上下波动,从根本上解决了在有直线增长趋势的情况下,用一次指数平滑法所得出的结果始终落后于实际值的问题。 例 7 某工业企业 19771986 年锅炉燃料消耗量资料如表 8 所示,试预测 1987 年的燃料消耗量。 表 8 某企业锅炉燃料消耗。

48、量的差分指数平滑法计算表( a = 0.4 )(单位:百吨) 年份 t燃料消耗量 yt差分 差分指数平滑值 预测值 19771241978226219793271228198043031.628.6198153222.1632.16198263312.1034.10198373631.6634.66198484042.1938.19198594112.9242.921986104432.1543.151987112.4946.49解 由资料可以看出,燃料消耗量,除个别年份外,逐期增长量大体在 200 吨左 右,即呈直线增长,因此可用一阶差分指数平滑模型来预测。我们取a = 0.4 ,初始值为新。

49、序列首项值,计算结果列于表 8 中。预测 1987 年燃料消耗量为 y1987 = 2.49 + 44 = 46.49 (百吨)。 4.2 二阶差分指数平滑模型 当时间序列呈现二次曲线增长时,可用二阶差分指数平滑模型来预测,计算公式如下: yt = yt - yt-1ttt-12 y = y - yt +1tt2 y= a2 y + (1- a )2 yt+1t+1tty= 2 y+ y + y其中2 表示二阶差分。因为 (29) (30) (31) (32) t+1t +1ttt +1tt+1tttt+1tty= y- y + y = y+ y = (y- y ) + y + y = 2 y。

50、+ y + yt +1t +1同样,用2 y 的估计值代替2 y 得到式(32)。 差分方法和指数平滑法的联合运用,除了能克服一次指数平滑法的滞后偏差之外, 对初始值的问题也有显著的改进。因为数据经过差分处理后,所产生的新序列基本上是平稳的。这时,初始值取新序列的第一期数据对于未来预测值不会有多大影响。其次, 它拓展了指数平滑法的适用范围,使一些原来需要运用配合直线趋势模型处理的情况可用这种组合模型来取代。但是,对于指数平滑法存在的加权系数 的选择问题,以及 只能逐期预测问题,差分指数平滑模型也没有改进。 5 自适应滤波法 5.1 自适应滤波法的基本过程 自适应滤波法与移动平均法、指数平滑法一。

51、样,也是以时间序列的历史观测值进行某种加权平均来预测的,它要寻找一组“最佳”的权数,其办法是先用一组给定的权数来计算一个预测值,然后计算预测误差,再根据预测误差调整权数以减少误差。这样反复进行,直至找出一组“最佳”权数,使误差减少到最低限度。由于这种调整权数的过程与通讯工程中的传输噪声过滤过程极为接近,故称为自适应滤波法。 自适应滤波法的基本预测公式为 N yt+1 = w1 yt + w2 yt -1 +L+ wN yt -N +1 =wi yt-i+1i=1(33) 式(33)中, yt+1 为第t + 1 期的预测值, wi 为第t - i + 1期的观测值权数, yt -i+1 为第 。

52、t - i + 1期的观测值, N 为权数的个数。其调整权数的公式为 w = w + 2k ey(34) iii+1 t-i+1ii+1式中,i = 1,2,L, N ,t = N, N +1,L, n ,n 为序列数据的个数,wi 为调整前的第i 个权数,w 为调整后的第i 个权数,k 为学习常数,e为第t + 1期的预测误差。式(34) 表明:调整后的一组权数应等于旧的一组权数加上误差调整项,这个调整项包括预测误差、原观测值和学习常数等三个因素。学习常数 k 的大小决定权数调整的速度。 下面举一个简单的例子来说明此法的全过程。设有一个时间序列包括 10 个观测值, 如表 9 所示。试用自适。

53、应滤波法,以两个权数来求第 11 期的预测值。 表 9 某时间序列数据表 时期 t1234567891观测值 yt0.10.20.30.40.50.60.70.80.91.0本例中 N = 2 。取初始权数 w1 = 0.5 ,w2 = 0.5 ,并设 k = 0.9 。t 的取值由 N = 2开始,当t = 2 时: (1) 按预测公式(33),求第t +1 = 3期的预测值。 yt+1 = y3 = w1 y2 + w2 y1 = 0.15(2) 计算预测误差。 et +1 = e3 = y3 - y3 = 0.3 - 0.15 = 0.15(3)根据式(34), w = w + 2k e。

54、yii调整权数为 i+1 t -i+1w = w + 2ke y= 0.554113 2w = w + 2ke y= 0.527223 1(1)(3)结束,即完成了一次权数调整,然后t 进 1 再重复以前步骤。当t = 3时: (1) 利用所得到的权数,计算第t + 1 = 4 期的预测值。方法是,舍去最前面的一个观测值 y1 ,增加一个新的观测值 y3 。即 yt+1 = y4= w y +1 3w2y 2= 0.2716(2) 计算预测误差 et+1 = e4 = y4 - y4 = 0.13(3) 调整权数 1w = 0.554 + 2 0.9 0.13 0.3 = 0.6242w = 0.527 + 2 0.9 0.13 0.2 = 0.564这样进行到t = 10 时 y= y = w y+ w yt+1111 102 9但由于没有t = 11 的观测值 y11 ,因此 et+1 = e11 = y11 - y。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值