时间序列分析在温度预测中的应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
时间序列分析在温度预测中的应用
宋学娜,王晓雨,孟玲清
辽宁工程技术大学理学院,辽宁阜新 (123000)
E-mail :songxuena123@
摘 要:通过介绍时间序列的相关知识,并将其应用到具体实例中,首先建立数据文件,画出数据原始图和自相关函数图,偏相关函数图,正泰概率图,并依据图形进行分析评价;然后用Box ―Jenkins 方法建模.进行模型参数估计和检验;最后做出预测。体现了时间序列的重要性。
关键词:时间序列分析,温度,Box ―Jenkins 方法建模,模型参数估计和检验
1. 引言
人们的一切活动,其目的无不在认识世界和改造世界,时间序列分析不仅可以从数量上揭示某一现象的发展变化规律或从动态的角度刻划某一现象之间与其他现象之间的内在数量关系及其变化规律性,达到认识客观世界之目的。而且运用时序模型还可以预测和控制现象的未来行为,修正或重新设计系统以达到利用和改造客观世界之目的。近几年来,时间序列分析一起了国内外学者及科研和管理人员的极大兴趣,特别是随着计算机的普及和软件的开发应用,对于只具有一般数学知识的学者和广大的工程技术及管理人员学习和掌握时间序列分析方法,并用以分析、探索社会经济现象的动态结构和发展变动规律,进行对未来状态进行预测控制,提供了实现可能性,且在诸多应用领域已取得了可喜成果。
温度对一个地区的农业,工业,生活都具有很重要的意义,温度随时间的变化而不同,其所形成的序列可以看成是时间序列。
2. 相关背景知识
2.1时间序列的含义
从统计意义上讲,所谓时间序列就是将某一个指标在不同时间上的不同数值,按照时间的先后顺序排列而成的序列。这种数列由于受到各种偶然因素的影响,往往表现出某种随机性,彼此之间存在着统计上的依赖关系。从数学意义上讲,对某一过程的某一个变量或一组变量)(t X 进行观察测量,在一系列时刻N t t t ,...,21(t 为自变量,且
N t t t <<<...21)得到的离散有序数据集合N i Xt Xt Xt Xt ,...,,...,,21称为离散数字时间序
列,即随机过程的一次样本实现。设):(T t t X ∈(i=1,2…)是一个随机过程,i Xt 是在时刻i 对过程)(t X 的观察值,则i Xt (i=1,2…)称为一次样本实现,也就是一个时间序列。从系统意义上看,时间序列就是某一系统在不同时间地点的响应。不仅指出时间序列是按一定顺序排列而成的,这里的"一定顺序"既可以是时间顺序,也可以是具有各种不同意义的物理量,可见时间序列只强调顺序的重要性,而非强调必须以时间顺序排列。[1]
2.2时间序列及模型的主要分类
按所研究的对象对少分,有一元时间序列和多元时间序列。按时间的连续性可分为离散时间序列和连续时间序列。按序列的统计特性分析,有平稳时间序列和非平稳时间序列。如果一个时间序列的概率分布于时间t 无关,则称该序列为严格的平稳时间序列。如果
序列的一、二阶矩阵存在,而且对任意时刻t 满足:(1)均值为常数(2)协方差为时间间隔τ的函数则称为宽平稳时间序列。
模型有:自回归模型(AR 模型);移动平均模型(MA 模型);自回归移动平均模型(ARMA 模型)[1]
用Y 表示某个时间序列,该序列可以分解成下面几个部分:),,,(e S C T f Y = 其中,T :趋势项,长期看时间序列逐渐增加或逐渐减少的变化
C :循环项,时间超过一年的周期性变动 S :季节项,一年内的周期性变动
e :随机项,不可预测的偶然因素对时间序列的影响
也可把T 和C 并在一起统称为趋势,一个时间序列可能包括上面四个部分中的全部或这几个部分。[2]
2.3时间序列建模的主要过程
一:平稳时间序列建模:
第一步 原始数据序列特性的初步分析 1. 分析原始数据序列是否满足:
⑴ 平稳性(有随机性,无趋势规律和季节波动) ⑵ 独立性(非白噪声,系统有记忆性) ⑶ 正态性 2. 模型的初步识别 第二步 模型的建立 1. 模型结构的建立 2. 模型参数的估计
第三步 模型的评价、修改与最终模型的确定 1. 模型拟合检验
2. 藉助函数aicbic 的多种模型的比较与选优
3. 用蒙特卡洛模拟方法验证所建模型的可靠性 二:非平稳时间序列建模: 第一步 数据特性的初步分析
第二步 剔除数据长期趋势(将非平稳时间序列转化为平稳时间序列) 方法一: 典型分解方法
⑴ 用时间回归法拟合长期趋势T =a +bt ⑵ 从原始数据中剔除长期趋势 ⑶ 考察剔除长期趋势后的数据特性 方法二:用差分法剔除长期趋势
⑴ 用函数price2ret 将非平稳序列转化为平稳序列 (2)考察变换后的数据特性
第三步 借助AIC/BIC 准则多模型比较方法建模(仅对方法2作后续处理)
(1)模型识别:1)在可能的AR 模型中评价与选择;2)在可能的MA 模型
中评价与选择;3)在可能的ARMA 模型中评价与选择;
(2)模型参数估计
第四步模型的检验
第五步模型预测:(1)计算预测残差并求残差平方和
(2)预测结果可视化
3.具体应用实例
3.1问题与数据
某年某地2月1日至8月18日中午温度数据(摄氏温度):根据所建模型对8月19
日至29日中午的温度做出预报,并使预报结果可视化.
表1 2月1日至8月18日中午温度数据
-5.1 -10.1 -0.3 -1.1 -0.1 -0.1 -0.6 -4.6 -0.2 -7.3 -7.3 -0.1 -0.5 -2.8 -5 6.7 -5.8 -4.6 -5.1 -4 -6.4 -3.4 -4.3 -5.1 -4.9 -4.6 -7.1 -7.7 -9.7 -5.2 -6.6 -7.4 -3.9 -3.8 -1.1 -1.4 -4.8 -6.4 -3 -9.6 -4.2 0.2 0 0.8 2.9 2.6 -0.4 -3 -3 -2.8 -3.9 -3.4 -0.8 -3.8 -5.7 -6.3 -6 -5.3 -4.3 -3.4 -1.6 2 0.1 -1.2 -0.8 0.3 -1.7 0.7 1.9 0.4 -2.6 -3.7 -2.4 -1.5 -2.9 -4.2 -4.9 -0.7 -3.1 -4.5 -4.1 -4.2 -2.2 -3.3 -2.6 -2.4 -2.4 -2.8 -4.3 -3.2 -3.5 -3.7 -2.3 -2.5 -3.9 -4.7 -0.2 2.1 1.8 3.8 -0.4 0.3 0 0.6 -0.1 1.7 -2.4 -0.5 -2.9 -0.6 3.7 5.4 7.6 2.2 3.6 7.8 7.8 5.2 0.8 2.7 0.7 1.4 4.2 3.7 0.3 0.6 0.6 -0.6 -0.7 2.8 2.7 1.5 2.1 -0.2 0 3.3 5.8 3.4 1.8 3.6 4.9 3.9 1.2 5.5 0.1 5.5 7.6 13.6 9.7 7.9 11.5 8.4 10.5 12.2 10.5 7.7 6.2 7.2 9.1 9.2 4.9 5.3 7.6 4.8 4.8 2.8 2.3 1.1 0.1 1.2 1.2 5.5 4.3 1.7 -0.1 1.6 4.3 3.9 6.1 6.9 5.9 7.3 5 2.8 3.1 5 7.2 8.8 13.6 13.1 12.3 11.4 11.3 7.2 4.9 5.1 7.1 8.2 9.7
3.2相应的matlab求解过程
3.2.1.画图并分析数据
wdsj=[5.1 -10.1 -0.3 -1.1 -0.1 -0.1 -0.6 -4.6 -0.2 -7.3 -7.3 -0.1 -0.5 -2.8 -5 -6.7 -5.8 -4.6 -5.1 -4 -
6.4 -3.4 -4.3 -5.1 -4.9 -4.6 -
7.1 -7.7 -9.7 -5.2 -6.6 -7.4 -3.9 -3.8 -1.1 -1.4 -4.8 -6.4 -3 -9.6 -4.2 0.2 0
0.8 2.9 2.6 -0.4 -3 -3 -5.6 -2.8 -3.9 -3.4 -0.8 -3.8 -5.7 -6.3 -6 -5.3 -4.3 -3.4 -1.6 2 0.1 -1.2 -0.8 0.3 -
1.7 0.7 1.9 0.4 -
2.6 -
3.7 -2.4 -1.5 -2.9 -
4.2 -4.9 -0.7 -3.1 -4.5 -4.1 -4.2 -2.2 -3.3 -2.6 -2.4 -2.4 -2.8 -
4.3 -3.2 -3.5 -3.7 -2.3 -2.5 -3.9 -4.7 -0.2 2.1 1.8 3.8 -0.4 0.3 0 0.6 -0.1 1.7 -2.4 -0.5 -2.9 -0.6 3.7
5.4 7.6 2.2 3.6 7.8 7.8 5.2 0.8 2.7 0.7 1.4 4.2 3.7 0.3 0.6 0.6 -0.6 -0.7 2.8 2.7 1.5 2.1 -0.2 0 3.3 5.8
3.4 1.8 3.6
4.9 3.9 1.2
5.5 0.1 5.5 7.6 13.6 9.7 7.9 11.5 8.4 10.5 12.2 10.5 7.7
6.2
7.2 9.1 9.2 4.9
5.3 7.6 4.8 4.8 2.8 2.3 1.1 0.1 1.2 1.2 5.5 4.3 1.7 -0.1 1.6 4.3 3.9
6.1 6.9 5.9
7.3 5 2.8 3.1 5 7.2
8.8
13.6 13.1 12.3 11.4 11.3 7.2 4.9 5.1 7.1 8.2 9.7];
subplot(2,2,1)