当前位置:   article > 正文

时间序列模型的相关概念以及Matlab拟合ARIMA(p,d,q)模型_matlab的 arima的pq计算

matlab的 arima的pq计算

时间序列模型

统计量:

通常,我们用 X t = { X ∣ t ∈ T } X_t=\{X|t∈T\} Xt={XtT}表示一个时间序列, x 1 , x 2 , … , x n x_1,x_2,…,x_n x1,x2,,xn是观察值,时间序列有下面几个常用的统计量,这些统计量,为我们拟合时间序列模型做出准备.这几个统计量分别是均值,方差,协方差,相关系数,自相关系数,偏自相关系数

均值:

理论的均值函数
μ t = E ( X t ) μ_t=E(X_t ) μt=E(Xt)
均值的估计值
μ ^ = 1 n ∑ i = 1 n x i \hatμ=\frac{1}{n} \sum_{i=1}^nx_i μ^=n1i=1nxi

方差:

理论的方差函数
σ t 2 = D ( X t ) = E ( X t 2 ) − ( E ( X t ) ) 2 σ_t^2=D(X_t )=E(X_t^2 )-(E(X_t ))^2 σt2=D(Xt)=E(Xt2)(E(Xt))2
方差的估计值
σ ^ 2 = 1 n − 1 ∑ i = 1 n ( x i − μ ^ ) 2 \hatσ^2=\frac{1}{n-1} \sum_{i=1}^n(x_i-\hatμ)^2 σ^2=n11i=1n(xiμ^)2

差分

对序列1阶差分
Δ x t = x t − x t − 1 Δx_t=x_t-x_{t-1} Δxt=xtxt1
2阶差分
Δ 2 x t = Δ x t − Δ x t − 1 = x t − 2 x t − 1 + x t − 2 Δ^2 x_t=Δx_t-Δx_{t-1}=x_t-2x_{t-1}+x_{t-2} Δ2xt=ΔxtΔxt1=xt2xt1+xt2
P阶差分
Δ p x t = Δ p − 1 x t − Δ p − 1 x t − 1 Δ^p x_t=Δ^{p-1} x_t-Δ^{p-1} x_{t-1} Δpxt=Δp1xtΔp1xt1
P步差分
Δ p x t = x t − x t − p Δ_p x_t=x_t-x_{t-p} Δpxt=xtxtp
延迟算子
L x t = x t − 1 L i x t = x t − i Lx_t=x_{t-1}\\ L^i x_t=x_{t-i} Lxt=xt1Lixt=xti
常见的时间序列模型:
x t = ϕ 1 x ( t − 1 ) + ϕ 2 x ( t − 2 ) + ⋯ + ϕ p x ( t − p ) + ε t x_t=ϕ_1 x_(t-1)+ϕ_2 x_(t-2)+⋯+ϕ_p x_(t-p)+\varepsilon_t xt=ϕ1x(t1)+ϕ2x(t2)++ϕpx(tp)+εt
用延迟算子表示是
( 1 − ϕ 1 L − ϕ 2 L 2 − … − ϕ p L p ) x t = ε t (1-ϕ_1 L-ϕ_2 L^2-…-ϕ_p L^p ) x_t=\varepsilon_t (1ϕ1Lϕ2L2ϕpLp)xt=εt

平稳时间序列

白噪声序列

一个时间序列,如果完全符合正态分布,说明这个序列是白噪声序列,一旦时间序列通过了白噪声检验,说明这个序列已经没有了分析的价值,我们应该停止分析

白噪声序列满足条件
E ( X t ) = μ E(X_t )=μ E(Xt)=μ

