什么是 ARIMA模型
ARIMA模型的全称叫做自回归移动平均模型,全称是(ARIMA, Autoregressive Integrated Moving Average Model)。也记作ARIMA(p,d,q),是统计模型(statistic model)中最常见的一种用来进行时间序列 预测的模型。
1. ARIMA的优缺点
优点: 模型十分简单,只需要内生变量而不需要借助其他外生变量。
缺点:
1.要求时序数据是稳定的(stationary),或者是通过差分化(differencing)后是稳定的。
2.本质上只能捕捉线性关系,而不能捕捉非线性关系。
注意,采用ARIMA模型预测时序数据,必须是稳定的,如果不稳定的数据,是无法捕捉到规律的。比如股票数据用ARIMA无法预测的原因就是股票数据是非稳定的,常常受政策和新闻的影响而波动。
2. 判断是时序数据是稳定的方法。
严谨的定义: 一个时间序列的随机变量是稳定的,当且仅当它的所有统计特征都是独立于时间的(是关于时间的常量)。
判断的方法:
- 稳定的数据是没有趋势(trend),没有周期性(seasonality)的; 即它的均值,在时间轴上拥有常量的振幅,并且它的方差,在时间轴上是趋于同一个稳定的值的。
- 可以使用Dickey-Fuller Test进行假设检验。(另起文章介绍)
3. ARIMA的参数与数学形式
ARIMA模型有三个参数:p,d,q。
- p--代表预测模型中采用的时序数据本身的滞后数(lags) ,也叫做AR/Auto-Regressive项
- d--代表时序数据需要进行几阶差分化,才是稳定的,也叫Integrated项。
- q--代表预测模型中采用的预测误差的滞后数(lags),也叫做MA/Moving Average项
先解释一下差分: 假设y表示t时刻的Y的差分。
i
f
d
=
0
,
y
t
=
Y
t
i
f
d
=
1
,
y
t
=
Y
t
−
Y
t
−
1
i
f
d
=
2
,
y
t
=
(
Y
t
−
Y
t
−
1
)
−
(
Y
t
−
1
−
Y
t
−
2
)
=
Y
t
−
2
Y
t
−
1
+
Y
t
−
2
if d=0, yt=Ytif d=1, yt=Yt−Yt−1if d=2, yt=(Yt−Yt−1)−(Yt−1−Yt−2)=Yt−2Yt−1+Yt−2
ARIMA的预测模型可以表示为:
Y的预测值 = 常量c and/or 一个或多个最近时间的Y的加权和 and/or 一个或多个最近时间的预测误差。
假设p,q,d已知,
ARIMA用数学形式表示为:
y
t
ˆ
=
μ
+
ϕ
1
∗
y
t
−
1
+
.
.
.
+
ϕ
p
∗
y
t
−
p
+
θ
1
∗
e
t
−
1
+
.
.
.
+
θ
q
∗
e
t
−
q
yt^=μ+ϕ1∗yt−1+...+ϕp∗yt−p+θ1∗et−1+...+θq∗et−q
其
中
,
ϕ
表
示
A
R
的
系
数
,
θ
表
示
M
A
的
系
数
其中,ϕ表示AR的系数,θ表示MA的系数
4.ARIMA模型的几个特例
1.ARIMA(0,1,0) = random walk:
当d=1,p和q为0时,叫做random walk,如图所示,每一个时刻的位置,只与上一时刻的位置有关。
预测公式如下:
Y
ˆ
t
=
μ
+
Y
t
−
1
Y^t=μ+Yt−1
2. ARIMA(1,0,0) = first-order autoregressive model:
p=1, d=0,q=0。说明时序数据是稳定的和自相关的。一个时刻的Y值只与上一个时刻的Y值有关。
Y
ˆ
t
=
μ
+
ϕ
1
∗
Y
t
−
1
.
w
h
e
r
e
,
ϕ
∈
[
−
1
,
1
]
,
是
一
个
斜
率
系
数
Y^t=μ+ϕ1∗Yt−1.where, ϕ∈[−1,1],是一个斜率系数
3. ARIMA(1,1,0) = differenced first-order autoregressive model:
p=1,d=1,q=0. 说明时序数据在一阶差分化之后是稳定的和自回归的。即一个时刻的差分(y)只与上一个时刻的差分有关。
y
ˆ
t
=
μ
+
ϕ
1
∗
y
t
−
1
结
合
一
阶
差
分
的
定
义
,
也
可
以
表
示
为
:
Y
ˆ
t
−
Y
t
−
1
=
μ
+
ϕ
1
∗
(
Y
t
−
1
−
Y
t
−
2
)
或
者
Y
ˆ
t
=
μ
+
Y
t
−
1
+
ϕ
1
∗
(
Y
t
−
1
−
Y
t
−
2
)
y^t=μ+ϕ1∗yt−1结合一阶差分的定义,也可以表示为:Y^t−Yt−1=μ+ϕ1∗(Yt−1−Yt−2)或者Y^t=μ+Yt−1+ϕ1∗(Yt−1−Yt−2)
4. ARIMA(0,1,1) = simple exponential smoothing with growth.
p=0, d=1 ,q=1.说明数据在一阶差分后市稳定的和移动平均的。即一个时刻的估计值的差分与上一个时刻的预测误差有关。
y
ˆ
t
=
μ
+
α
1
∗
e
t
−
1
注
意
q
=
1
的
差
分
y
t
与
p
=
1
的
差
分
y
t
的
是
不
一
样
的
其
中
,
y
ˆ
t
=
Y
ˆ
t
−
Y
ˆ
t
−
1
,
e
t
−
1
=
Y
t
−
1
−
Y
ˆ
t
−
1
,
设
θ
1
=
1
−
α
1
则
也
可
以
写
成
:
Y
ˆ
t
=
μ
+
Y
ˆ
t
−
1
+
α
1
(
Y
t
−
1
−
Y
ˆ
t
−
1
)
=
μ
+
Y
t
−
1
−
θ
1
∗
e
t
−
1
y^t=μ+α1∗et−1注意q=1的差分yt与p=1的差分yt的是不一样的其中,y^t=Y^t−Y^t−1, et−1=Yt−1−Y^t−1,设θ1=1−α1则也可以写成:Y^t=μ+Y^t−1+α1(Yt−1−Y^t−1)=μ+Yt−1−θ1∗et−1
5. ARIMA(2,1,2)
在通过上面的例子,可以很轻松的写出它的预测模型:
y
ˆ
t
=
μ
+
ϕ
1
∗
y
t
−
1
+
ϕ
2
∗
y
t
−
2
−
θ
1
∗
e
t
−
1
−
θ
2
∗
e
t
−
2
也
可
以
写
成
:
Y
ˆ
t
=
μ
+
ϕ
1
∗
(
Y
t
−
1
−
Y
t
−
2
)
+
ϕ
2
∗
(
Y
t
−
2
−
Y
t
−
3
)
−
θ
1
∗
(
Y
t
−
1
−
Y
ˆ
t
−
1
)
−
θ
2
∗
(
Y
t
−
2
−
Y
ˆ
t
−
2
)
y^t=μ+ϕ1∗yt−1+ϕ2∗yt−2−θ1∗et−1−θ2∗et−2也可以写成:Y^t=μ+ϕ1∗(Yt−1−Yt−2)+ϕ2∗(Yt−2−Yt−3)−θ1∗(Yt−1−Y^t−1)−θ2∗(Yt−2−Y^t−2)
6. ARIMA(2,2,2)
y
ˆ
t
=
μ
+
ϕ
1
∗
y
t
−
1
+
ϕ
2
∗
y
t
−
2
−
θ
1
∗
e
t
−
1
−
θ
2
∗
e
t
−
2
Y
ˆ
t
=
μ
+
ϕ
1
∗
(
Y
t
−
1
−
2
Y
t
−
2
+
Y
t
−
3
)
+
ϕ
2
∗
(
Y
t
−
2
−
2
Y
t
−
3
+
Y
t
−
4
)
−
θ
1
∗
(
Y
t
−
1
−
Y
ˆ
t
−
1
)
−
θ
2
∗
(
Y
t
−
2
−
Y
ˆ
t
−
2
)
y^t=μ+ϕ1∗yt−1+ϕ2∗yt−2−θ1∗et−1−θ2∗et−2Y^t=μ+ϕ1∗(Yt−1−2Yt−2+Yt−3)+ϕ2∗(Yt−2−2Yt−3+Yt−4)−θ1∗(Yt−1−Y^t−1)−θ2∗(Yt−2−Y^t−2)
7. ARIMA建模基本步骤
- 获取被观测系统时间序列数据;
- 对数据绘图,观测是否为平稳时间序列;对于非平稳时间序列要先进行d阶差分运算,化为平稳时间序列;
- 经过第二步处理,已经得到平稳时间序列。要对平稳时间序列分别求得其自相关系数ACF 和偏自相关系数PACF,通过对自相关图和偏自相关图的分析,得到最佳的阶层 p 和阶数 q
- 由以上得到的d、q、p,得到ARIMA模型。然后开始对得到的模型进行模型检验。