当前位置:
文档之家› 基于MATLAB的时间序列建模与预测
基于MATLAB的时间序列建模与预测
1) arx和 armax函数对模型进行参数估计 ARX的函数格式为 : th = arx ( z, nn) ARMAX函数的格式为 : th = armax ( z, nn)
th = armax ( z, nn, ’thace’) 2) resid和 p redict函数对模型进行验证和预测 p redict函数的功能为 :根据历史输入输出数据计算辨识 模型的预测输出 ; resid函数 的功能为 :计算模型预测误差并进行相关分析 p redict函数格式 : yp = p redict( z, th)
析 。相关性分析的任务是计算序列 { X t}的样本自相关函数
和样本偏相关函数 ,并由他们的截尾性和拖尾性来进行模型
类别的判断 。可根据表 1进行模型结构的初选 。
— 105 —
© 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved.
表 1 ARM A( p, q)模型的序列特征表
AR (p)
自相关函数
拖尾
偏自相关函数 截尾 k = p处
MA ( q) 截尾 k = p处
拖尾
ARMA ( p , q) 拖尾 拖尾
ARMA (p, q)中 p, q参数的确定 : p, q并不能直接确定 ,而是需要先假定一组值 ,一般是从 (1, 1)开始 ,建立模型 ,然后逐步升高 p, q的值 ,求出一系列 模型 ,并根据 loss function, A IC等准则 ,找出一个最优模型 。 这里介绍一种粗略的判断方法 : P的选择是看平稳序列的偏自相关图 。选择有三 :落入 随机区间外的偏自相关个数 ;有效偏自相关的时滞 ;自相关 函数的震荡周期 。
=
xt - k , B k at = at - k , B k c≡c, c为常数
并令
< (B ) = 1 - <1B - <2B 2 - … - <pB p
θ(B )
=
1
-
θ 1
B
-
θ 2
B
2
-
… - θpB q
则可简记为 :
< (B ) xt =θ(B ) at
这一模型就称作 p阶自回归 - q阶滑动平均混合模型 ,
应数学模型的分析研究 ,能更本质的认识这些动态数据内在
结构和复杂性 ,从而达到在最小方差意义下的最佳预测 。
2. 1 ARM A模型的定义
ARMA 模型的一般形式为 :
xt
-
φ 1
xt
-
1
-
…
-
φ p
xt -
p
= at
-
θ 1
at
-
1
-
…
-
θ q
at
-
q用
B k 表示
k步线性推移算子 ,即
B k xt
1 引言
时间序列是随时间改变而随机地变化的序列 。时间序 列分析的目的是找出它的变化规律 ,即线性模型 ,主要有三 种 : AR模型 (自回归模型 ) 、MA 模型 (滑动平均模型 )和 AR2 MA模型 (自回归滑动平均模型或混合模型 ) 。时间序列在 工程中常用于做预报 ,如气象预报 、地震预报 、水文预报 、电 力负荷预报等 。例如某地区根据已有的电力负荷数据 ,预报 下一小时的电力负荷 ,以便控制下一小时发电机的发电量 。 目前在以上三种模型的实现算法上已有多种方法 ,但是往往 需要工程人员自己编程实现 ,在选择一个最优模型时 ,比较 繁杂 。本文介绍了 MATLAB 系统辨识工具箱在时间序列建 模及预测方面的应用 ,给广大工程技术人员提供了一种快捷 方便的实现途径 。
M odeling and Pred iction of T im e Ser ies Ba sed on M a tlab
HAN Lu - yue, DU X ing - jian
(Xi’an J iaotong University, Xi’an Shanxi 710049, China)
ABSTRACT: In this paper the app lication of System Identification Toolbox of M atlab in time series was introduced. Firstly, the method for analyzing and dealing w ith the dynam ic data, the p rocess of rank - determ ining and model constructing of time series were discussed. Then, the method and step s of data p retreatment, correlation analyzing, parameter estimation of ARMA model and forecasting of time series w ith System Identification Toolbox ofM atlab were disp layed. A t last the daily water p roviding of a water p lant was p redicted w ith this method. The result show s that it is very useful in p ractice. KEYW O RD S: Time series; Model; System identification
© 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved.
测 ,画出一步预测曲线 ,取 N /10 ( 124 /10 )为上限 ,根据 Loss Function、A IC、FPE等准则来定阶 。计算误差的自相关函数 和误差与输入的互相关函数 ,并检验误差是否为白噪声 。
Z0 , Z1 …, Zk …Zk + l …,其中 k≥1, l≥1。若以观测到 Z1 …, Zk
的数值 ,要估计
Zk
+
的
l
数
值
,
称
为
在
k时刻作
l步预报 , Zk + l
∧
地估计值记为
Zk
+
。预
l
ห้องสมุดไป่ตู้
报通
常
都
采用
最
小方
差
线
性
估
计
的
原则 。
2. 5 模型拟合残量的自相关检验
对序列通过了平稳性检验 ,并建立了相应的 ARMA模型 之后 ,为考核所建模性的优劣 ,一般还需对 ARMA 模型残量 a1 , a2 , …aN 检验是不是白噪声 。也就是说 ,如果经检验确是 白噪声序列 ,则可认为模型是合理的 ,否则 ,就应当进一步改 进模型 。
记为 ARMA ( p, q)模型 , 特殊地 , 若 p = 0, 称作纯滑动平均模
型 ,记为 MA ( q) ; 若 q = 0,称作纯自回归模型 , 记为 AR ( p) .
若 p = q = 0,模型退化为 xt = at ,即 { xt }为白噪声列 。 2. 2 模型阶次的确定
对时间序列的 X t ( t = 1, 2, …N ) , 首先要进行相关性分
4 应用实例
本文的原始数据是某市自来水公司 5个月的日给水量 , 预测的方法是根据前 4 个月的数据来预测第 5 个月的日用 水量 。主要步骤为 :
1)输入原始数据 2)对建模用的原始数据进行零均值化 ,平稳化处理 ,然 后进行分析 。本文用 ff = dtrend ( f)函数将建模用的原始数据 实现去趋势处理 ,即零均值化 ,平稳化处理 ; 3)用 [ acf, lags1, bounds1 ] = autocorr ( ff) 计算置信度为 95%的 acf(自相关函数 ) ,并画出其自相关函数的曲线 ; 4)用 [ pacf, lags1, bounds1 ] = parcorr ( ff) 计算置信度为 95%的 pacf (偏自相关函数 ) ,并画出其偏自相关函数的曲 线; 5)由 acf(自相关函数 )和 pacf(偏自相关函数 )的拖尾性 可初步判断为 ARMA 模型 ; 6)用 system identification toolbox中的 ident GU I或者直 接使用 resid和 p redict函数建立一系列模型并实现一步预
第 22卷 第 4期 文章编号 : 1006 - 9348 ( 2005) 04 - 0105 - 03
计 算 机 仿 真
2005年 4月
基于 M ATLAB的时间序列建模与预测
韩路跃 ,杜行检
(西安交通大学电子与信息工程学院 ,陕西 西安 710049)
摘要 :该文介绍了 MATLAB 系统辨识工具箱在时间序列方面的应用 。首先叙述了动态数据的分析与处理方法 ,时间序列模 型阶次的判定及建模过程 ,然后给出了利用 Matlab系统辨识工具箱对时间序列进行数据预处理 ,相关分析 , ARMA 模型参数 估计 ,以及预报的方法和步骤 ,最后使用该方法对某水厂日供水量进行预测 ,结果说明该方法具有极强的实践意义 。 关键词 :时间序列 ;模型 ;系统辨识 中图分类号 : TP391. 4 文献标识码 : A
2 ARM A 模型辨识和预测
ARMA 方法是一种精 确度较高的 短 期 时 间 序 列 预 测 方 法 。他将预测对象随时间变化形成的序列 ,看作是一个随机 序列 。ARMA法的基本思想是 :一串随时间变化而又相互关 联的数字序列 ,可以用相应的模型加以近似描述 。通过对相