编辑: 梦三石 2019-09-07
-280- 第二十四章 时间序列模型 时间序列是按时间顺序排列的、随时间变化且相互关联的数据序列.

分析时间序 列的方法构成数据分析的一个重要领域,即时间序列分析. 时间序列根据所研究的依据不同,可有不同的分类. 1.按所研究的对象的多少分,有一元时间序列和多元时间序列. 2.按时间的连续性可将时间序列分为离散时间序列和连续时间序列两种. 3.按序列的统计特性分,有平稳时间序列和非平稳时间序列.如果一个时间序列 的概率分布与时间t 无关,则称该序列为严格的(狭义的)平稳时间序列.如果序列的

一、二阶矩存在,而且对任意时刻t 满足: (1)均值为常数 (2)协方差为时间间隔τ 的函数. 则称该序列为宽平稳时间序列, 也叫广义平稳时间序列. 我们以后所研究的时间序列主 要是宽平稳时间序列. 4.按时间序列的分布规律来分,有高斯型时间序列和非高斯型时间序列. §1 确定性时间序列分析方法概述 时间序列预测技术就是通过对预测目标自身时间序列的处理,来研究其变化趋势 的.一个时间序列往往是以下几类变化形式的叠加或耦合. (1)长期趋势变动.它是指时间序列朝着一定的方向持续上升或下降,或停留在 某一水平上的倾向,它反映了客观事物的主要变化趋势. (2)季节变动. (3)循环变动.通常是指周期为一年以上,由非季节因素引起的涨落起伏波形相 似的波动. (4)不规则变动.通常它分为突然变动和随机变动. 通常用 t T 表示长期趋势项, t S 表示季节变动趋势项, t C 表示循环变动趋势项, t R 表示随机干扰项.常见的确定性时间序列模型有以下几种类型: (1)加法模型 t t t t t R C S T y + + + = (2)乘法模型 t t t t t R C S T y ? ? ? = (3)混合模型 t t t t R S T y + ? = t t t t t R C T S y ? ? + = 其中 t y 是观测目标的观测记录,

0 ) ( = t R E ,

2 2 ) ( σ = t R E . 如果在预测时间范围以内,无突然变动且随机变动的方差

2 σ 较小,并且有理由认 为过去和现在的演变趋势将继续发展到未来时,可用一些经验方法进行预测. §2 移动平均法 移动平均法是根据时间序列资料逐渐推移,依次计算包含一定项数的时序平均数, 以反映长期趋势的方法. 当时间序列的数值由于受周期变动和不规则变动的影响, 起伏 较大,不易显示出发展趋势时,可用移动平均法,消除这些因素的影响,分析、预测序 -281- 列的长期趋势. 移动平均法有简单移动平均法,加权移动平均法,趋势移动平均法等. 2.1 简单移动平均法 设观测序列为 T y y , ,

1 L ,取移动平均的项数 T N <

.一次简单移动平均值计算公 式为: ) (

1 1

1 )

1 ( + ? ? + + + = N t t t t y y y N M L ) (

1 ) (

1 ) (

1 )

1 (

1 1 N t t t N t t N t t y y N M y y N y y N ? ? ? ? ? ? + = ? + + + = L (1) 当预测目标的基本趋势是在某一水平上下波动时,可用一次简单移动平均方法建 立预测模型: ) ? ? (

1 ?

1 )

1 (

1 + ? + + + = = N t t t t y y N M y L , L ,

1 , + = N N t , (2) 其预测标准误差为: N T y y S T N t t t ? ? = ∑+ =

1 2 ) ? ( , (3) 最近 N 期序列值的平均值作为未来各期的预测结果.一般 N 取值范围:

200 5 ≤ ≤ N .当历史序列的基本趋势变化不大且序列中随机变动成分较多时, 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 解: 分别取

5 ,

4 = = N N 的预测公式

4 ?

3 2

1 )

1 (

1 ? ? ? + + + + = t t t t t y y y y y ,

11 , ,

5 ,

4 L = t

5 ?

4 3

2 1 )

