第二十四章时间序列模型 时间序列是按时间顺序排列的、随时间变化且相互关联的数据序列。分析时间序 列的方法构成数据分析的一个重要领域,即时间序列分析 时间序列根据所研究的依据不同,可有不同的分类 1.按所研究的对象的多少分,有一元时间序列和多元时间序列 2.按时间的连续性可将时间序列分为离散时间序列和连续时间序列两种。 3.按序列的统计特性分,有平稳时间序列和非平稳时间序列。如果一个时间序列 的概率分布与时间t无关,则称该序列为严格的(狭义的)平稳时间序列。如果序列的 、二阶矩存在,而且对任意时刻t满足: (1)均值为常数 2)协方差为时间间隔r的函数 则称该序列为宽平稳时间序列,也叫广义平稳时间序列。我们以后所研究的时间序列主 要是宽平稳时间序列。 4.按时间序列的分布规律来分,有高斯型时间序列和非高斯型时间序列 §1确定性时间序列分析方法概述 时间序列预测技术就是通过对预测目标自身时间序列的处理,来研究其变化趋势 的。一个时间序列往往是以下几类变化形式的叠加或耦合 (1)长期趋势变动。它是指时间序列朝着一定的方向持续上升或下降,或停留在 某一水平上的倾向,它反映了客观事物的主要变化趋势 (2)季节变动。 (3)循环变动。通常是指周期为一年以上,由非季节因素引起的涨落起伏波形相 似的波动。 (4)不规则变动。通常它分为突然变动和随机变动。 通常用T表示长期趋势项,S,表示季节变动趋势项,C表示循环变动趋势项,R 表示随机干扰项。常见的确定性时间序列模型有以下几种类型: (1)加法模型 ,=T+S+C+r (2)乘法模型 y1=T·S…·C1R (3)混合模型 y=T·S+R y1=S1+T1·C1·R1 其中y,是观测目标的观测记录,E(R)=0,E(R2)=σ 如果在预测时间范围以内,无突然变动且随机变动的方差σ2较小,并且有理由认 为过去和现在的演变趋势将继续发展到未来时,可用一些经验方法进行预测 §2移动平均法 移动平均法是根据时间序列资料逐渐推移,依次计算包含一定项数的时序平均数 以反映长期趋势的方法。当时间序列的数值由于受周期变动和不规则变动的影响,起伏 较大,不易显示出发展趋势时,可用移动平均法,消除这些因素的影响,分析、预测序 280
-280- 第二十四章 时间序列模型 时间序列是按时间顺序排列的、随时间变化且相互关联的数据序列。分析时间序 列的方法构成数据分析的一个重要领域,即时间序列分析。 时间序列根据所研究的依据不同,可有不同的分类。 1.按所研究的对象的多少分,有一元时间序列和多元时间序列。 2.按时间的连续性可将时间序列分为离散时间序列和连续时间序列两种。 3.按序列的统计特性分,有平稳时间序列和非平稳时间序列。如果一个时间序列 的概率分布与时间t 无关,则称该序列为严格的(狭义的)平稳时间序列。如果序列的 一、二阶矩存在,而且对任意时刻t 满足: (1)均值为常数 (2)协方差为时间间隔τ 的函数。 则称该序列为宽平稳时间序列,也叫广义平稳时间序列。我们以后所研究的时间序列主 要是宽平稳时间序列。 4.按时间序列的分布规律来分,有高斯型时间序列和非高斯型时间序列。 §1 确定性时间序列分析方法概述 时间序列预测技术就是通过对预测目标自身时间序列的处理,来研究其变化趋势 的。一个时间序列往往是以下几类变化形式的叠加或耦合。 (1)长期趋势变动。它是指时间序列朝着一定的方向持续上升或下降,或停留在 某一水平上的倾向,它反映了客观事物的主要变化趋势。 (2)季节变动。 (3)循环变动。通常是指周期为一年以上,由非季节因素引起的涨落起伏波形相 似的波动。 (4)不规则变动。通常它分为突然变动和随机变动。 通常用Tt 表示长期趋势项,St 表示季节变动趋势项,Ct 表示循环变动趋势项,Rt 表示随机干扰项。常见的确定性时间序列模型有以下几种类型: (1)加法模型 t Tt St Ct Rt y = + + + (2)乘法模型 t Tt St Ct Rt y = ⋅ ⋅ ⋅ (3)混合模型 t Tt St Rt y = ⋅ + t St Tt Ct Rt y = + ⋅ ⋅ 其中 t y 是观测目标的观测记录, E(Rt ) = 0 , 2 2 E(Rt ) = σ 。 如果在预测时间范围以内,无突然变动且随机变动的方差 2 σ 较小,并且有理由认 为过去和现在的演变趋势将继续发展到未来时,可用一些经验方法进行预测。 §2 移动平均法 移动平均法是根据时间序列资料逐渐推移,依次计算包含一定项数的时序平均数, 以反映长期趋势的方法。当时间序列的数值由于受周期变动和不规则变动的影响,起伏 较大,不易显示出发展趋势时,可用移动平均法,消除这些因素的影响,分析、预测序
列的长期趋势 移动平均法有简单移动平均法,加杈移动平均法,趋势移动平均法等 2.1简单移动平均法 设观测序列为y1,…,yr,取移动平均的项数N<T。一次简单移动平均值计算公 式为: M y t-N+1 (y21+…+yN)+(y )=M+(y2-y-) 当预测目标的基本趋势是在某一水平上下波动时,可用一次简单移动平均方法建 立预测模型: jm=M=(,+…+jN),【=N,N+ 其预测标准误差为: (,-y,)2 S= T-N 最近N期序列值的平均值作为未来各期的预测结果。一般N取值范围: 5≤N≤200。当历史序列的基本趋势变化不大且序列中随机变动成分较多时,N的 取值应较大一些。否则N的取值应小一些。在有确定的季节变动周期的资料中,移动 平均的项数应取周期长度。选择最佳N值的一个有效方法是,比较若干模型的预测误 差。预测标准误差最小者为好 例1某企业1月~11月份的销售收入时间序列如表1示。试用一次简单滑动平 均法预测第12月份的销售收入 表1企业销售收入 月份t 销售收入y|53385 06.9 649.8 705.1 月份t 9 10 销售收入y,81648927%63910151107 解:分别取N=4,N=5的预测公式 =yy1y=2=3,t=45…1 y2+y-3+y,t=5,…1 当N=4时,预测值=9936,预测的标准误差为 ∑(P-y) 150.5 l1-4 当N=5时,预测值12=1824,预测的标准误差为
-281- 列的长期趋势。 移动平均法有简单移动平均法,加权移动平均法,趋势移动平均法等。 2.1 简单移动平均法 设观测序列为 T y , , y 1 L ,取移动平均的项数 N < T 。一次简单移动平均值计算公 式为: ( ) 1 1 1 (1) t = t + t− + + t−N+ y y y N M L ( ) 1 ( ) 1 ( ) 1 (1) t 1 t N t t N t 1 t t N y y N y y M N y y N = − +L+ − + − − = − + − − (1) 当预测目标的基本趋势是在某一水平上下波动时,可用一次简单移动平均方法建 立预测模型: ( ˆ ˆ ) 1 ˆ 1 (1) t+1 = t = t + + t−N+ y y N y M L ,t = N, N +1,L, (2) 其预测标准误差为: T N y y S T t N t t − − = ∑= +1 2 ( ˆ ) , (3) 最近 N 期序列值的平均值作为未来各期的预测结果。一般 N 取值范围: 5 ≤ N ≤ 200 。当历史序列的基本趋势变化不大且序列中随机变动成分较多时, N 的 取值应较大一些。否则 N 的取值应小一些。在有确定的季节变动周期的资料中,移动 平均的项数应取周期长度。选择最佳 N 值的一个有效方法是,比较若干模型的预测误 差。预测标准误差最小者为好。 例 1 某企业 1 月~11 月份的销售收入时间序列如表 1 示。试用一次简单滑动平 均法预测第 12 月份的销售收入。 表 1 企业销售收入 月份t 1 2 3 4 5 6 销售收入 t y 533.8 574.6 606.9 649.8 705.1 772.0 月份t 7 8 9 10 11 销售收入 t y 816.4 892.7 963.9 1015.1 1102.7 解: 分别取 N = 4, N = 5的预测公式 4 ˆ(1) 1 2 3 1 − − − + + + + = t t t t t y y y y y ,t = 4,5,L,11 5 ˆ(2) 1 2 3 4 1 − − − − + + + + + = t t t t t t y y y y y y ,t = 5,L,11 当 N = 4 时,预测值 ˆ 993.6 (1) y12 = ,预测的标准误差为 150.5 11 4 ( ˆ ) 11 5 (1) 2 1 = − − = ∑t= t t y y S 当 N = 5时,预测值 ˆ 182.4 (2) y12 = ,预测的标准误差为
S =958.2 11-5 计算结果表明,N=4时,预测的标准误差较小,所以选取N=4。预测第12月份的 销售收入为993.6。 计算的 Matlab程序如下 cIc. clear y=533.857466069649.8705177208164892796391015.1 11027] m=length(y) n=[4,5;,%an为移动平均的项数 for F=1: length(n) %由于n的取值不同,yhat的长度不一致,下面使用了细胞数组 for j=l m-n(i+I yhat(10=sum(y(: j+n(i-D)/n(i) y12(i)=yhat(1(end) s(i=sqrt( mean((y(n(i)+1 m)-yhat(1(1: end-1)). 2); d 简单移动平均法只适合做近期预测,而且是预测目标的发展趋势变化不大的情况 如果目标的发展趋势存在其它的变化,采用简单移动平均法就会产生较大的预测偏差和 滞后。 22加权移动平均法 在简单移动平均公式中,每期数据在求平均时的作用是等同的。但是,每期数据 所包含的信息量不一样,近期数据包含着更多关于未来情况的信心。因此,把各期数据 等同看待是不尽合理的,应考虑各期数据的重要性,对近期数据给予较大的权重,这就 是加权移动平均法的基本思想 设时间序列为y,y2…,y1…;加权移动平均公式为 M=当"y+ny2t+yN,t≥N (4) v1+,+…+ 式中Mm为t期加权移动平均数;w1为y的权数,它体现了相应的y在加权平均数 中的重要性。 利用加权移动平均数来做预测,其预测公式为 即以第t期加权移动平均数作为第t+1期的预测值。 例2我国1979~1988年原煤产量如表2所示,试用加权移动平均法预测1989年 的产量。 我国原煤产量统计数据及加权移动平均预测值表 197919801911982198319841985198619871988 原煤产量y 年加权移动平均预测值 6235643676831774383818178691790733
-282- 958.2 11 5 ( ˆ ) 11 6 (2) 2 2 = − − = ∑t= t t y y S 计算结果表明, N = 4 时,预测的标准误差较小,所以选取 N = 4 。预测第 12 月份的 销售收入为 993.6。 计算的 Matlab 程序如下: clc,clear y=[533.8 574.6 606.9 649.8 705.1 772.0 816.4 892.7 963.9 1015.1 1102.7]; m=length(y); n=[4,5]; %n 为移动平均的项数 for i=1:length(n) %由于 n 的取值不同,yhat 的长度不一致,下面使用了细胞数组 for j=1:m-n(i)+1 yhat{i}(j)=sum(y(j:j+n(i)-1))/n(i); end y12(i)=yhat{i}(end); s(i)=sqrt(mean((y(n(i)+1:m)-yhat{i}(1:end-1)).^2)); end y12,s 简单移动平均法只适合做近期预测,而且是预测目标的发展趋势变化不大的情况。 如果目标的发展趋势存在其它的变化,采用简单移动平均法就会产生较大的预测偏差和 滞后。 2.2 加权移动平均法 在简单移动平均公式中,每期数据在求平均时的作用是等同的。但是,每期数据 所包含的信息量不一样,近期数据包含着更多关于未来情况的信心。因此,把各期数据 等同看待是不尽合理的,应考虑各期数据的重要性,对近期数据给予较大的权重,这就 是加权移动平均法的基本思想。 设时间序列为 y1, y2 ,L, yt ,L;加权移动平均公式为 N t N t N tw w w w w y w y w y M + + + + + + = − + L L 1 2 1 2 2 1 ,t ≥ N (4) 式中 Mtw 为t 期加权移动平均数;wi 为 t−i+1 y 的权数,它体现了相应的 t y 在加权平均数 中的重要性。 利用加权移动平均数来做预测,其预测公式为 t Mtw yˆ +1 = (5) 即以第t 期加权移动平均数作为第t +1期的预测值。 例 2 我国 1979~1988 年原煤产量如表 2 所示,试用加权移动平均法预测 1989 年 的产量。 表 2 我国原煤产量统计数据及加权移动平均预测值表 年份 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 原煤产量 t y 6.35 6.20 6.22 6.66 7.15 7.89 8.72 8.94 9.28 9.8 三年加权移动平均预测值 6.235 6.4367 6.8317 7.4383 8.1817 8.6917 9.0733
相对误差 (%)。63898134114784863474 解取v1=3,w2=2,w3=1,按预测公式 +2y1+y 计算三年加权移动平均预测值,其结果列于表2中。1989年我国原煤产量的预测 值为(亿吨) 3×98+2×9.28+894 这个预测值偏低,可以修正。其方法是:先计算各年预测值与实际值的相对误差,例如 1982年为 6.66-6.235 6.38% 6.66 将相对误差列于表2中,再计算总的平均相对误差。 12 52.89 ×100%=(1 ∑ s84)×100%=95% 由于总预测值的平均值比实际值低9.5%,所以可将1989年的预测值修正为 948 104788 1-9.5% 计算的 MATLAB程序如下: 356.2 6.226.667.157.898.728.949.2 W=[1/6;2/6;3/6]; m=length(y)in=3 for i=1: m-n+1 t(i)=y(i:i+n-1) err=abs(y(n+1: m)-yhat(1: end-1))./y(n+1: m) T err=l-sum(yhat(1: end-1))/sum(y(n+1: m)) y1989=yhat(end)/(1-T err) 在加权移动平均法中,w的选择,同样具有一定的经验性。一般的原则是:近期 数据的权数大,远期数据的权数小。至于大到什么程度和小到什么程度,则需要按照预 测者对序列的了解和分析来确定。 2.3趋势移动平均法 简单移动平均法和加权移动平均法,在时间序列没有明显的趋势变动时,能够准确 反映实际情况。但当时间序列出现直线增加或减少的变动趋势时,用简单移动平均法和 加权移动平均法来预测就会出现滞后偏差。因此,需要进行修正,修正的方法是作二次 移动平均,利用移动平均滞后偏差的规律来建立直线趋势的预测模型。这就是趋势移动 平均法。 次移动的平均数为 283
-283- 相对误差(%) 6.38 9.98 13.41 14.7 8.48 6.34 7.41 解 取 w1 = 3,w2 = 2,w3 = 1,按预测公式 3 2 1 3 2 ˆ 1 2 1 + + + + = − − + t t t t y y y y 计算三年加权移动平均预测值,其结果列于表 2 中。1989 年我国原煤产量的预测 值为(亿吨) 9.48 6 3 9.8 2 9.28 8.94 ˆ1989 = × + × + y = 这个预测值偏低,可以修正。其方法是:先计算各年预测值与实际值的相对误差,例如 1982 年为 6.38% 6.66 6.66 6.235 = − 将相对误差列于表 2 中,再计算总的平均相对误差。 ) 100% 9.5% 58.44 52.89 100% (1 ˆ 1 × = − × = ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎝ ⎛ − ∑ ∑ t t y y 由于总预测值的平均值比实际值低9.5%,所以可将 1989 年的预测值修正为 10.4788 1 9.5% 9.48 = − 计算的 MATLAB 程序如下: y=[6.35 6.20 6.22 6.66 7.15 7.89 8.72 8.94 9.28 9.8]; w=[1/6;2/6;3/6]; m=length(y);n=3; for i=1:m-n+1 yhat(i)=y(i:i+n-1)*w; end yhat err=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_err) 在加权移动平均法中, wt 的选择,同样具有一定的经验性。一般的原则是:近期 数据的权数大,远期数据的权数小。至于大到什么程度和小到什么程度,则需要按照预 测者对序列的了解和分析来确定。 2.3 趋势移动平均法 简单移动平均法和加权移动平均法,在时间序列没有明显的趋势变动时,能够准确 反映实际情况。但当时间序列出现直线增加或减少的变动趋势时,用简单移动平均法和 加权移动平均法来预测就会出现滞后偏差。因此,需要进行修正,修正的方法是作二次 移动平均,利用移动平均滞后偏差的规律来建立直线趋势的预测模型。这就是趋势移动 平均法。 一次移动的平均数为
M0=(y2+y21+…+y2N) 在一次移动平均的基础上再进行一次移动平均就是二次移动平均,其计算公式为 (6) 下面讨论如何利用移动平均的滞后偏差建立直线趋势预测模型。 设时间序列{υ}从某时期开始具有直线趋势,且认为未来时期也按此直线趋势变 化,则可设此直线趋势预测模型为 y+x=a1+bT,T=1,2 (7) 其中t为当前时期数;T为由t至预测期的时期数;a1为截距;b为斜率。两者又称为 平滑系数。 现在,我们根据移动平均值来确定平滑系数。由模型(7)可知 y-1=y,-b y-(N-1)b 所以 M)=y+y=+…+y-My+(y-b)+…+[y-(N-1)b N Ny2-[+2+…+(N-1)b 因此 N-1 2 由式(7),类似式(8)的推导,可得 N 所以 y,-y=M-M=b (10) 类似式(8)的推导,可得 于是,由式(8)和式(11)可得平滑系数的计算公式为 a,=2M( 2 (12) -1(M-M2) 例3我国1965~1985年的发电总量如表3所示,试预测1986年和1987年的发 电总量
-284- ( ) 1 1 1 (1) t = t + t− + + t−N+ y y y N M L 在一次移动平均的基础上再进行一次移动平均就是二次移动平均,其计算公式为 ( ) 1 ( ) 1 (2) (1) (1) 1 (1) 1 (2) (1) t t t N t Mt Mt N N M M M N M = +L+ − + = − + − − (6) 下面讨论如何利用移动平均的滞后偏差建立直线趋势预测模型。 设时间序列{ }t y 从某时期开始具有直线趋势,且认为未来时期也按此直线趋势变 化,则可设此直线趋势预测模型为 yˆt+T = at + bt T ,T = 1,2,L (7) 其中t 为当前时期数;T 为由t 至预测期的时期数;at 为截距;bt 为斜率。两者又称为 平滑系数。 现在,我们根据移动平均值来确定平滑系数。由模型(7)可知 t t a = y t t bt y −1 = y − t t bt y −2 = y − 2 … t N t N bt y y ( 1) − +1 = − − 所以 t t t t t t t N t t t t t t b N y N Ny N b N y y b y N b N y y y M 2 [1 2 ( 1)] 1 ( ) [ ( 1) ] (1) 1 1 − = − − + + + − = + − + + − − = + + + = − − + L L L 因此 t t bt N y M 2 (1) −1 − = (8) 由式(7),类似式(8)的推导,可得 t t bt N y M 2 (1) 1 1 1 − − − − = (9) 所以 t t Mt Mt bt y − y − = − − = (1) 1 (1) 1 (10) 类似式(8)的推导,可得 t t bt N M M 2 (1) (2) −1 − = (11) 于是,由式(8)和式(11)可得平滑系数的计算公式为 ⎪ ⎩ ⎪ ⎨ ⎧ − − = = − ( ) 1 2 2 (1) (2) (1) (2) t t t t t t M M N b a M M (12) 例 3 我国 1965~1985 年的发电总量如表 3 所示,试预测 1986 年和 1987 年的发 电总量