时间序列分析
Knowledge sharing by FC
1 基本概念
1.1 随机过程
设 $X_0, X_1,X_2…$ 是一列独立同分布的随机变量序列,令
Sn=S0+X1+X2+…+Xn
则随机变量序列 Sn 为随机过程。
1.2 均值/协方差/方差函数
对于序列${X_t}$:
均值函数:
μX(t)=E[X(t)]
协方差函数:
γX(s,t)=E[(X(s)−μX(s))(X(t)−μX(t))]
方差函数:
DX(t)=rX(t,t)=E[(X(s)−μX(s))2]
Note:
为弱平稳的描述做准备。
1.3 平稳性
平稳性:时间序列的行为不随时间改变。
Why stationary?
简化问题的假设。
- 强平稳:对于一个时间序列${Zt}$与任意整数k,如果
$$
Z\{t1}, Z_{t2},…,Z_{tn}
与
Z_{t1-k}, Z_{t2-k},…,Z_{tn-k}
$$
的联合分布一致,那么称该序列强平稳。 - 弱平稳:对于一个序列,若其均值函数是常数,协方差函数仅与时间差相关,那么称该序列弱平稳。
Note:
强弱平稳并不相互包含。满足假设则预测结果好。ADF检验等,对不平稳的序列可做差分。
1.4 差分方程
一阶差分方程:
一个变量在$t$时刻的值记作$y_t$,$t$时刻和$t-1$时刻的值可以由以下一阶线性差分方程刻画:
yt=ϕyt−1+wt
差分方程表达一个变量与他前期值的关系。
p阶差分方程
yt=ϕtyt−1+ϕ2yt−2+…+ϕpyt−p+wt
差分方程的递归解
yt=ϕt+1y−1+(wt+ϕwt−1+ϕ2wt−2+…+ϕt−1w1+ϕtw0)
动态乘子
∂yt∂w0=ϕt,∂yt+j∂wt=ϕj
Note:
描述t时刻的扰动wt对于j时刻后的影响。
phi的取值以1为界对于过程的影响(消散,放大)
1.5 延迟算子
令B为一步延迟算子,如果当前序列乘以一个延迟算子,表示把当前序列值的时间向过去拨一个时刻。
使用延迟算子表示的一阶差分方程:
yt=ϕyt−1+wtyt=ϕByt+wt(1−ϕB)yt=wt
延迟算子性质
BXt=Xt−1B2Xt=Xt−2…BnXt=Xt−n
(1)B0=1(2)若c为任意常数,则B(cXt)=cB(Xt)=cXt−1(3)(1−B)n=n∑i=0(−1)nn!i!(n−i)!Bi
2 线性平稳时间序列
2.1 自回归过程(AR)
一阶自回归过程AR(1):
如${X_t}$为平稳序列,且满足如下差分方程:
Xt=c+ϕXt−1+εt
其中系数表示对前一项的依赖程度,扰动为白噪声序列,则称${X_t}$满足一阶自回归模型。
Note:
WN: mean=0 方差sigma,不少分析中会先把序列中心化,即减均值。认为序列与前期值有关。
平稳条件:
特征方程:$\lambda-\phi=0$的根的绝对值小于1,即
|ϕ|<1
Note:
这与差分方程中动态乘子的意义一致。
方差与均值
E(Xt)=c1−ϕE(Xt−μ)2=σ21−ϕ2
利用延迟算子,一阶自回归模型可以表示为:
(1−ϕB)Xt=c+εtXt=(1−ϕB)−1(c+εt)=c1−ϕ+(1−ϕB)−1εt
如果满足平稳条件,则可表示为:
Xt=c1−ϕ+(1+ϕB+…+ϕjBj+…)εt=c1−ϕ+εt+ϕεt−1+…+ϕjϵt−j…
Note:
类似于一个数列极限。平稳则扰动项必须收敛,否则与影响无限扩大。AR1是一个无限阶的移动平均过程。
2.2 移动平均过程
一阶移动平均过程MA(1):
${X_t}$若满足如下方程:
Xt=μ+εt−θεt−1
其中$\mu$为常数,$\theta$为移动平均系数,$\varepsilon$为白噪声过程,则称${X_t}$满足一阶移动平均模型。
Note:
认为序列和前一时刻的扰动有关。
MA(1)的均值与方差
E(Xt)=μ
E(Xt−μ)2=E(εt−θεt−1)2=(1+θ2)σ2
2.3 自回归移动平均过程
ARMA(p,q)模型的一般表达式为:
Xt=c+ϕ1Xt−1+…+ϕpXt−p+εt−θ1εt−1−…−θqεt−q∀s<t,E(Xsεt)=0
2.4 相关系数
2.4.1 自相关系数ACF
AR(1)的自协方差与自相关系数:
γk=E(xtxt−k)=ϕ1E(xt−1xt−k)+E(εtxt−k)=ϕ1γk−1γk=ϕk1γ0
ρk=γkγ0=ϕk1
Note:
这里是中心化后的序列,自协方差受幅度影响,相关系数去除幅度影响。
AR(p)的自协方差与自相关系数:
γk=ϕ1γk−1+…+ϕpγk−p,k>0ρk=ϕ1ρk−1+…+ϕpρk−p,k>0
(Yule-Walker方程,系数阵正定,可解回归系数)
Note:
p1=1,自己和自己的相关系数。模型定阶后可以求p阶协方差,解方程组。
MA(1)的自协方差与自相关系数:
γ=E(xt−μ)(xt−k−μ)=E(ε−θεt−1)(εt−k−θεt−k−1)γ0=(1+θ2)σ2γ1=θσ2γk=0,k>1ρ1=θσ2(1+θ2)σ2=θ1+θ2
高阶自相关系数均为0。
MA(q)的自协方差与自相关系数:
γj=(θj+θj+1θ1+θj+2θ2+…+θqθq−j)σ2,j=1,2,…,qρj=θj+θ1θj+1+…+θq−jθq1+θ21+…+θ2q,j=1,2,…,q
解非线性方程,可得滑动平均系数。
Note:
for j>q, gamma=0,p=0,解非线性方程,可得滑动平均系数
ARMA(p,q)的自协方差与自相关系数:
Xt=c+ϕ1Xt−1+…+ϕpXt−p+εt−θ1εt−1−…−θqεt−q
先同乘以$X_{t-k}$,求均值得自协方差,得到Yule-Walker方程,求回归系数,然后构造:
X∗t=Xt−(ϕ1Xt−1−…−ϕpXt−p)
$X_t^*$为MA(q)序列,按MA(q)序列计算自协方差/自相关系数,解非线性方程得滑动回归系数。
2.4 相关系数
2.4.2 偏自相关系数PACF
φ11=ρ1φk+1,k+1=(ρk+1−k∑j=1ρk+1−jφk,j)(1−k∑j=1ρjφk,j)φk+1,j=φk,j−φk+1,k+1φk+1,k+1−j,j=1,2,…k
Note:
用于定阶。
D=|1ρ1⋯ρk−1ρ11⋯ρk−2⋮⋮⋮ρk−1ρk−2⋯1|
Dk=|1ρ1⋯ρk−1ρ11⋯ρk−2⋮⋮⋮ρk−1ρk−2⋯ρk|
φkk=DkD
3 实际应用
3.1 模型(阶数)识别
ACF/PACF定阶
序列 | AR(p) | MA(q) | ARMA(p,q) |
---|---|---|---|
ACF | 拖尾 | q阶截尾 | 拖尾 |
PACF | p阶截尾 | 拖尾 | 拖尾 |
AIC/BIC准则:
AIC(p,q)=lnˆσ2k+2(p+q+1)NBIC(p,q)=logˆσ2k+p+q+1NlogN
选择最大阶数($N^\frac{1}{2},logN,\frac{N}{10}$),
计算使AIC or BIC最小的p,q,作为模型阶数。
Note:
耗时,每次要计算出模型,再计算拟合残差,MAXLAG^2次计算。
3.2 参数估计
- 矩估计
- 极大似然估计
Note:
矩估计:Yuler-Walker方程等。
极大似然估计
以AR(1)为例:
Xt=c+ϕXt−1+εt
序列观测值:$x_1,…x_T$
$\varepsilon_t$为白噪声,参数为$\theta=(\phi, \sigma^2)$
对于第一个样本,$X_1:N(\frac{c}{1-\phi},\frac{\sigma^2}{1-\phi^2})$,即$X1$的概率分布:
$$
f\{X_1}(x_1;\phi,\sigma^2)=\frac{1}{\sqrt{2\pi}\sqrt{\sigma^2/(1-\phi^2)}}exp[-\frac{x_1^2}{2\sigma^2/(1-\phi^2)}]
$$
Note:
假设X1的期望与方差,与2.3中分析的一致。如果认为初始值也服从N(0,\sigma^2),则忽略了初始值之前的影响。
考察,第二个样本$X_2$在$X_1=x_1$已知条件下的概率分布,由于
X2=c+ϕX1+ε2
fX2|X1(x2|x1;ϕ,σ2)=1√2πσexp[−(x2−ϕx1)22σ2]
根据贝叶斯公式,$X_1,X2$的联合分布为:
$$
f\{X_1,X_2}(x_1,x_2;\phi,\sigma^2)=f_{X_1}(x_1;\phi,\sigma^2)f_{X_2|X_1}(x_2|x_1;\phi,\sigma^2)
$$
Note:
X2~N((c+\phi x_1), \sigma^2)。常数+\varepsilon_t。
在前t-1个值已知的条件下,实际上$Xt$仅与$X{t-1}$有关:
fXt|Xt−1,…,X1(xt|xt−1,…,x1;ϕ,σ2)=1√2πσexp[−(xt−ϕxt−1)22σ2]
则$X_T…X1$的联合分布为:
$$
f\{X_T,…,X_1}(x_T,…,x_1;\phi,\sigma^2)=f_{X_1}(x_1;\phi,\sigma^2)\prod_{t=2}^{T}f_{X_t|X_{t-1}}(x_t|x_{t-1};\phi,\sigma^2)
$$
对数似然函数为:
L(ϕ,σ2)=−T2log(2π)−12log[σ2/(1−ϕ2)]−12σ2/(1−σ2)x21−[(T−1)/2]log(σ2)−12σ2T∑t=2(xt−ϕxt−1)2
Note:
求偏导数=0的点。
向量形式:
x=(x1,x2,…,xT)TΩ=|E(X1−μ)2E(X1−μ)(X2−μ)⋯E(X1−μ)(XT−μ)E(X2−μ)(X1−μ)E(X2−μ)2⋯E(X2−μ)(XT−μ)⋮⋮⋮E(XT−μ)(X1−μ)E(XT−μ)(X2−μ)⋯E(XT−μ)2|
Ω=σ2VV=11−ϕ2|1ϕ⋯ϕT−1ϕ1⋯ϕT−2⋮⋮⋮ϕT−1ϕT−2⋯1|
fX(x;ϕ,σ)=(2π)−T/2|Ω−1|1/2exp[−12(x−μ)tΩ−1(x−μ)]
MA(1)的似然函数:
xt=μ+εt−θεt−1L(θ)=−T2−T2log(σ2)−T∑t=1ε2t2σ2
εt=(xt−μ)−θ(xt−1−μ)+θ2(xt−2−μ)+…+(−1)tθtε0
Note:
epsilon序列可表示为\theta的函数,非线性函数。
向量形式:
Ω=σ2|(1+θ2)θ0⋯0θ(1+θ2)θ⋯00θ(1+θ2)⋯0⋮⋮⋮⋮000⋯(1+θ2)|
fX(x;θ)=(2π)−T/2|Ω|−1/2exp[−12(x−μ)tΩ−1(x−μ)]
ARMA(p,q)的极大似然估计:
令$\beta=(\phi_1,…,\phi_p,\theta_1,…,\theta_q)$,
似然函数为:
L(β)=−T2log(2π)−T2log(σ2)−T∑t=1ε2t2σ2
εt=xt−c−ϕ1xt−1−…−ϕpxt−p−θ1εt−1−…−θqεt−q
Note:
参数包含在epsilon序列中
4 一个实验
data:601000.ss, from 2014-8-9 to 2017-4-20,BIC准则定阶,前300个作为训练集,ARMA(4,0)。结果:RMSE:
0.30651974757
MAPE
0.0123583871228
That’s all