γ ( s , t ) = { σ 2 , s ≠ t 0 , s = t \gamma(s, t)=\left\{

σ2,st0,s=t
\right. γ(s,t)={σ2,s=t0,s=t
记为 X t ∼ W N ( μ , σ 2 ) X_t∼WN(μ,σ^2) XtWN(μ,σ2)

白噪声检验

我们不加证明的给出预备理论:

1.如果一个序列是白噪声序列,那么这个序列的以非零延迟的自相关系数 ρ ^ k \hat ρ_k ρ^k近似服从方差为观察期数的倒数,均值为0的正态分布
ρ ^ k ∼ N ( 0 , 1 n ) , ∀ k ≠ 0 \hatρ_k∼N(0,\frac{1}{n}),∀k≠0 ρ^kN(0,n1),k=0
2.若 Y i ∼ N ( 0 , 1 ) , i = 1 , 2 , … , n Y_i∼N(0,1),i=1,2,…,n YiN(0,1),i=1,2,,n ,则
∑ i = 1 n Y i 2 ∼ χ 2 ( n ) \sum_{i=1}^nY_i^2∼\chi^2 (n) i=1nYi2χ2(n)
N个标准正态分布的平方和服从自由度n的卡方分布

原假设:延迟期数小于m的序列完全不相关

备择假设:延迟期数小于m的序列存在相关性

我们构造原假设 H 0 : ρ 0 = ρ 1 = ⋯ = ρ m H_0:ρ_0=ρ_1=⋯=ρ_m H0:ρ0=ρ1==ρm

备择假设 H 1 : ρ 0 , ρ 1 , … , ρ m H_1:ρ_0,ρ_1,…,ρ_m H1:ρ0,ρ1,,ρm 至少存在非零值

白噪声检验常用的统计量有两个

  1. Q统计量

Q = n ∑ i = 1 m ρ ^ k 2 Q=n\sum_{i=1}^m\hatρ_k^2 Q=ni=1mρ^k2
n是序列观测期数,m是指定的延期数

由于 ρ ^ k ∼ N ( 0 , 1 n ) , ∀ k ≠ 0 \hatρ_k∼N(0,\frac{1}{n}),∀k≠0 ρ^kN(0,n1),k=0,所以 n ρ ^ k ∼ N ( 0 , 1 ) \sqrt n \hatρ _k∼N(0,1) n ρ^kN(0,1) ,所以
Q = n ∑ i = 1 m ρ ^ k 2 ∼ χ 2 ( m ) Q=n\sum_{i=1}^m\hatρ_k^2 ∼χ^2 (m) Q=ni=1mρ^k2χ2(m)
Q ≥ χ 1 − α 2 ( m ) Q≥χ_{1-α}^2 (m) Qχ1α2(m)的分位点,或者Q的p值小于 α \alpha α ,可以在 1 − α 1-α 1α的置信水平下拒绝原假设,认为原序列不是白噪声序列,存在相关性,可以继续分析。
Q统计量适合大样本的情形

  1. LB统计量

    L B = n ( n + 2 ) ∑ k = 1 m ( ρ ^ k 2 n − k ) LB=n(n+2) \sum_{k=1}^m(\frac{\hatρ_k^2}{n-k}) LB=n(n+2)k=1m(nkρ^k2)
    n是序列观测期数,m是指定的延期数
    我们不加证明的告诉大家LB近似服从自由度为m的卡方分布
    L B ∼ χ 2 ( m ) LB∼χ^2 (m) LBχ2(m)

自协方差相关系数(ACF):

ρ s , t = C o r r ( X s , X t ) = C o v ( X s , X t ) D ( X s ) D ( X t ) = γ s , t σ s σ t ρ_{s,t}=Corr(X_s,X_t )=\frac{Cov(X_s,X_t )}{D(X_s )D(X_t )} =\frac{γ_{s,t}}{σ_s σ_t} ρs,t=Corr(Xs,Xt)=D(Xs)D(Xt)Cov(Xs,Xt)=σsσtγs,t

回顾一下协方差和相关系数的定义

C o v ( X , Y ) = E ( X − E ( X ) ) ( Y − E ( Y ) ) C o r r ( X , Y ) = C o v ( X , Y ) / D ( X ) D ( Y ) ρ s , s = 1 Cov(X,Y)=E(X-E(X))(Y-E(Y))\\ Corr(X,Y)=Cov(X,Y)/D(X)D(Y)\\ ρ_{s,s}=1 Cov(X,Y)=E(XE(X))(YE(Y))Corr(X,Y)=Cov(X,Y)/D(X)D(Y)ρs,s=1

上面的定义,意味着在 时刻要大量的数据,才可以计算ACF,很明显这是理想情况,这是不现实的。为此,我们引入平稳时间序列的概念

平稳序列满足三个条件

(1) ∀ t ∈ T , E ( X t ) < + ∞ ∀t∈T,E(X_t )<+∞ tT,E(Xt)<+

(2) ∀ t ∈ T , E ( X t ) = μ , μ ∀t∈T,E(X_t )=μ,μ tT,E(Xt)=μ,μ, 为常数

(3) ∀ r , s , t , γ s , t = γ s + r , t + r ∀r,s,t,γ_{s,t}=γ_{s+r,t+r} r,s,t,γs,t=γs+r,t+r

可以看出,平稳时间序列中,任意两个时间点的ACF,只和这两个点之间的距离,即滞后 ∣ t − s ∣ |t-s| ts有关,即 γ s , t = γ 0 , t − s γ_{s,t}=γ_{0,t-s} γs,t=γ0,ts
这样的话,如果想要计算ACF,我们需要计算的就是
偏自相关系数比较复杂,在此从略计算,大家会代码即可
ρ l a g = γ l a g γ 0 , l a g = 0 , 1 , 2 , … ρ_{lag}=\frac{\gamma_{lag}}{γ_0} ,lag=0,1,2,… ρlag=γ0γlag,lag=0,1,2,

只需要知道,AR§的PACF是p阶截尾,MA(q)的ACF是q阶截尾即可

定性理论

差分方程通解问题

( 1 + a 1 L + a 2 L 2 + ⋯ + a p L p ) z t = h ( t ) (1+a_1 L+a_2 L^2+⋯+a_p L^p ) z_t=h(t) (1+a1L+a2L2++apLp)zt=h(t)
h ( t ) = 0 h(t)=0 h(t)=0 ,则上面的方程是齐次差分方程

齐次差分方程通解问题

上面的差分方程的特征方程为 λ p + a 1 λ p − 1 + a 2 λ p − 2 + ⋯ + a p = 0 λ^p+a_1 λ^{p-1}+a_2 λ^{p-2}+⋯+a_p=0 λp+a1λp1+a2λp2++ap=0

根据代数学基本定理,这个p次多项式必定有p个复根 λ 1 , λ 2 , … , λ p λ_1,λ_2,…,λ_p λ1,λ2,,λp ,下面我们根据根的情况对解进行讨论

1. λ 1 , λ 2 , … , λ p λ_1,λ_2,…,λ_p λ1,λ2,,λp 均为互不相等实根

齐次差分方程的解为 z t = c 1 λ 1 t + ⋯ + c p λ p t z_t=c_1 λ_1^t+⋯+c_p λ_p^t zt=c1λ1t++cpλpt

λ 1 , λ 2 , … , λ p λ_1,λ_2,…,λ_p λ1,λ2,,λp 均为实数,但存在相等的实数根

2. λ 1 , λ 2 , … , λ d λ_1,λ_2,…,λ_d λ1,λ2,,λd 是相等的实根,其他的实根互不相同

齐次差分方程的解为 z t = ( c 1 + c 2 t + ⋯ + c d t d − 1 ) λ 1 t + c d + 1 λ ( d + 1 ) t + ⋯ + c p λ p t z_t=(c_1+c_2 t+⋯+c_d t^{d-1} ) λ_1^t+c_{d+1} λ_(d+1)^t+⋯+c_p λ_p^t zt=(c1+c2t++cdtd1)λ1t+cd+1λ(d+1)t++cpλpt

3. λ 1 , λ 2 , … , λ p λ_1,λ_2,…,λ_p λ1,λ2,,λp存在复数

由于系数均为实数,所以复根必定共轭成对出现,设
λ 1 = a + i b = r e i ω , λ 2 = a − i b = r e − i ω , r = a 2 + b 2 , ω = a r c c o s ⁡ a r λ_1=a+ib=re^{iω},λ_2=a-ib=re^{-iω},r=\sqrt{a^2+b^2},ω=arccos⁡\frac{a}{r} λ1=a+ib=reiω,λ2=aib=reiω,r=a2+b2 ,ω=arccosra
λ 3 , λ 2 , … , λ p λ_3,λ_2,…,λ_p λ3,λ2,,λp均为互不相等实根,此时

齐次差分方程的解为

z t = r t ( ( c 1 e i t ω + c 2 e − i t ω ) + c 3 λ 3 t + ⋯ + c p λ p t z_t=r^t ((c_1 e^{itω}+c_2 e^{-itω})+c_3 λ_3^t+⋯+c_p λ_p^t zt=rt((c1eitω+c2eitω)+c3λ3t++cpλpt
非齐次差分方程通解问题

非齐次通解 z t z_t zt是齐次通解 z t ′ z_t' zt与非齐次特解 z t ′ ′ z_t'' zt之和 z t = z t ′ + z t ′ ′ z_t=z_t'+z_t'' zt=zt+zt

AR( p )

AR是自回归模型的简称,AR模型的定义和性质在下面
{ x t = ϕ 0 + ϕ 1 x t − 1 + … + ϕ p x t − p + ε t ϕ p ≠ 0 E ( ε t ) = 0 , Var ⁡ ( ε t ) = σ t 2 , E ( ε t ε s ) = 0 , s ≠ t E ( X t ε t ) = 0 , ∀ s < t \left\{

xt=ϕ0+ϕ1xt1++ϕpxtp+εtϕp0E(εt)=0,Var(εt)=σt2,E(εtεs)=0,stE(Xtεt)=0,s<t
\right. xt=ϕ0+ϕ1xt1++ϕpxtp+εtϕp=0E(εt)=0,Var(εt)=σt2,E(εtεs)=0,s=tE(Xtεt)=0,s<t
用延迟算子表示为 Φ ( L ) x t = ε t Φ(L) x_t=ε_t Φ(L)xt=εt

中心化:
μ = ϕ 0 1 − ϕ 1 − … − ϕ p , y t = x t = μ μ=\frac{ϕ_0}{1-ϕ_1-…-ϕ_p},y_t=x_t=μ μ=1ϕ1ϕpϕ0,yt=xt=μ
{ y t } \{y_t \} {yt} { x t } \{x_t \} {xt} 的中心化序列

AR( p)的平稳性判别

中心化的序列平稳的条件是
t → 0 , x t → 0 t\rightarrow0,x_t\rightarrow0 t0,xt0
观察齐次差分方程的解 z t = r t ( c 1 e i t ω + c 2 e − i t ω ) + c 3 λ 3 t + ⋯ + c p λ p t z_t=r^t (c_1 e^{itω}+c_2 e^{-itω} )+c_3 λ_3^t+⋯+c_p λ_p^t zt=rt(c1eitω+c2eitω)+c3λ3t++cpλpt,可以得出,序列平稳的等价条件是 ∣ λ i ∣ < 1 , i = 1 , 2 , … , p |λ_i |<1,i=1,2,…,p λi<1,i=1,2,,p

这就是检验平稳性的特征根判别法

重要性质:

自相关系数(ACF)拖尾,偏自相关系数(PACF)p阶截尾

AR§的ACF拖尾的原因可以直观解释, x t = ϕ 1 x t − 1 + ϕ 2 x t − 2 + ⋯ + ϕ p x p + ε t x_t=ϕ_1 x_{t-1}+ϕ_2 x_{t-2}+⋯+ϕ_p x_p+\varepsilon_t xt=ϕ1xt1+ϕ2xt2++ϕpxp+εt 这个模型里面, x t x_t xt的值受到后面p期序列值的影响,但是 x t − 1 x_{t-1} xt1的序列值又受 x t − 1 − p x_{t-1-p} xt1p的影响,这样下去, ρ 0 , 1 , ρ 0 , 2 , … ρ 0 , t ρ_{0,1},ρ_{0,2},…ρ_{0,t} ρ0,1,ρ0,2,ρ0,t 的值以指数形式减少,所以是拖尾,

AR( p)的偏自相关系数p阶截尾,这个结论来自Yule-Walker方程

如果我们想计算滞后为k的偏自相关系数,我们需要知道 ρ 1 , ρ 2 , … , ρ k − 1 , ρ k ρ_1,ρ_2,…,ρ_{k-1},ρ_k ρ1,ρ2,,ρk1,ρk 的值,然后根据下面的方程组(Yule-Walker方程)求解
ρ l = ϕ k 1 ρ l − 1 + ϕ k 2 ρ l − 2 + … + ϕ k k ρ l − k , ∀ l , 1 ⩽ l ⩽ k \rho_{l}=\phi_{k 1} \rho_{l-1}+\phi_{k 2} \rho_{l-2}+\ldots+\phi_{k k} \rho_{l-k}, \forall l, 1 \leqslant l \leqslant k ρl=ϕk1ρl1+ϕk2ρl2++ϕkkρlk,l,1lk
用矩阵表示
( 1 ρ 1 ⋯ ρ k − 1 ρ 1 1 ⋯ ρ k − 2 ⋮ ⋮ ⋮ ρ k − 1 ρ k − 2 ⋯ 1 ) ( ϕ k 1 ϕ k 2 ⋮ ϕ k k ) = ( ρ 1 ρ 2 ⋮ ρ k ) \left(

1ρ1ρk1ρ11ρk2ρk1ρk21
\right)\left(
ϕk1ϕk2ϕkk
\right)=\left(
ρ1ρ2ρk
\right) 1ρ1ρk1ρ11ρk2ρk1ρk21ϕk1ϕk2ϕkk=ρ1ρ2ρk
这是一个线性方程组,根据Cramer法则就可以求解, 就是参数的解, 就是滞后为k的偏自相关系数
ϕ k k = D k D ϕ_{kk}=\frac{D_k}{D} ϕkk=DDk

D = ∣ 1 ρ 1 ⋯ ρ k − 1 ρ 1 1 ⋯ ρ k − 2 ⋮ ⋮ ⋮ ρ k − 1 ρ k − 2 ⋯ 1 ∣ , D k = ∣ 1 ρ 1 ⋯ ρ 1 ρ 1 1 ⋯ ρ 2 ⋮ ⋮ ⋮ ρ k − 1 ρ k − 2 ⋯ ρ k ∣ D=\left|

1ρ1ρk1ρ11ρk2ρk1ρk21
\right|, D_{k}=\left|
1ρ1ρ1ρ11ρ2ρk1ρk2ρk
\right| D=1ρ1ρk1ρ11ρk2ρk1ρk21,Dk=1ρ1ρk1ρ11ρk2ρ1ρ2ρk

PACF截尾的原因是,当k>p时, D k = 0 D_k=0 Dk=0

下面简单证明一下这个结论
AR( p)截尾的证明

由于AR( p)模型的 ϕ p ≠ 0 ϕ_p≠0 ϕp=0 ,向量 η \eta η可以表示成 ξ i ( i = 1 , 2 , … , p ) ξ_i (i=1,2,…,p) ξi(i=1,2,,p) 的非零线性组合,k>p时, D k D_k Dk的前p个列向量正好是 ξ i ( i = 1 , 2 , … , p ) ξ_i (i=1,2,…,p) ξi(i=1,2,,p),最后一个列向量正好是 η \eta η,所以 D k = 0 , ϕ k k = 0 D_k=0,ϕ_kk=0 Dk=0,ϕkk=0.

所以,AR( p)的PACF是p阶截尾

MA(q)

定义:具有下面的结构的模型是q阶移动平均模型,记为MA(q)
{ x t = μ + ε t − θ 1 ε t − 1 − θ 2 ε t − 2 − … − θ q ε t − q θ p ≠ 0 E ( ε t ) = 0 , D ( ε t ) = σ ε 2 , E ( ε t ε s ) = 0 , s ≠ t \left\{

xt=μ+εtθ1εt1θ2εt2θqεtqθp0E(εt)=0,D(εt)=σε2,E(εtεs)=0,st
\right. xt=μ+εtθ1εt1θ2εt2θqεtqθp=0E(εt)=0,D(εt)=σε2,E(εtεs)=0,s=t

用延迟算子表示为 x t = Θ ( L ) ε t x_t=Θ(L) ε_t xt=Θ(L)εt

中心化: y t = x t − μ y_t=x_t-μ yt=xtμ

MA(q)任何时候都平稳

可逆性条件:

系数多项式 Θ ( L ) = 0 Θ(L)=0 Θ(L)=0的根都在单位圆外,这跟AR( p)的平稳性条件( Φ ( B ) = 0 Φ(B)=0 Φ(B)=0的根都在单位圆外)完全对偶

重要性质:

1.自协方差函数只和滞后阶数有关,是q阶截尾,自相关系数q阶截尾, ρ k = γ k γ 0 ρ_k=\frac{γ_k}{γ_0} ρk=γ0γk
γ k = E ( x t x t − k ) = E [ ( ε t − θ 1 ε t − 1 − … − θ q ε t − q ) ( ε t − k − θ 1 ε t − k − 1 − … − θ q ε t − k − q ) ] γ_k=E(x_t x_{t-k})=E[(ε_t-θ_1 ε_{t-1}-…-θ_q ε_{t-q} )(ε_{t-k}-θ_1 ε_{t-k-1}-…-θ_q ε_{t-k-q} )] γk=E(xtxtk)=E[(εtθ1εt1θqεtq)(εtkθ1εtk1θqεtkq)]

= { ( 1 + θ 1 2 + … + θ q 2 ) σ ε 2 , k = 0 ( − θ k + ∑ i = 1 q − k θ i θ k + i ) σ ε 2 , 1 ⩽ k ⩽ q 0 , k > q =\left\{

(1+θ12++θq2)σε2,k=0(θk+i=1qkθiθk+i)σε2,1kq0,k>q
\right. =(1+θ12++θq2)σε2,k=0(θk+i=1qkθiθk+i)σε2,1kq0,k>q

2.偏自相关系数拖尾

这个结论来自MA(q)模型的可逆性, M A ( q ) MA(q) MA(q)模型可以写成 A R ( ∞ ) AR(∞) AR()的形式,有AR§模型的PACF是p阶结尾,可以得出 A R ( ∞ ) AR(∞) AR() 模型是无穷阶截尾,也就是拖尾,所以得出MA(q)模型的PACF拖尾的结论

ARMA(p,q)

定义:具有下面结构的模型叫自回归移动平均模型,记为ARMA(p,q)
{ x t = ϕ 0 + ϕ 1 x t − 1 + … + ϕ p x t − p + ε t − θ 1 ε t − 1 − θ 2 ε t − 2 − … − θ q ε t − q ϕ p ≠ 0 , θ q ≠ 0 E ( ε t ) = 0 , D ( ε t ) = σ ε 2 , E ( ε t ε s ) = 0 , s ≠ t E ( x s ε t ) = 0 , ∀ s < t \left\{

xt=ϕ0+ϕ1xt1++ϕpxtp+εtθ1εt1θ2εt2θqεtqϕp0,θq0E(εt)=0,D(εt)=σε2,E(εtεs)=0,stE(xsεt)=0,s<t
\right. xt=ϕ0+ϕ1xt1++ϕpxtp+εtθ1εt1θ2εt2θqεtqϕp=0,θq=0E(εt)=0,D(εt)=σε2,E(εtεs)=0,s=tE(xsεt)=0,s<t
用延迟算子表示为 Φ ( L ) x t = Θ ( L ) ε t Φ(L) x_t=Θ(L) ε_t Φ(L)xt=Θ(L)εt

p=0,退化为MA(q),q=0,退化为AR( p)

平稳性条件:ARMA(p,q)的平稳性条件只由自回归部分决定,即 Φ ( B ) = 0 Φ(B)=0 Φ(B)=0的根全在单位圆外

统计性质:自相关系数,偏自相关系数都不截尾

非平稳时间序列

差分运算

差分运算是未来使序列变得平稳

ARIMA(p,d,q)

对于一个非平稳序列,差分运算可以让序列变得平稳,所以引入ARIMA模型,通俗的说,是d阶差分运算后,变为ARMA(p,q)模型
{ Φ ( L ) Δ d x t = Θ ( L ) ε t E ( ε t ) = 0 , D ( ε t ) = σ ε 2 , E ( ε t ε s ) = 0 , s ≠ t E ( x s ε t ) = 0 , ∀ s < t \left\{

Φ(L)Δdxt=Θ(L)εtE(εt)=0,D(εt)=σε2,E(εtεs)=0,stE(xsεt)=0,s<t
\right. Φ(L)Δdxt=Θ(L)εtE(εt)=0,D(εt)=σε2,E(εtεs)=0,s=tE(xsεt)=0,s<t
Δ d = ( 1 − L ) d Δ^d=(1-L)^d Δd=(1L)d,是d阶差分

例题

例1

现有201个生产数据,拟合出合适的模型

81.989.47981.484.885.98880.382.6
83.580.285.287.283.584.382.984.782.9
81.583.487.781.879.685.877.989.785.4
86.380.783.890.584.582.486.78381.8
89.379.382.78879.687.883.679.583.3
88.486.684.679.78684.28384.883.6
81.885.988.283.587.283.787.38390.5
80.783.186.59077.584.784.687.280.5
86.182.685.484.782.881.983.686.884
84.282.8838284.784.488.982.483
8582.281.686.285.482.181.48585.8
84.283.586.58580.485.786.786.782.3
86.482.58279.586.780.591.781.683.9
85.684.878.489.98586.28385.484.4
84.586.285.683.285.783.580.182.288.6
828585.285.384.382.389.784.883.1
80.687.486.883.586.284.182.384.886.6
83.578.188.881.983.38087.283.386.6
79.584.182.290.886.579.78187.281.6
84.484.482.288.980.985.187.18476.5
82.785.183.390.48180.379.88983.7
80.987.381.185.686.68086.683.383.1
82.386.780.2
z=[81.9000000000000	89.4000000000000	79	81.4000000000000	84.8000000000000	85.9000000000000	88	80.3000000000000	82.6000000000000	83.5000000000000	80.2000000000000	85.2000000000000	87.2000000000000	83.5000000000000	84.3000000000000	82.9000000000000	84.7000000000000	82.9000000000000	81.5000000000000	83.4000000000000	87.7000000000000	81.8000000000000	79.6000000000000	85.8000000000000	77.9000000000000	89.7000000000000	85.4000000000000	86.3000000000000	80.7000000000000	83.8000000000000	90.5000000000000	84.5000000000000	82.4000000000000	86.7000000000000	83	81.8000000000000	89.3000000000000	79.3000000000000	82.7000000000000	88	79.6000000000000	87.8000000000000	83.6000000000000	79.5000000000000	83.3000000000000	88.4000000000000	86.6000000000000	84.6000000000000	79.7000000000000	86	84.2000000000000	83	84.8000000000000	83.6000000000000	81.8000000000000	85.9000000000000	88.2000000000000	83.5000000000000	87.2000000000000	83.7000000000000	87.3000000000000	83	90.5000000000000	80.7000000000000	83.1000000000000	86.5000000000000	90	77.5000000000000	84.7000000000000	84.6000000000000	87.2000000000000	80.5000000000000	86.1000000000000	82.6000000000000	85.4000000000000	84.7000000000000	82.8000000000000	81.9000000000000	83.6000000000000	86.8000000000000	84	84.2000000000000	82.8000000000000	83	82	84.7000000000000	84.4000000000000	88.9000000000000	82.4000000000000	83	85	82.2000000000000	81.6000000000000	86.2000000000000	85.4000000000000	82.1000000000000	81.4000000000000	85	85.8000000000000	84.2000000000000	83.5000000000000	86.5000000000000	85	80.4000000000000	85.7000000000000	86.7000000000000	86.7000000000000	82.3000000000000	86.4000000000000	82.5000000000000	82	79.5000000000000	86.7000000000000	80.5000000000000	91.7000000000000	81.6000000000000	83.9000000000000	85.6000000000000	84.8000000000000	78.4000000000000	89.9000000000000	85	86.2000000000000	83	85.4000000000000	84.4000000000000	84.5000000000000	86.2000000000000	85.6000000000000	83.2000000000000	85.7000000000000	83.5000000000000	80.1000000000000	82.2000000000000	88.6000000000000	82	85	85.2000000000000	85.3000000000000	84.3000000000000	82.3000000000000	89.7000000000000	84.8000000000000	83.1000000000000	80.6000000000000	87.4000000000000	86.8000000000000	83.5000000000000	86.2000000000000	84.1000000000000	82.3000000000000	84.8000000000000	86.6000000000000	83.5000000000000	78.1000000000000	88.8000000000000	81.9000000000000	83.3000000000000	80	87.2000000000000	83.3000000000000	86.6000000000000	79.5000000000000	84.1000000000000	82.2000000000000	90.8000000000000	86.5000000000000	79.7000000000000	81	87.2000000000000	81.6000000000000	84.4000000000000	84.4000000000000	82.2000000000000	88.9000000000000	80.9000000000000	85.1000000000000	87.1000000000000	84	76.5000000000000	82.7000000000000	85.1000000000000	83.3000000000000	90.4000000000000	81	80.3000000000000	79.8000000000000	89	83.7000000000000	80.9000000000000	87.3000000000000	81.1000000000000	85.6000000000000	86.6000000000000	80	86.6000000000000	83.3000000000000	83.1000000000000	82.3000000000000	86.7000000000000	80.2000000000000];
figure
subplot(2,2,[1,3])%创建一个2行2列的窗格,把时序图放在第一个窗格和第三个窗格里面,也就是整个左侧
plot(z)
subplot(2,2,2)%创建一个2行2列的窗格,右上角是时间序列的自相关系数图(ACF)
autocorr(z)
subplot(2,2,4)%创建一个2行2列的窗格,右下角是时间序列的偏自相关系数(PACF)
parcorr(z)
%求解当前序列的ACF,PACF
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

运行结果:
在这里插入图片描述

AR3=arima(3,0,0);
resAR3=estimate(AR3,z')%由于estimate函数只能传入列向量,所以对z转置
%根据ACF,PACF拟合模型
  • 1
  • 2
  • 3

运行结果:

在这里插入图片描述

拟合出的AR(3)模型是 y t = 160.46 − 0.41438 y t − 1 − 0.29869 y t − 2 − 0.19421 y t − 3 + ε t y_t=160.46-0.41438y_{t-1}-0.29869y_{t-2}-0.19421y_{t-3}+ε_t yt=160.460.41438yt10.29869yt20.19421yt3+εt

step=7;
Fore=forecast(resAR3,step,'Y0',z')
%预测后面7期数据
  • 1
  • 2
  • 3

求解结果:

在这里插入图片描述

例2

1867~1938英国绵羊数量如下表所示,分析数据

220323602254216520242078221422922207211921192137
213219551785174718181909195818921919185318681991
211121191991185918561924189219161968192818981850
184118241823184318801968202919961933180517131726
175217951717164815121338138313441384148415971686
170716401611163217751850180916531648166516271791
z1=[2203	2360	2254	2165	2024	2078	2214	2292	2207	2119	2119	2137
2132	1955	1785	1747	1818	1909	1958	1892	1919	1853	1868	1991
2111	2119	1991	1859	1856	1924	1892	1916	1968	1928	1898	1850
1841	1824	1823	1843	1880	1968	2029	1996	1933	1805	1713	1726
1752	1795	1717	1648	1512	1338	1383	1344	1384	1484	1597	1686
1707	1640	1611	1632	1775	1850	1809	1653	1648	1665	1627	1791];
z=reshape(z1',[72,1]);
plot(z)
%观察可以发现,z不平稳,所以进行1阶差分
%观察序列图
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

在这里插入图片描述

h1=adftest(diff(z))
plot(diff(z,1))
%通过观察法和ADF检验,可以发现z平稳
%序列不平稳,1阶差分后利用ADF检验观察是否平稳
  • 1
  • 2
  • 3
  • 4

在这里插入图片描述
在这里插入图片描述

figure
subplot(2,2,[1,3])
plot(diff(z))
subplot(2,2,2)
autocorr(diff(z))
subplot(2,2,4)
parcorr(diff(z))
%1阶差分后得到平稳序列,求解ACF和PACF以判断模型
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

在这里插入图片描述

z=reshape(z1',[72,1]);%把题目给的表格,重构成列向量
u = iddata(diff(z));
test = [];
for p = 1:5 %自回归对应PACF,给定滞后长度上限p和q,一般取为T/10、ln(T)或T^(1/2),这里取T/10=12
    for q = 1:5 %移动平均对应ACF
        m = armax(u,[p q]);
        AIC = aic(m); %armax(p,q),计算AIC
        test = [test;p q AIC];
    end
end
for k = 1:size(test,1)
    if test(k,3) == min(test(:,3)) %选择AIC值最小的模型
        p_test = test(k,1);
        q_test = test(k,2);
        break;
    end
end
p_test
q_test
%ACF,PACF不截尾,模型应该为ARIMA(p,1,q),根据AIC准则确定阶数
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

在这里插入图片描述

ARIMA313=arima(3,1,3)
resARIMA313=estimate(ARIMA313,z)
%p=3,q=3,拟合ARIMA(3,1,3)
  • 1
  • 2
  • 3

在这里插入图片描述

拟合出的ARIMA模型为 Δ y t = − 5.5017 + 0.35941 y t − 1 + 0.47286 y t − 2 − 0.45233 y t − 3 + 0.074145 ε t − 1 − 0.89635 ε t − 2 − 0.17779 ε t − 3 + ε t Δy_t=-5.5017+0.35941y_{t-1}+0.47286y_{t-2}-0.45233y_{t-3}+0.074145ε_{t-1}-0.89635ε_{t-2}-0.17779ε_{t-3}+ε_t Δyt=5.5017+0.35941yt1+0.47286yt20.45233yt3+0.074145εt10.89635εt20.17779εt3+εt

step=7;
Fore=forecast(resARIMA313,step,'Y0',z)
%预测后面7期数据
  • 1
  • 2
  • 3

    在这里插入图片描述

    声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/182572
    推荐阅读
    相关标签
      

    闽ICP备14008679号