ARMA模型建模的基本条件是要求待预测的数列满足平稳的条件,即个体值要围绕序列均值上下波动,不能有明显的上升或下降趋势,如果出现上升或下降趋势,需要对原始序列进行差分平稳化处理。
数据平稳性与差分
平稳性就是要求经由样本时间序列所得到的拟合曲线,在未来的一段期间内仍然能顺着现有的形态"惯性"地延续下去。
平稳性要求序列的均值和方差不随时间发生明显变化。
严平稳:表示随机变量的分布不随时间的改变而改变,比如:白噪声(正态),无论怎么取值,期望都是0,方差都是1。
弱平稳:期望与相关系数(依赖性)不变,未来某时刻的
t
t
t的值
X
t
X_{t}
Xt?依赖于过去的信息。
一阶差分法:时间序列在
t
t
t与
t
?
1
t-1
t?1时刻的差值。 二阶差分则是一阶差分的差分。
AR模型,MA模型,ARMA模型,ARIMA模型
首先,了解自回归模型AR;
AR描述当前值与历史值之间的关系,用变量自身的历史时间数据对自身进行预测,自回归模型必须满足平稳性要求,
p
p
p阶自回归模型的公式定义为:
y
t
=
μ
+
∑
i
=
1
p
γ
i
y
t
?
i
+
e
t
y_{t}=\mu+\sum_{i=1}^{p}\gamma_{i}y_{t-i}+e_{t}
yt?=μ+i=1∑p?γi?yt?i?+et?其中,
y
t
y_{t}
yt?是当前值,
μ
\mu
μ是常数项,
p
p
p是阶数,
γ
i
\gamma_{i}
γi?是自相关系数,
e
t
e_{t}
et?是误差。
自回归模型通常要求数据具有自相关性,如果自相关性太小,则不适合采用。
然后了解移动平均模型MA;
移动平均模型关注的是自回归模型中的误差项的累加,移动平均可以消除预测中的随机波动,
q
q
q阶的公式定义为:
y
t
=
μ
+
e
t
+
∑
i
=
1
q
θ
i
e
t
?
i
y_{t}=\mu+e_{t}+\sum_{i=1}^{q}\theta_{i}e_{t-i}
yt?=μ+et?+i=1∑q?θi?et?i?我们结合AR和MA得到模型ARMA,即自回归移动平均模型:
y
t
=
μ
+
∑
i
=
1
p
γ
i
y
t
?
i
+
e
t
+
∑
i
=
1
q
θ
i
e
t
?
i
y_{t}=\mu+\sum_{i=1}^{p}\gamma_{i}y_{t-i}+e_{t}+\sum_{i=1}^{q}\theta_{i}e_{t-i}
yt?=μ+i=1∑p?γi?yt?i?+et?+i=1∑q?θi?et?i?ARIMA模型则是在ARMA的基础上增加了数据的差分处理,全称ARIMA(p,d,q),即差分自回归移动平均模型,p为自回归项数,d为时间序列成为平稳序列所需的差分次数,q为移动平均项数。
ARIMA的原理是将非平稳时间序列差分转化为平稳时间序列后,将因变量对输出的滞后值与误差的滞后值进行回归建模。
相关性函数
首先,我们了解自相关函数ACF;
ACF为有序的随机变量序列与其自身相比较,自相关函数反映了同一序列在不同时序的取值之间的相关性,公式为:
A
C
F
(
k
)
=
ρ
k
=
C
o
v
(
y
t
,
y
t
?
k
)
V
a
r
(
y
t
)
ACF(k)=\rho_{k}=\frac{Cov(y_{t},y_{t-k})}{Var(y_{t})}
ACF(k)=ρk?=Var(yt?)Cov(yt?,yt?k?)?其中,
ρ
k
\rho_{k}
ρk?的取值在
[
?
1
,
1
]
[-1,1]
[?1,1],-1和1分别代表负相关和正相关,注意,正负相关都是相关,越接近0才代表越不相关。 虚线表示置信区间,举例,95%的置信区间表示,假设当前有100个数据,至少有95个是符合我们定义的逻辑。横轴lag表示阶数
k
k
k。
偏自相关函数PACF:对于自相关系数,实际得到的并不是单纯的
y
t
y_{t}
yt?和
y
t
?
k
y_{t-k}
yt?k?之间的相关关系,
y
t
y_{t}
yt?同时会受到中间
k
?
1
k-1
k?1个随机变量
y
t
?
1
,
.
.
.
,
y
t
?
k
+
1
y_{t-1},...,y_{t-k+1}
yt?1?,...,yt?k+1?的影响,这
k
?
1
k-1
k?1个随机变量又都和
y
t
?
k
y_{t-k}
yt?k?具有相关关系,因此PACF是严格的
y
t
y_{t}
yt?与
y
t
?
k
y_{t-k}
yt?k?之间的相关性度量。
参数p,d,q的确定与模型检验
d为差分的次数,d通常不超过2,p和q参数由下表的规则确定:
模型 | ACF | PACF |
---|
A
R
(
p
)
AR(p)
AR(p) | - | p阶后截尾 |
M
A
(
q
)
MA(q)
MA(q) | q阶后截尾 | - |
其中,截尾表示落在置信区间内的阶数(通常是95%置信区间)。
比如: 比如上图,应该选择p=2,q=10。
在确定p,d,q三个参数后,我们对
μ
,
γ
,
θ
\mu,\gamma,\theta
μ,γ,θ进行学习,学习的方式是灵活的,比如以MSE为损失进行梯度下降。
对于模型检验;
我们将模型得到的输出数据与真实值进行求差操作(计算残差),并进行白噪声检验,如果残差序列是白噪声序列,就说明时间序列中有用的信息已经被提取完毕了,剩下的全是随机扰动,是无法预测和使用的,残差序列如果通过了白噪声检验,则建模就可以终止了,因为没有信息可以继续提取。如果残差不是白噪声,就说明残差中还有有用的信息,需要修改模型或者进一步提取。
|