课程论文
移动平均法预测模型
课 程 学生姓名 学 号 手机号码 所在学院 所在班级 任课教师 提交时间
数学建模算法与应用
理学院
谢瓯
2016年 5 月 29 日
1
目录
摘要............................................................. 3
1.绪论........................................................... 3 1.1 时间序列的概念和分类....................................... 3 1.2 时间序列分析方法概述....................................... 3 2.移动平均法..................................................... 4 2.1 简单移动平均法............................................. 4 2.2 加权移动平均法............................................. 5 2.3 趋势移动平均法............................................. 5 3.案例分析....................................................... 7 4.实验总结 ...................................................... 9 5.参考文献....................................................... 9
2
摘要
将预测对象按照时间顺序排列起来,构成一个所谓的时间序列,从所构成的这一组时间序列过去的变化规律,推测今后变化的可能性及变化趋势、变化规律,就是时间序列分析。
时间序列分析在日常生活中随处可见,有着非常重要的应用领域。移动平均法是一种简单平滑预测技术,使用移动平均法进行预测能平滑掉数据的突然波动对预测结果的影响。而且只适合预测目标的发展趋势变化不大的情况。如果目标的发展趋势存在其他的变化,采用简单移动平均法就会产生较大的预测偏差和滞后。本文在已知我国1965~1985年的发电总量的情况下,利用移动平均法预测接下来2年的发电总量。
关键字:时间序列;变化趋势;移动平均法;偏差;滞后。
1 绪论
1.1 时间序列的概念和分类
时间序列是按时间顺序排列的、随时间变化且相互关联的数据序列。分析时间序列的方法构成数据分析的一个重要领域,即时间序列分析。 时间序列根据所研究的依据不同,可有不同的分类。
1.按所研究的对象的多少分,有一元时间序列和多元时间序列。
2.按时间的连续性可将时间序列分为离散时间序列和连续时间序列两种。 3.按序列的统计特性分,有平稳时间序列和非平稳时间序列。如果一个时间序列的概率分布与时间t无关,则称该序列为严格的(狭义的)平稳时间序列。如果序列的一、二阶矩存在,而且对任意时刻t满足: (1)均值为常数
(2)协方差为时间间隔的函数。 则称该序列为宽平稳时间序列,也叫广义平稳时间序列。我们以后所研究的时间序列主要是宽平稳时间序列。
4.按时间序列的分布规律来分,有高斯型时间序列和非高斯型时间序列。
1.2 时间序列分析方法概述
时间序列预测技术就是通过对预测目标自身时间序列的处理,来研究其变化趋势的。一个时间序列往往是以下几类变化形式的叠加或耦合。
(1)长期趋势变动。它是指时间序列朝着一定的方向持续上升或下降,或停留在某一水平上的倾向,它反映了客观事物的主要变化趋势。 (2)季节变动。
(3)循环变动。通常是指周期为一年以上,由非季节因素引起的涨落起伏波形相似的波动。
(4)不规则变动。通常它分为突然变动和随机变动。
通常用Tt表示长期趋势项,St表示季节变动趋势项,Ct表示循环变动趋势项,
3
Rt表示随机干扰项。常见的时间序列模型有以下几种类型: (1)加法模型
ytTtStCtRt
(2)乘法模型
ytTtStCtRt
(3)混合模型
ytTtStRtytStTtCtRt
其中:yt是观测目标的观测记录,均值E(Rt)0,方差Var(Rt)2。如果在预测时间范围以内,无突然变动且随机变动的方差2较小,并且有理由认为过去和现在的演变趋势将继续发展到未来时,可用一些经验方法进行预测。下面介绍移动平均法。
2 移动平均法
移动平均法是根据时间序列资料逐渐推移,依次计算包含一定项数的时序平均数,以反映长期趋势的方法。当时间序列的数值由于受周期变动和不规则变动的影响,起伏较大,不易显示出发展趋势时,可用移动平均法,消除这些因素的影响,分析、预测序列的长期趋势。 移动平均法有简单移动平均法,加权移动平均法,趋势移动平均法等。
2.1 简单移动平均法
设观测序列为y1,,yT,取移动平均的项数N 当预测目标的基本趋势是在某一水平上下波动时,可用一次简单移动平均方法建立预测模型: ^1 yt1Mt(1)(yytN1),tN,N1,,T, (2.1.2) N其预测标准误差为: 4 StN1(yy)ttT^2TN, (2.1.3) 最近N期序列值的平均值作为未来各期的测试结果。一般N取值范围: 5N200。当历史序列的基本趋势变化不大且序列中随机变动成分较多时,N的取值应该大一些。否则N的取值应小一些。在有确定的季节变动周期的资料中,移动平均的项数应取周期长度。选择最佳N值的一个有效方法是,比较若干模型的预测误差。预测标准误差最小者为好。 简单移动平均法只适合做近期预测,而且是预测目标的发展趋势变化不大的情况。如果目标的发展趋势存在其它的变化,采用简单移动平均法就会产生较大的预测偏差和滞后。 2.2 加权移动平均法 在简单移动平均公式中,每期数据在求平均时的作用是等同的。但是,每期数据所包含的信息量不一样,近期数据包含着更多关于未来情况的信息。因此,把各期数据等同看待是不尽合理的,应考虑各期数据的重要性,对近期数据给予较大的权重,这就是加权移动平均法的基本思想。 设时间序列为y1,y2,...,yt,...;;加权移动平均公式为 Mtww1y1w2y2wNytN1,tN (2.2.1) w1w2wN式中Mtw为t期加权移动平均数;wi为yti1的权数,它体现了相应的yt在加权平均数中的重要性。 利用加权移动平均数来做预测,其预测公式为 yt1Mtw (2.2.2) 即以第t期加权移动平均数作为第t+1期的预测值。 在加权移动平均法中,wt的选择,同样具有一定的经验性。一般的原则是:近期数据的权数大,远期数据的权数小。至于大到什么程度和小到什么程度,则需要按照预测者对序列的了解和分析来确定。 2.3 趋势移动平均法 简单移动平均法和加权移动平均法,在时间序列没有明显的趋势变动时,能够准确反映实际情况。但当时间序列出现直线增加或减少的变动趋势时,用简单移动平均法和加权移动平均法来预测就会出现滞后偏差。因此,需要进行修正,修正的方法是作二次移动平均,利用移动平均滞后偏差的规律来建立直线趋势的预测模型。这就是趋势移动平均法。 一次移动的平均数为 1 Mt(1)(ytyt1ytN1) (2.3.1) N 5 ^ 在一次移动平均的基础上再进行一次移动平均就是二次移动平均,其计算公式为 111)(2)(1)(1) Mt(2)(Mt(1)Mt()M(MMN1t1ttN) (2.3.2) NN下面讨论如何利用移动平均的滞后偏差建立直线趋势预测模型。 设时间序列{yt}从某时期开始具有直线趋势,且认为未来时期也按此直线趋势变化,则可设此直线趋势预测模型为 ytmatbtm,m1,2, (2.3.3) 其中t为当前时期数;m为由t至预测期的时期数;at为截距;bt为斜率。两者又称为平滑系数。 现在,我们根据移动平均值来确定平滑系数。由上式可知 atyt^yt1ytbt yt2yt2bt (2.3.4) ytN1yt(N1)bt所以 Mt(1)ytyt1ytN1yt(ytbt)[yt(N1)bt]NN 因此 Nyt[12(N1)]btN1ytbt (2.3.5) N2N1bt2N11)yt1Mt(bt1 (2.3.6) 21)ytyt1Mt(1)Mt(1btytMt(1)Mt(1)Mt(2)N1bt2可得平滑系数的计算公式为 (2)at2M(1)t-Mt { (2.3.7) 2bt(Mt(1)Mt(2))N-1 趋势移动平均法对于同时存在直线趋势与周期波动的序列,是一种既能反映趋势变化,又可以有效地分离出来周期变动的方法。 6 3案例分析 我国1965~1985年的发电总量如下表所示,试预测1986年和1987年的发电总量。 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 解:将上表中的数据导入Matlab中,得到发电总量趋势散点图如下,从图中可看出发电总量基本呈直线上升趋势,可用趋势移动平均法来预测。 (1)(2)3461.2,M212941.2 M21 取N=6,分别计算一次和二次移动平均值并列于上表中 由公式(2.3.7),可得t=21时,有 7 a2M(1)(2)2121M213981.1 b261(M(1)(2) 2121M21)208于是,得t=21时直线趋势预测模型为 ^y21m3981.1208m 预测1986年和1987年的发电总量为 ^ y1986^y2114192.1^^ y1987y2124397.1计算的MATLAB程序如下: 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,'*g') xlabel('t');ylabel('发电总量') title('发电总量趋势散点图') a21=2*yhat1(end)-yhat2(end) b21=2*(yhat1(end)-yhat2(end))/(n-1) y1986=a21+b21 y1987=a21+2*b21 程序运行结果如下: 8 4实验总结 通过本次实验我进一步熟悉了时间序列的相关知识。移动平均法是时间序列分析法中重要的方法之一,但移动平均法只适合做近期预测,而且只能预测目标的发展趋势变化不大的情况。如果目标的发展趋势存在其他的变化,采用简单移动平均法就会产生较大的预测偏差和滞后。此次实验我还在一定程度上锻炼了我的编程能力及对matlab的使用。 5参考文献 1]张树京,齐立心.时间序列分析简明教程[M].北京:清华大学出版社,2003 [2]吴怀宇.时间序列分析与综合[M].武汉大学出版社. 2004:10-98. [3]王燕.应用时间序列分析[M].北京:中国人民大学出版社,2005:1-239. [5]陈桂明,戚红雨,潘伟,MATLAB数理统计(6.X).北京:科学出版社,2002. [6]韩中庚.数学建模方法及应用.北京:高等教育出版社,2005. 9 因篇幅问题不能全部显示,请点此查看更多更全内容