Processing math: 100%

时间序列分析:Yule-Walker 方程举例

1. 例子

  假设有 MA(2) 过程

Xt=13Xt1+12Xt2+et

其中 et 为独立于 Xtkk=1,2,)的均值为 0、方差为 σ2e 的白噪声。其特征多项式为

ϕ(B)=113B12B2

特征方方程 ϕ(b)=0 的根为 2±766 在单位圆外,故式 (1) 所示的过程是平稳的。

  对式 (1) 等号两边取期望,得

E(Xt)=13E(Xt1)+12E(Xt2)+E(et)

E(Xt)=μ,有

μ=13μ+12μ+0

解得

E(Xt)=μ=0

此时有 Cov(Xt,Xs)=E[(Xsμ)(Xtmu)]=E(XsXt)

  式 (1) 等号两边同乘以 Xtk 并期望,得

E(XtXtk)=13E(Xt1Xtk)+12E(Xt2Xtk)+E(etXtk)

其中 E(etXtk)=E(et)E(Xtk)=0,故

γk=13γk1+12γk2

  式 (3) 等号两边同除以 γ0,得自相关函数的差分方程

ρk=13ρk1+12ρk2

  式 (4) 具有 λk 形式的解,其特征方程

λ213λ12=0

解得

λ1=27612,λ2=2+7612

于是

ρk=c1λk1+c2λk2=c1(27612)k+c2(2+7612)k

  为了确定式 (5) 中的 c1c2,需要结合 ρk 的初始条件。由自相关的性质,有 ρ0=1ρk=ρk,于是

ρ1=13ρ0+12ρ1=13ρ0+12ρ1

解得 ρ1=23

  将 ρ0=1ρ1=23 代入式 (5),得到

{c1+c2=1c127612+c22+7612=23

解得

c1=468,c2=4+68

代入式 (5),最终得到

ρk=468(27612)k+4+68(2+7612)kk0

ρk=ρk

  模拟式 (1) 所示的过程,并绘制自相关函数如图 1。

set.seed(42)
ar <- arima.sim(n = 500, list(ar = c(1/3, 1/2)))
acf(ar)
set.seed(42) ar <- arima.sim(n = 500, list(ar = c(1/3, 1/2))) acf(ar)
set.seed(42)
ar <- arima.sim(n = 500, list(ar = c(1/3, 1/2)))
acf(ar)

图 1

使用式 (6) 计算并绘制自相关函数如图 2。

k = c(0:26)
rho = (4 - 6^.5) / 8 * ((2 - 76^.5) / 12)^k + (4 + 6^.5) / 8 * ((2 + 76^.5) / 12)^k
plot(0:26, rho, type="n")
segments(0:26, 0, 0:26, rho)
k = c(0:26) rho = (4 - 6^.5) / 8 * ((2 - 76^.5) / 12)^k + (4 + 6^.5) / 8 * ((2 + 76^.5) / 12)^k plot(0:26, rho, type="n") segments(0:26, 0, 0:26, rho)
k = c(0:26)
rho = (4 - 6^.5) / 8 * ((2 - 76^.5) / 12)^k + (4 + 6^.5) / 8 * ((2 + 76^.5) / 12)^k
plot(0:26, rho, type="n")
segments(0:26, 0, 0:26, rho)

图 2

可见二者结果一致。

2. 一般过程

  结合上面的例子,整理通过 Yule-Walker 方程计算自相关函数的一般步骤为:

  1. 确认序列是平稳的。
  2. 在原模型等号两边同乘以 Xk,并求期望,得到协方差函数的差分方程。
  3. 协方差函数的差分方程等号两边同除以 γ0=σ2x,得到自相关函数的差分方程,称为 Yule-Walker 方程。
  4. 求解差分方程。