2 (

1 ? ? ? ? + + + + + = t t t t t t y y y y y y ,

11 , ,

5 L = t 当4=N时,预测值 993.6 ? )

1 (

12 = y ,预测的标准误差为 150.5

4 11 ) ? (

11 5

2 )

1 (

1 = ? ? = ∑ = t t t y y S 当5=N时,预测值 182.4 ? )

2 (

12 = y ,预测的标准误差为 -282- 958.2

5 11 ) ? (

11 6

2 )

2 (

2 = ? ? = ∑ = t t t y y S 计算结果表明,

4 = N 时,预测的标准误差较小,所以选取

4 = N .预测第

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 加权移动平均法 在简单移动平均公式中,每期数据在求平均时的作用是等同的.但是,每期数据 所包含的信息量不一样,近期数据包含着更多关于未来情况的信心.因此,把各期数据 等同看待是不尽合理的,应考虑各期数据的重要性,对近期数据给予较大的权重,这就 是加权移动平均法的基本思想. 设时间序列为 L L , , , ,

2 1 t y y y ;

加权移动平均公式为 N N t N t tw w w w y w y w y w M + + + + + + = + ? L L

2 1

1 2

2 1 , N t ≥ (4) 式中 tw M 为t 期加权移动平均数;

i w 为1+?i t y 的权数,它体现了相应的 t y 在加权平均数 中的重要性. 利用加权移动平均数来做预测,其预测公式为 tw t M y = +1 ? (5) 即以第t 期加权移动平均数作为第

1 + t 期的预测值. 例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 -283- 相对误差(%) 6.38 9.98 13.41 14.7 8.48 6.34 7.41 解取1,2,3321===www,按预测公式

1 2

3 2

3 ?

2 1

1 + + + + = ? ? + t t t t y y y y 计算三年加权移动平均预测值,其结果列于表

2 中.1989 年我国原煤产量的预测 值为(亿吨)

48 .

9 6

94 .

8 28 .

9 2

8 .

9 3 ?1989 = + * + * = y 这个预测值偏低,可以修正.其方法是:先计算各年预测值与实际值的相对误差,例如

1982 年为 %

38 .

6 66 .

6 235 .

6 66 .

6 = ? 将相对误差列于表

2 中,再计算总的平均相对误差. %

5 .

9 %

100 )

44 .

58 89 .

52 1 ( %

100 ?

1 = * ? = * ? ? ? ? ? ? ? ? ? ∑ ∑ t t y y 由于总预测值的平均值比实际值低 %

5 .

9 ,所以可将

1989 年的预测值修正为

4788 .

10 %

5 .

9 1

48 .

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

1 1

1 )

1 ( + ? ? + + + = N t t t t y y y N M L 在一次移动平均的基础上再进行一次移动平均就是二次移动平均,其计算公式为 ) (

1 ) (

1 )

1 ( )

1 ( )

2 (

1 )

1 (

1 )

1 ( )

2 ( N t t t N t t t M M N M M M N M ? ? + ? ? + = + + = L (6) 下面讨论如何利用移动平均的滞后偏差建立直线趋势预测模型. 设时间序列 } { t y 从某时期开始具有直线趋势,且认为未来时期也按此直线趋势变 化,则可设此直线趋势预测模型为 T b a y t t T t + = + ? , L ,

2 ,

1 = T (7) 其中t 为当前时期数;

T 为由t 至预测期的时期数;

t a 为截距;

t b 为斜率.两者又称为 平滑系数. 现在,我们根据移动平均值来确定平滑系数.由模型(7)可知 t t y a = t t t b y y ? = ?1 t t t b y y

2 2 ? = ? … t t N t b N y y )

1 (

1 ? ? = + ? 所以 t t t t t t t t t N t t t t b N y N b N Ny N b N y b y y N y y y M

2 1 )]

1 (

2 1 [ ] )

