之前从比较浅的角度介绍了AR、MA、ARMA等模型,最近在课堂上发现其实还有很多细节可以深究。如果只是想要简单了解这些模型然后应用,我个人觉得之前的文章已经足够了,而如果有兴趣更深入地了解AR和MA模型,这里会更多地从数学的角度,分析一下它们的表达式、期望方差以及平稳的条件。
首先介绍一下滞后算子(Backward shift operator)和差分算子(difference operator)。对一段时间序列,滞后算子为:
B
X
t
=
B
(
X
t
)
=
X
t
−
1
BX_t = B(X_t) = X_{t-1}
BXt=B(Xt)=Xt−1
进一步定义二阶和三阶滞后算子:
B
2
X
t
=
X
t
−
2
B^2X_t = X_{t-2}
B2Xt=Xt−2
B
3
X
t
=
X
t
−
3
B^3X_t = X_{t-3}
B3Xt=Xt−3
差分算子:
▽
X
t
=
X
t
−
X
t
−
1
\bigtriangledown X_t = X_{t} - X_{t-1}
▽Xt=Xt−Xt−1
▽
2
X
t
=
(
X
t
−
X
t
−
1
)
−
(
X
t
−
1
−
X
t
−
2
)
=
X
t
−
2
X
t
−
1
+
X
t
−
2
\bigtriangledown^2 X_t = (X_{t} - X_{t-1}) - (X_{t-1} - X_{t-2}) = X_{t} - 2X_{t-1} + X_{t-2}
▽2Xt=(Xt−Xt−1)−(Xt−1−Xt−2)=Xt−2Xt−1+Xt−2
注意,滞后算子和差分算子存在关系:
▽
=
1
−
B
\bigtriangledown = 1 - B
▽=1−B
接下来先分析AR模型,之前介绍过它的公式可以表达为:
X
t
=
α
0
+
α
1
X
t
−
1
+
α
2
X
t
−
2
+
.
.
.
+
α
p
X
t
−
p
+
e
t
X_t = \alpha_0 + \alpha_1 X_{t-1} + \alpha_2 X_{t-2} + ... + \alpha_p X_{t-p} + e_t
Xt=α0+α1Xt−1+α2Xt−2+...+αpXt−p+et
改写alpha_0:
α
0
=
μ
−
α
1
μ
−
α
2
μ
−
.
.
.
−
α
p
μ
\alpha_0 = \mu - \alpha_1 \mu - \alpha_2 \mu - ... - \alpha_p \mu
α0=μ−α1μ−α2μ−...−αpμ
以下就是见证奇迹的时刻了:
X
t
−
α
0
−
α
1
X
t
−
1
−
α
2
X
t
−
2
−
.
.
.
−
α
p
X
t
−
p
=
e
t
X_t - \alpha_0 - \alpha_1 X_{t-1} - \alpha_2 X_{t-2} - ... - \alpha_p X_{t-p} = e_t
Xt−α0−α1Xt−1−α2Xt−2−...−αpXt−p=et
(
X
t
−
μ
)
−
α
1
(
X
t
−
1
−
μ
)
−
α
2
(
X
t
−
2
−
μ
)
−
.
.
.
−
α
p
(
X
t
−
p
−
μ
)
=
e
t
(X_t - \mu) - \alpha_1 (X_{t-1}-\mu) - \alpha_2 (X_{t-2}-\mu) - ... - \alpha_p (X_{t-p}-\mu) = e_t
(Xt−μ)−α1(Xt−1−μ)−α2(Xt−2−μ)−...−αp(Xt−p−μ)=et
ϕ
(
B
)
(
X
t
−
μ
)
=
e
t
\phi (B) (X_t-\mu) = e_t
ϕ(B)(Xt−μ)=et
w
h
e
r
e
ϕ
(
B
)
=
1
−
α
1
B
−
α
2
B
2
−
.
.
.
−
α
p
B
p
where \quad \phi (B) = 1 - \alpha_1 B - \alpha_2 B^2 - ... - \alpha_p B^p
whereϕ(B)=1−α1B−α2B2−...−αpBp
以上就是引入了滞后算子的AR模型表达式。
基于AR模型的表达式,再看看AR模型的均值和方差,首先来看看一阶AR模型:
X
t
=
μ
+
α
(
X
t
−
1
−
μ
)
+
e
t
X_t = \mu + \alpha(X_{t-1} - \mu) + e_t
Xt=μ+α(Xt−1−μ)+et
X
t
=
μ
+
α
(
μ
+
α
(
X
t
−
2
−
μ
)
+
e
t
−
1
−
μ
)
+
e
t
X_t = \mu + \alpha(\mu + \alpha(X_{t-2} - \mu) + e_{t-1} - \mu) + e_t
Xt=μ+α(μ+α(Xt−2−μ)+et−1−μ)+et
X
t
=
μ
+
α
2
(
X
t
−
2
−
μ
)
+
α
e
t
−
1
+
e
t
X_t = \mu + \alpha^2 (X_{t-2} - \mu) + \alpha e_{t-1} + e_t
Xt=μ+α2(Xt−2−μ)+αet−1+et
.
.
.
.
.
.
......
......
X
t
=
μ
+
α
t
(
X
0
−
μ
)
+
∑
j
=
0
t
−
1
α
j
e
t
−
j
X_t = \mu + \alpha^t (X_{0} - \mu) + \sum_{j=0}^{t-1} \alpha^j e_{t-j}
Xt=μ+αt(X0−μ)+j=0∑t−1αjet−j
再看看他们的期望方差:
E
(
X
t
)
=
μ
+
α
t
(
E
(
X
0
)
−
μ
)
E(X_t) = \mu + \alpha ^t (E(X_0) - \mu)
E(Xt)=μ+αt(E(X0)−μ)
V
a
r
(
X
t
)
=
α
2
t
[
V
a
r
(
X
0
)
−
σ
2
1
−
α
2
]
+
σ
2
1
−
α
2
Var(X_t) = \alpha^{2t}[Var(X_0)-\frac{\sigma^2}{1-\alpha^2}] + \frac{\sigma^2}{1-\alpha^2}
Var(Xt)=α2t[Var(X0)−1−α2σ2]+1−α2σ2
其中sigma是白噪声的标准差。
具体的推导过程这里为了不引起读者反感就省略了,有兴趣的可以在网上搜索相关资料,接下来,我们就可以通过期望方差公式,引出一阶AR模型平稳的条件:序列长度无穷以及alpha的绝对值小于1,我们可以看一下这种条件下期望和方差的表达式:
E
(
X
t
)
=
μ
E(X_t) = \mu
E(Xt)=μ
V
a
r
(
X
t
)
=
σ
2
1
−
σ
2
Var(X_t) = \frac{\sigma^2}{1-\sigma^2}
Var(Xt)=1−σ2σ2
两者都是常数,满足平稳的条件。因此这就是一阶AR模型的平稳条件。
以上讨论的是一阶AR模型,实际上更高阶的模型是用其他方法判断是否平稳的,万幸的是,我们可以通过一条通用公式(characteristic equation )对任意阶的AR模型进行判断:
ϕ
(
z
)
=
1
−
α
1
z
−
α
2
z
2
−
.
.
.
−
α
p
z
p
=
0
\phi(z) = 1 - \alpha_1 z - \alpha_2 z^2 - ... - \alpha_p z^p = 0
ϕ(z)=1−α1z−α2z2−...−αpzp=0
当方程的所有p个根zj的绝对值都大于1,那么AR模型就是平稳的,也就是说,所有解都落在解平面的单位圆外,当p=1时:
ϕ
(
z
)
=
1
−
α
1
z
=
0
\phi(z) = 1 - \alpha_1 z = 0
ϕ(z)=1−α1z=0
∣
z
∣
>
1
⇔
∣
α
1
∣
<
1
|z| > 1 \Leftrightarrow | \alpha_1| < 1
∣z∣>1⇔∣α1∣<1
这也是之前推导的一阶AR模型的平稳条件。
讨论完AR模型,接下来再看看MA模型,放心,MA模型的内容要简单点,而且能坚持看到这里的人,想必也不会害怕继续推公式的。
首先我们还是引入滞后算子,重新改写一下MA模型的表达式:
X
t
=
μ
+
θ
(
B
)
e
t
X_t = \mu + \theta(B) e_t
Xt=μ+θ(B)et
θ
(
B
)
=
1
+
β
1
B
+
.
.
.
+
β
q
B
q
\theta(B) = 1 + \beta_1 B + ... + \beta_q B^q
θ(B)=1+β1B+...+βqBq
对于MA模型的期望,因为白噪声的期望为0,所以MA模型的期望就是一个常数:
E
(
X
t
)
=
E
(
μ
)
+
E
(
θ
(
B
)
e
t
)
=
μ
E(X_t) = E(\mu) + E(\theta(B) e_t) = \mu
E(Xt)=E(μ)+E(θ(B)et)=μ
MA模型的方差同样也是一个常数:
V
a
r
(
X
t
)
=
C
o
v
(
X
t
,
X
t
)
=
σ
2
∑
j
=
0
q
β
j
2
Var(X_t) = Cov(X_t, X_t) = \sigma^2 \sum_{j=0}^q \beta_j^2
Var(Xt)=Cov(Xt,Xt)=σ2j=0∑qβj2
其中,sigma是白噪声的标准差,所以MA模型一定是平稳的。
恭喜你,到这里本文就结束了,向每一个看完本文的人致敬。
在github写的自然语言处理入门教程,持续更新:NLPBeginner
在github写的机器学习入门教程,持续更新:MachineLearningModels
想浏览更多关于数学、机器学习、深度学习的内容,可浏览本人博客