时间序列分析:滑动平均过程

1. 定义

  设 {et} 是均值为零,方差为 σ2e 的白噪声,则称

Xt=et+θ1et1+θ2et2++θqetq

q 阶滑动平均过程(Moving Average Process),记为 MA(q)。该模型也可以写为

Xt=θ(B)et

其中 θ(B) 为滑动平均算子,为

θ(B)=1+θ1B+θ2B2++θqBq

  将 B 看做一个复变量,θ(B)=0 称为该模型的特征方程(Characteristic Equation)。

2. 一阶滑动平均过程

2.1. 定义

  一阶滑动平均过程表达为 Xt=et+θet1,由于只有一个参数 θ1,为了方便,去掉其下标 1,写为

Xt=et+θet1

  对于式 (4) 所示的一阶滑动平均过程,显然有

E(Xt)=E(et+θet1)=0

γ0=Var(Xt)=Var(et+θet1)=(1+θ2)σ2e

  进一步得到协方差和自相关函数

γ1=Cov(Xt,Xt1)=Cov(et+θet1,et1+θet2)=Cov(θet1,et1)=θσ2e

γ2=Cov(Xt,Xt2)=Cov(et+θet1,et2+θet3)=0

ρ1=γ1γ0=θ1+θ2

ρ2=γ2γ0=0

更一般地,对于 k2,由于 XtXtk 的表达式中没有相同下标的 e,故 γk=Cov(Xt,Xtk)=0,及 ρk=0。即当过程大于 1 阶滞后时,不存在自相关。

2.2. θ 与自相关

  在式 (6) 中,令 θ01 之间不同的值,可以绘制 θρ1 的关系曲线如图 1。

theta <- seq(0, 1, by=0.01)
corr <- theta / (1 + theta^2)
plot(theta, corr, type = 'l', xlab = expression(theta), ylab = expression(rho[1]))
theta <- seq(0, 1, by=0.01) corr <- theta / (1 + theta^2) plot(theta, corr, type = 'l', xlab = expression(theta), ylab = expression(rho[1]))
theta <- seq(0, 1, by=0.01)
corr <- theta / (1 + theta^2)
plot(theta, corr, type = 'l', xlab = expression(theta), ylab = expression(rho[1]))

图 1

可见当 θ=1ρ1 取得最大值 1/2;当 θ=1ρ1 取得最大值 0

  另外需要注意的是,当 θ=1/2θ=1/(1/2) 时,都有 ρ1=0.4。也就是说,如果只知道 MA(1) 过程的 ρ1=0.4,是不足以确定 θ 的值的。

2.3. 模拟 MA(1)

  模拟 θ=0.7MA(1) 过程并绘制自相关图像如图 2、图 3 所示。

set.seed(42)
e <- rnorm(200)
ma.1 <- NULL
for(i in 2:200) {
ma.1[i] <- e[i] + 0.7 * e[i - 1]
}
ma.1 <- ts(ma.1[2:200])
plot(ma.1, main="MA(1)")
set.seed(42) e <- rnorm(200) ma.1 <- NULL for(i in 2:200) { ma.1[i] <- e[i] + 0.7 * e[i - 1] } ma.1 <- ts(ma.1[2:200]) plot(ma.1, main="MA(1)")
set.seed(42)
e <- rnorm(200)
ma.1 <- NULL
for(i in 2:200) {
  ma.1[i] <- e[i] + 0.7 * e[i - 1]
}
ma.1 <- ts(ma.1[2:200])
plot(ma.1, main="MA(1)")

图 2

acf(ma.1)
acf(ma.1)
acf(ma.1)

图 3

  当 θ=0.7 时,有 ρ1=0.7/(1+0.72)0.4698,与图 3 相符,表明一阶滞后存在中等强度的正相关。在图 2 中可见连续观测值趋于密切相关,即如果一个观测值高于该序列的平均水平,则下一个观测值一般也高于平均水平。

3. 二阶滑动平均过程

3.1. 定义

  考虑二阶滑动平均过程

Xt=et+θ1et1+θ2et2

易知

E(Xt)=E(et+θ1et1+θ2et2)=0

γ0=Var(et+θ1et1+θ2et2)=(1+θ21+θ22)σ2e

  协方差和自相关函数为

γ1=Cov(Xt,Xt1)=Cov(et+θ1et1+θ2et2,et1+θ1et2+θ2et3)=Cov(θ1et1,et1)+Cov(θ2et2,θ1et2)=(θ1+θ1θ2)σ2e

γ2=Cov(Xt,Xt2)=Cov(et+θ1et1+θ2et2,et2+θ1et3+θ2et4)=Cov(θ2et2,et2)=θ2σ2e

γk=0,k=3,4,

ρ1=γ1γ0=θ1+θ1θ21+θ21+θ22

ρ2=γ2γ0=θ21+θ21+θ22

ρk=0,k=3,4,

3.2. 模拟

  模拟 θ1=0.6,theta2=0.4MA(2) 过程并绘制自相关图像如图 4、图 5 所示。

set.seed(42)
e <- rnorm(200)
ma.2 <- NULL
for(i in 3:200) {
ma.2[i] <- e[i] + 0.6 * e[i - 1] + 0.4 * e[i - 2]
}
ma.2 <- ts(ma.2[3:200])
plot(ma.2, main="MA(2)")
set.seed(42) e <- rnorm(200) ma.2 <- NULL for(i in 3:200) { ma.2[i] <- e[i] + 0.6 * e[i - 1] + 0.4 * e[i - 2] } ma.2 <- ts(ma.2[3:200]) plot(ma.2, main="MA(2)")
set.seed(42)
e <- rnorm(200)
ma.2 <- NULL
for(i in 3:200) {
  ma.2[i] <- e[i] + 0.6 * e[i - 1] + 0.4 * e[i - 2]
}
ma.2 <- ts(ma.2[3:200])
plot(ma.2, main="MA(2)")

图 4

acf(ma.2)
acf(ma.2)
acf(ma.2)

图 5

4. 一般 MA(q) 过程

  对于一般 MA(q) 过程

Xt=et+θ1et1+θ2et2++θqetq

类似地,可以得到

E(Xt)=E(et+θ1et1+θ2et2++θqetq)=0

γ0=Var(et+θ1et1+θ2et2++θqetq)=(1+θ21+θ22++θ2q)σ2e

γk=Cov(Xt,Xtk)=Cov(et+θ1et1+θ2et2++θqetq,etk+θ1etk1+θ2etk2++θqetkq)=Cov(θketk,etk)+Cov(θk+1etk1,θ1etk1)++Cov(θqetq,θqketq)=(θk+θ1θk+1+θ2θk+2++θqkθq)σ2e=(θk+qki=1θiθi+k)σ2e,k=1,2,,q

γk=0,k>q

ρk={θk+qki=1θiθi+k1+θ21+θ22++θ2qk=1,2,,q0k>q

  可见无论系数 {θi} 如何取值,MA(q) 过程总是平稳的。

  注意到当 k=q 时,ρk 的分子只有一项 θq,当 k>q 时, ρk=0,这表示自相关函数在滞后 q 期后出现截尾(即自相关系数为零),据此可根据自相关函数图像判断滑动平均的阶数。而在 k<q 期间,自相关系数的形状可以是任意的。