当前位置:文档之家› 时间序列分析模型构建与MATLAB实现

时间序列分析模型构建与MATLAB实现


式 (2)称 为 n阶 自 回 归 模 型 ,记 为 AR(n) 模型。 当 φi =0时 ,模 型 (1)变 为 : = at - θ1at −1 - θ 2 at − 2 - … - θ m at − m ( 3 )
式 (3)称 为 m阶 滑 动 平 均 模 型 ,记 为 MA (m)模 型 。
的 是 AIC定 阶 方 法 。 首 先 假 定 ARMA(p,q) 模 型 的 一 组 阶 数 k,j,然 后 利 用 ARMA(p,q) 模型的自回归逼近法求得白噪声的估计方 差 δ 2 , 再 利 用 ARMA(p,q)模 型 的 AIC定 阶 方 法 ,计 算 AIC函 数 。 A I C ( k , j ) = l n (δ 2 ( k , j ) ) + 2 ( k + j ) / N AIC(k,j)的 最 小 值 点 ( p ' , q ' )称 为 (p,q) 的 AIC定 阶 。 也 就 是 ARMA(p,q)模 型 的 阶 数。 模型的参数估计: 求 模 型 参 数 的 方 法 很 多 ,有 矩 估 计 法 、 自回归逼近法、 最大似然估计法等。 这里我 们 讲 的 是 ARMA(p,q)模 型 的 自 回 归 方 法 。 对 零 均 值 化 后 的 观 测 数 据 x1 , x2 ,… x N n 拟 合 ARMA(p,q)模 型 时 , 可 采 用 如 下 的 自 回归逼近方法。 首 先 为 数 据 建 立 AR模 型 。 曲子回归阶数的上届P=[
X T X X T ε X TY β = T T T ε Y ε X ε ε
再估计出白噪声的方差:
−1
科技资讯 S C I E N C E & T E C H N O L O G Y I N F O R M A T I O N
φi ( i = 1 , 2 , … , n ) 自 回 归 参
xi
的 自 回 归 滑 动 平 均 模 型 ,记 为 ARMA(n,m)
xt = φ1 xt −1 + φ2 xt −2 +…+ φn xt − n + at (2)
参考文献
[1] 何 书 元 .应 用 时 间 序 列 分 析 [M].北 京 大 学 出 版 社 ,2003. [2] 田 铮 [译 ].时 间 序 列 的 理 论 与 方 法 (第 2 版 )[M].高 等 教 育 出 版 社 ,施 普 林 格 出 版 社 ,2001. 附录: %假 设 p1=-0.13,p2=2.05,q1=1.30, q2=-1.08 %时 间 序 列 模 型 为 :Xt=-0.13(Xt-1) +2.05(Xt-2)-1.30(At-1)+1.08(At-2)+At Nn=input('请 输 入 观 测 值 个 数 Nn'); for o=1:10 %本 循 环 用 于 统 计 p1=-0.13; p2=2.05; q1=1.30; q2=-1.08;
Q ( a , b) =
t = L +1
∑ (x − ∑ a x
t j =1
N
p
j t− j
− ∑ b j ε t' − j )
j =1
q
2
σ' =
2
Q ( a, b ) N −L
3 模型的定阶、参数估计的 MATLAB 实 现
程 序 见 附 录 ,程 序 开 始 通 过 产 生 服 从 正 态 分 布 的 随 机 序 列 ,并 假 设 模 型 参 数 ,以 便检验通过程序计算出的模型参数是否正 确。 运 行 程 序 之 后 ,得 出 的 结 果 为 : nna = 2 nnb = 2 pma = -0.1346 2.0515 pmb = 1.3022 -1.0732 证明程序正确。
θ1at −1 - θ 2 at − 2 - … - θ m at − m + at ( 1 )
式 中 ,称 为
xt = φ1 xt −1 + φ2 xt −2 + … + φn xt − n -
4 结语
通 过 对 时 间 序 列 模 型 用 MATLAB的 编 程 ,明 白 了 时 间 序 列 模 型 的 作 用 及 应 用 范 围 ,更 加 请 除 了 时 间 序 列 的 建 模 过 程 ,时 间 序列的建模过程实际上是一个循环的过 程 ,也 是 一 个 统 计 的 过 程 ,对 以 后 相 关 数 据 的处理提供了一种有用的方法。
a=rand(1,Nn); x(1)=a(1); x(2)=p1*x(1)-q1*a(1)+a(2); x(3)=p1*x(2)+p2*x(1)-q1*a(2)-q2*a (1)+a(3); for i=4:Nn x(i)=p1*x(i-1)+p2*x(i-2)+p3*x(i- 3)-q1*a(i-1)-q2*a(i-2)-q3*a(i-3)+a(i); end x ; %*********************************************** %利 用 信 息 量 原 则 定 阶 ////// %用 AR模 型 、 x估 计 参 数 p for n=1:sqrt(Nn) x2=x((n+1):Nn)'; for j=1:Nn-n for ji=1:n x1(j,ji)=x(n-ji+j); end end p=(inv(x1(1:Nn-n,:)'*x1(1:Nn- n,:)))*x1(1:Nn-n,:)'*x2(1:Nn-n); p; for j=n+1:Nn for ii=1:n ax(ii)=p(ii)*x(j-ii); end ct(j)=x(j)-sum(ax); end b(n)=sum(ct(n+1:Nn).^2)/(Nn-n); AIC(n)=log(b(n))+2*n/Nn; end AIC; %*********************************************** %求 信 息 量 的 最 小 值 pp=AIC(1); nn=1; for i=1:sqrt(Nn) if pp>AIC(i) pp=AIC(i); nn=i; end end nn %*********************************************** %求残差 for j=nn+1:Nn for ii=1:nn ax(ii)=p(ii)*x(j-ii); end ct(j)=x(j)-sum(ax); end at0(nn+1:Nn)=ct(nn+1:Nn); %估 计 参 数 aa,bb for p=1:5 for q=1:5 hh=[p,q,nn];
xL xL −1 Λ x x Λ X = L +1 L Μ Μ x N −1 x N − 2 Λ x L− p +1 xL− p + 2 Μ xN − p
数 ; θ j (j=1,2,… ,m)称 为 滑 动 平 均 参 数 ; { at }之 一 序 列 为 白 噪 声 序 列 ,(1)式 称 为 模型。 特 殊 地 ,当 θ j =0时 ,模 型 (1)变 为 :
1 时间序列基本思想概述
无论是按时间序列排列的观测数据还 是 按 空 间 位 置 顺 序 排 列 的 观 测 数 据 ,数 据 之间都或多或少的存在统计自相关现象。 时 间 序 列 分 析 是 20世 纪 20年 代 后 期 开 始 出 现 的 一 种 数 据 处 理 方 法 ,是 系 统 辨 识 与 系 统 分 析 的 重 要 方 法 之 一 ,是 一 种 动 态 的 数 据处理方法。 时 间 序 列 分 析 的 特 点 在 于:逐 次 的 观 测 值 通 常 是 不 独 立 的 ,且 分 析 必 须 考 虑 到 观 测 资 料 的 时 间 顺 序 ,当 逐 次 观 测 值 相 关 时 ,未 来 数 值 可 以 由 过 去 观 测 资 料 来 预 测 ,可 以 利 用 观 测 数 据 之 间 的 自 相 关 性建立相应的数学模型来描述客观现象的 动态特征。 时 间 序 列 分 析 的 基 本 思 想 是 :对 于 平 稳、 正态、 零均值的时间序列 {xt } ,若 {xt } 的 取 值 不 仅 与 其 前 n 步 的 各 个 取 值 {xt −1} ,
{xt −2 } ,… , {xt − n } 有 关 ,而 且 还 与 前 m步 的 干
扰 {at −1} , {at − 2 } , …
{at − m } 有 关 ( n , m = 1 ,
2,… ),则 按 多 元 现 行 回 归 的 思 想 , 可 得 到 最 一 般 的 ARMA模 型 :
2 ARMA(n,m)模型的构建过程
ARMA(n,m) 模 型 建 立 的 一 般 步 骤 包 括 :数 据 的 获 取 与 预 处 理 、 模型结构的选 择、 模型的定阶、 模型参数的估计、 模型检 验和模型预测等几个步骤。 下面重点叙述一下模型的定阶、 参数 估计的原理和方法。 模型的定阶: 模 型 定 阶 的 方 法 很 多 ,这 里 我 们 介IENCE & TECHNOLOGY INFORMATION
科技资讯
时间序列分析模型构建与 M A T L A B 实现
谭 (重庆市勘测院 重庆 400020) 摘 要 :主要讲述了时间序列分析的基本思想,模型构建方法、 过程及步骤,并通过假设的时间序列用MATLAB软件,实现了模型的定阶、 模型参数的估计过程。 关键词 :时间序列分析 时间序列模型 MATLAB方法实现 中 图 分 类 号 :TP3 文 献 标 识 码 :A 文 章 编 号 :1672-3791(2009)09(b)-0253-02
253
科技资讯
2009 NO.26 SCIENCE & TECHNOLOGY INFORMATION
学 术 论 坛
L=max(hh); for j=1:Nn-L for km=1:p xx11(j,km)=x(L-km+j); p; end end for j=1:Nn-L for jm=1:q e1(j,jm)=at0(L-jm+j); end end aabb=inv([xx11(1:Nn-L,:)'*xx11(1: Nn-L,:) xx11(1:Nn-L,:)'*e1(1:Nn- L,:);e1(1:Nn-L,:)'*xx11(1:Nn-L,:) e1 (1:Nn-L,:)'*e1(1:Nn-L,:)])*[xx11(1: Nn-L,:)'*x((L+1):Nn)';e1(1:Nn-L,:) '*x((L+1):Nn)']; pab=aabb'; pa=pab(1:p); pb=pab(p+1:p+q); pa; pb; %*********************************************** %计算信息量 for j=L+1:Nn for ii=1:p ax(ii)=pa(ii)*x(j-ii); end for kk=1:q bx(kk)=pb(kk)*x(j-kk); end abtt(j)=x(j)-sum(ax)-sum(bx); end ab(p,q)=sum(abtt(L+1:Nn).^2)/(Nn- L); AICB(p,q)=log(ab(p,q))+2*(p+q)/Nn; AICB; end end %*********************************************** %求 信 息 量 的 最 小 值 pppp=AICB(1,1); nna=1; nnb=1; for ik=1:5 for jk=1:5 if pppp>AICB(ik,jk) pppp=AICB(ik,jk); nna=ik; nnb=jk; end end end nna nnb %********************************************************************** %估 计 参 数 aa,bb p=nna; q=nnb; hh=[p,q,nn]; L=max(hh); for j=1:Nn-L for km=1:p xx11(j,km)=x(L-km+j); p; end end for j=1:Nn-L for jm=1:q e1(j,jm)=at0(L-jm+j); end end abc=inv([xx11(1:Nn-L,:)'*xx11(1: Nn-L,:) xx11(1:Nn-L,:)'*e1(1:Nn- L,:);e1(1:Nn-L,:)'*xx11(1:Nn-L,:) e1 (1:Nn-L,:)'*e1(1:Nn-L,:)])*[xx11(1: Nn-L,:)'*x((L+1):Nn)';e1(1:Nn-L,:) '*x((L+1):Nn)']; pmm=abc'; pma=pmm(1:p); pmb=pmm(p+1:p+q); pma pmb end
相关主题