第五章 挖掘建模
5.4 时序模式
常用按时间顺序排列的一组随机变量X
1
,X
2
,…,X
t
来表示一个随机事件的
时间序列
,简记为{X
t
};用x
1
,x
1
,…,x
n
或{x
t
,t=1,2,…,n}表示该随机序列的n个有序观察值,称之为序列长度为n的
观察值序列
。
时间序列分析的目的就是给定一个已被观测了的时间序列,预测该序列的未来值。(短期预测)
5.4.1 时间序列算法
平滑法、趋势拟合法、组合模型、AR模型、MA模型、ARMA模型、ARIMA模型、ARCH模型、GARCH模型及其衍生模型
此书主要介绍AR模型、MA模型、ARMA模型和ARIMA模型。
5.4.2 时间序列的预处理
对于一个观察值序列,首先对它的
纯随机性和平稳性
进行检验,这两个检验成为序列的预处理。
对于
纯随机序列(白噪声序列)
,序列的各项之间没有任何关系,可终止对该序列的分析。
对于
平稳非白噪声序列
,它的均值和方差是常数,通常建立一个线性模型来拟合该序列的发展,最常用ARMA模型。
对于
非平稳序列
,由于它的均值和方差不稳定,一般是将其转变为平稳序列,再用有关平稳时间序列的分析方法。如果一个时间序列经差分运算后具有平稳性,则该序列为差分平稳序列,可使用ARIMA模型进行分析。
1.平稳性检验
(1)平稳时间序列的定义
对于时间序列{X
t
,t∈T},任意时刻的序列值X
t
都是一个随机变量,记X
t
的均值为μ
t
,方差为σ
t
;取t,s∈T,定义序列{X
t
}的
自协方差函数
γ
(
t
,
s
)
=
E
[
(
X
t
−
μ
t
)
(
X
s
−
μ
s
)
]
γ(t,s)=E[(X_{t}-μ_{t})(X_{s}-μ_{s})]
γ
(
t
,
s
)
=
E
[
(
X
t
−
μ
t
)
(
X
s
−
μ
s
)
]
和
自相关系数
ρ
(
t
,
s
)
=
c
o
v
(
X
t
,
X
s
)
σ
t
σ
s
ρ(t,s)=\frac{cov(X_{t},X_{s})}{σ_{t}σ_{s}}
ρ
(
t
,
s
)
=
σ
t
σ
s
c
o
v
(
X
t
,
X
s
)
。
如果时间序列在某一常数附近波动且波动范围有限,即有常
数均值和常数方差
,并且
延迟k期的序列变量的自协方差和自相关 系数是相等的
或者延迟k期的序列变量之间的影响程度是一样的,则称该序列为平稳序列。
(2)平稳性的检验
1)
时序图检验
。平稳序列的时序图显示该序列值始终在一个常数附近随机波动,而且波动的范围有界;如果有明显的趋势性或周期性,它通常不是平稳序列。
2)
自相关图检验
。平稳序列具有短期相关性,表明对平稳序列而言通常只有近期的序列值对现时值的影响比较明显,间隔越远的过去值对现时值的影响越小。平稳序列的自相关系数ρ
k
会随着延迟期数k的增加而衰减趋向于0,并在0附近随机波动,而非平稳序列的自相关系数衰减的速度比较慢。
3)
单方根检验
。指检验序列中是否存在单位根,如果存在单位根就是非平稳时间序列了。
时序图和自相关图带有主观性,最常用的是单位根检验
2.纯随机性检验
纯随机序列的样本自相关系数实际上不会绝对为0,但会很接近0,并在0附近随机波动。
纯随机性检验一般是构造检验统计量来检验序列的纯随机性,常用的检验统计量有Q统计量、LB统计量,由样本各延迟期数的自相关系数可以计算得到检验统计量,再计算出对应的p值,如果p值显著大于显著性水平α,则表示该序列不能拒绝纯随机的原假设,可以停止对该序列的分析。
5.4.3 平稳时间序列分析
ARMA模型全称是自回归移动平均模型,又分为AR模型、MA模型和ARMA三大类,都可看作拟合平稳序列的多元线性回归模型。
1.AR模型
p阶自回归模型,简记为AR( p)
。
x
t
=
ϕ
0
+
ϕ
1
x
t
−
1
+
ϕ
2
x
t
−
2
+
.
.
.
+
ϕ
p
x
t
−
p
+
ε
t
x_{t}=ϕ _{0}+ϕ _{1}x_{t-1}+ϕ _{2}x_{t-2}+…+ϕ _{p}x_{t-p}+ε_{t}
x
t
=
ϕ
0
+
ϕ
1
x
t
−
1
+
ϕ
2
x
t
−
2
+
.
.
.
+
ϕ
p
x
t
−
p
+
ε
t
即在t时刻的随机变量X
t
的取值x
t
是前p期x
t-1
,x
t-2
,…,x
t-p
的多元线性回归,认为
x
t
主要受过去p期的序列值的影响
。误差项是当期的随机干扰ε
t
,为零均值白噪声序列。
(1)均值
对满足平稳性条件的AR( p)模型的方程,两边取期望:
E
(
x
t
)
=
E
(
ϕ
0
+
ϕ
1
x
t
−
1
+
ϕ
2
x
t
−
2
+
.
.
.
+
ϕ
p
x
t
−
p
+
ε
t
)
E(x_{t})=E(ϕ _{0}+ϕ _{1}x_{t-1}+ϕ _{2}x_{t-2}+…+ϕ _{p}x_{t-p}+ε_{t})
E
(
x
t
)
=
E
(
ϕ
0
+
ϕ
1
x
t
−
1
+
ϕ
2
x
t
−
2
+
.
.
.
+
ϕ
p
x
t
−
p
+
ε
t
)
而E(x
t
)=μ,E(ε
t
)=0,故有
μ
=
ϕ
0
+
ϕ
1
μ
+
ϕ
2
μ
+
.
.
.
+
ϕ
p
μ
μ=ϕ _{0}+ϕ _{1}μ+ϕ _{2}μ+…+ϕ _{p}μ
μ
=
ϕ
0
+
ϕ
1
μ
+
ϕ
2
μ
+
.
.
.
+
ϕ
p
μ
即:
μ
=
ϕ
0
1
−
ϕ
1
−
ϕ
2
−
.
.
.
−
ϕ
p
μ=\frac{ϕ _{0}}{1-ϕ _{1}-ϕ _{2}-…-ϕ _{p}}
μ
=
1
−
ϕ
1
−
ϕ
2
−
.
.
.
−
ϕ
p
ϕ
0
(2)方差
平稳AR( p)模型的方差有界,等于常数。
(3)自相关系数(ACF)
平稳AR( p)模型的自相关系数
ρ
k
=
ρ
(
t
,
t
−
k
)
=
c
o
v
(
X
t
,
X
t
−
k
)
σ
t
σ
t
−
k
ρ_{k}=ρ(t,t-k)=\frac{cov(X_{t},X_{t-k})}{σ_{t }σ_{t-k}}
ρ
k
=
ρ
(
t
,
t
−
k
)
=
σ
t
σ
t
−
k
c
o
v
(
X
t
,
X
t
−
k
)
呈指数的速度衰减,始终有非零值,即为拖尾性。
(4)偏自相关系数(PACF)
自相关系数ρ
k
中掺杂了其他变量对X
t
与X
t-k
的相关影响,为了单纯测度X
t-k
对X
t
的影响,引进偏自相关系数的概念,且偏自相关系数具有p阶截尾性,即在p阶之后应为零。
2.MA模型
q阶自回归模型,简记为MA( q)
。
x
t
=
μ
+
ε
t
−
θ
1
ε
t
−
1
−
θ
2
ε
t
−
2
−
.
.
.
−
θ
q
ε
t
−
q
x_{t}=μ+ε_{t}-θ_{1}ε_{t-1}-θ_{2}ε_{t-2}-…-θ_{q}ε_{t-q}
x
t
=
μ
+
ε
t
−
θ
1
ε
t
−
1
−
θ
2
ε
t
−
2
−
.
.
.
−
θ
q
ε
t
−
q
即在t时刻的随机变量X
t
的取值x
t
是前q期ε
t-1
,ε
t-2
,…,ε
t-p
的多元线性回归,认为
x
t
主要受过去q期的误差项的影响
。μ是序列{X
t
}的均值。误差项是当期的随机干扰ε
t
,为零均值白噪声序列。
模型性质:均值和方差都是常数,自相关系数是q阶截尾的,偏自相关系数是拖尾的。
3.ARMA模型
自回归移动平均模型,简记为ARMA(p,q)
x
t
=
ϕ
0
+
ϕ
1
x
t
−
1
+
ϕ
2
x
t
−
2
+
.
.
.
+
ϕ
p
x
t
−
p
+
ε
t
−
θ
1
ε
t
−
1
−
θ
2
ε
t
−
2
−
.
.
.
−
θ
q
ε
t
−
q
x_{t}=ϕ _{0}+ϕ _{1}x_{t-1}+ϕ _{2}x_{t-2}+…+ϕ _{p}x_{t-p}+ε_{t}-θ_{1}ε_{t-1}-θ_{2}ε_{t-2}-…-θ_{q}ε_{t-q}
x
t
=
ϕ
0
+
ϕ
1
x
t
−
1
+
ϕ
2
x
t
−
2
+
.
.
.
+
ϕ
p
x
t
−
p
+
ε
t
−
θ
1
ε
t
−
1
−
θ
2
ε
t
−
2
−
.
.
.
−
θ
q
ε
t
−
q
即在t时刻的随机变量X
t
的取值x
t
是前p期x
t-1
,x
t-2
,…,x
t-p
和前q期ε
t-1
,ε
t-2
,…,ε
t-p
的多元线性回归,认为
x
t
主要受过去p期的序列值和过去q期的误差项的影响
。μ是序列{X
t
}的均值。误差项是当期的随机干扰ε
t
,为零均值白噪声序列。
当q=0,是AR(p)模型;当p=0,是MA(q)模型
模型性质:均值和方差都是常数,自相关系数是拖尾的,偏自相关系数是拖尾的。
4.平稳时间序列建模
步骤:
1)计算ACF和PACF
2)ARMA模型识别。由三个模型的自相关系数和偏自相关系数的性质,选择合适的模型。
3)估计模型中未知参数的值并进行参数检验
4)模型检验
5)模型优化
6)模型应用:进行短期预测
5.4.4 非平稳时间序列分析
对非平稳时间序列的分析方法可以分为
确定性因素分解的时序分析
和
随机时序分析
两大类。
其中确定性因素分解把所有的序列的变化都归结为4个因素(长期趋势、季节变动、循环变动和随机波动)的综合影响,但其中由随机因素导致的波动很难确定和分析,对随机信息浪费严重而导致模型拟合精度不够理想。
因此随机时序分析法就是为了弥补确定性因素分解法的不足,主要的模型有ARIMA模型、残差自回归模型、季节模型、异方差模型等。
本节重点介绍
ARIMA模型
。
1.差分运算
(1)p阶差分
相距一期的两个序列值之间的减法运算称为1阶差分运算。
(2)k步差分
相距k期的两个序列值之间的减法运算称为k步差分运算。
2.ARIMA模型
当非平稳序列通过差分运算后显示出平稳序列的性质,则称其为差分平稳序列。ARIMA模型的实质就是差分运算与ARMA模型的组合。
差分平稳时间序列建模步骤:
在获得观察值序列后,若不是平稳序列则进行差分运算转换成差分平稳序列,再进行白噪声检验,若不是白噪声序列则拟合ARMA模型,否则结束分析。
模型定阶方法:人为识别-观察自相关图和偏自相关图的性质
相对最优模型识别-计算ARMA(p,q),当p和q均小于等于数据长度的十分之一的所有组合的BIC信息量,取BIC信息量达到最小的模型阶数。
5.4.5 python主要时序模式算法