1 ( [ ) (

1 1 )

1 ( ? ? = ? + + + ? = ? ? + + ? + = + + + = + ? ? L L L 因此 t t t b N M y

2 1 )

1 ( ? = ? (8) 由式(7) ,类似式(8)的推导,可得 t t t b N M y

2 1 )

1 (

1 1 ? = ? ? ? (9) 所以 t t t t t b M M y y = ? = ? ? ? )

1 (

1 )

1 (

1 (10) 类似式(8)的推导,可得 t t t b N M M

2 1 )

2 ( )

1 ( ? = ? (11) 于是,由式(8)和式(11)可得平滑系数的计算公式为 ? ? ? ? ? ? ? = ? = ) (

1 2

2 )

2 ( )

1 ( )

2 ( )

1 ( t t t t t t M M N b M M a (12) 例3我国 1965~1985 年的发电总量如表

3 所示,试预测

1986 年和

1987 年的发 电总量. -285- 表3我国发电量及

一、二次移动平均值计算表 年份 t 发电总量 yt 一次移动平均,N=6 二次移动平均,N=6

1965 1

676 1966

2 825

1967 3

774 1968

4 716

1969 5

940 1970

6 1159 848.3

1971 7

1384 966.3

1972 8

1524 1082.8

1973 9

1668 1231.8

1974 10

1688 1393.8

1975 11

1958 1563.5 1181.1

1976 12

2031 1708.8 1324.5

1977 13

2234 1850.5 1471.9

1978 14

2566 2024.2 1628.8

1979 15

2820 2216.2 1792.8

1980 16

3006 2435.8 1966.5

1981 17

3093 2625 2143.4

1982 18

3277 2832.7 2330.7

1983 19

3514 3046

2530 1984

20 3770 3246.7 2733.7

1985 21

4107 3461.2 2941.2 解 由散点图

1 可以看出,发电总量基本呈直线上升趋势,可用趋势移动平均法 来预测.

0 5

10 15

20 25

500 1000

1500 2000

2500 3000

3500 4000

4500 图1原始数据散点图 取6=N,分别计算一次和二次移动平均值并列于表

3 中.

2 .

3461 )

1 (

21 = M ,

2 .

2941 )

2 (

21 = M 再由公式(12) ,得3981.1

2 )

2 (

21 )

1 (

21 21 = ? = M M a

208 ) (

1 6

2 )

2 (

21 )

1 (

21 21 = ? ? = M M b 于是,得21 = t 时直线趋势预测模型为 T y T

208 1 .

3981 ?21 + = + 预测

1986 年和

1987 年的发电总量为

1 .

4192 ? ? ?

1 21

22 1986 = = = + y y y

1 .

4397 ? ? ?

2 21

23 1987 = = = + y y y 计算的 MATLAB 程序如下: -286- clc,clear load y.txt %把原始数据保存在纯文本文件 y.txt 中m1=length(y);

n=6;

%n 为移动平均的项数 for i=1:m1-n+1 yhat1(i)=sum(y(i:i+n-1))/n;

end yhat1 m2=length(yhat1);

for i=1:m2-n+1 yhat2(i)=sum(yhat1(i:i+n-1))/n;

end yhat2 plot(1:21,y,'

*'

) a21=2*yhat1(end)-yhat2(end) b21=2*(yhat1(end)-yhat2(end))/(n-1) y1986=a21+b21 y1987=a21+2*b21 趋势移动平均法对于同时存在直线趋势与周期波动的序列, 是一种既能反映趋势变 化,又可以有效地分离出来周期变动的方法. §3 指数平滑法 一次移动平均实际上认为最近 N 期数据对未来值影响相同,都加权 N

1 ;

而N期以前的数据对未来值没有影响,加权为 0.但是,二次及更高次移动平均数的权数却不 是N1,且次数越高,权数的结构越复杂,但永远保持对称的权数,即两端项权数小, 中间项权数大, 不符合一般系统的动态性. 一般说来历史数据对未来值的影响是随时间 间隔的增长而递减的. 所以, 更切合实际的方法应是对各期观测值................

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题