时间序列分析

ARIMA模型

Posted by john on March 12, 2018

简介

  时间序列是按照时间次序排列的随机变量序列。任何时间序列经过合理的函数变换都可以被认为是由三个部分叠加而成。这三个部分分别是趋势项部分,周期项部分和随机噪声项部分。时间序列分析的首要任务就是把这三个部分分解出来。

  时间序列在适当的去掉趋势项和周期项之后,剩下的随机部分通常会有某种平稳性。因此我们首先重点介绍一个平稳时间序列。

平稳序列

  时间序列的趋势项和周期项可以用非随机的函数进行刻画。分离出趋势项和周期项后的时间序列往往表示出平稳波动性,我们称这种时间序列为平稳序列。

平稳序列的定义:

如果时间序列\(\left\{ { X }_{ t } \right\} =\left\{ { X }_{ t }:t\in N \right\}\)满足

  1. 对任何的\(t\in N\), \(E{ X }_{ t }^{ 2 }<\infty\)
  2. 对任何的\(t\in N\), \(E{ X }_{ t }^{ 2 }=\mu\)
  3. 对任何的\(t,s\in N\), \(E\left[ \left( { X }_{ t }-\mu \right) \left( { X }_{ s }-\mu \right) \right] ={ \gamma }_{ t-s }\)

就称\(\left\{ { X }_{ t } \right\}\)是平稳时间序列,简称为平稳序列,称实数列\(\left\{ { \gamma }_{ t } \right\}\)为\(\left\{ { X }_{ t } \right\}\)的自协方差函数。

  由定义可以看出,平稳序列中的随机变量\({ X }_{ t }\)的均值\(E{ X }_{ t }^{ 2 }\),方差\(var\left( { X }_{ t } \right) =E{ \left( { X }_{ t }-\mu \right) }^{ 2 }\)都是和\(t\)无关的常数。因此协方差结构的平移不变性是平稳序列的特性。因此,又称平稳序列是二阶矩平稳序列。

ARIMA模型

  研究上述平稳时间序列分析和预测最常用的统计模型是ARIMA模型。ARIMA 模型的全称叫做自回归移动平均模型,全称是(ARIMA,Autoregressive Integrated Moving Average Model),也就做ARIMA(p,d,q)。其中

  • p–表示预测模型中采用时序数据本身的滞后数(lags),也叫做AR/Auto-Regressive项。
  • d–表示时序数据需要进行几阶差分化,才是稳定的,也叫做Integrated项。
  • q–表示预测模型中采用的预测误差的滞后数,也叫做MA/Moving Average项。

下面分别介绍AR项,MA项,ARIMA模型的优缺点以及ARIMA建模基本步骤。

AR项

AR(p) 模型的定义:

  如果\(\left\{ { \varepsilon }_{ t } \right\}\)是白噪声\(WN(0,{ \sigma }^{ 2 })\),实数\({ a }_{ 1 },{ a }_{ 2 },\cdots ,{ a }_{ p }\left( { a }_{ p }\neq 0 \right)\)使得多项式\(A\left( z \right)\)的零点都在单位圆外:

\[A\left( z \right) =1-\sum _{ j=1 }^{ p }{ { a }_{ j } } { z }^{ j }\neq 0,\quad \left| z \right| \le 1,\]

就称\(p\)阶差分方程

\[{ X }_{ t }=\sum _{ j=1 }^{ p }{ { a }_{ j } } { X }_{ t-j }+{ \varepsilon }_{ t },\quad t\in Z\]

是一个\(p\)阶自回归模型,简称为\(AR(p)\)模型。满足\(AR(p)\)模型的平稳时间序列\({ X }_{ t }\)称为平稳解或者\(AR(p)\)序列。

MA项

MA(Move Average) 有限运动平均的定义:

  设\(\left\{ { \varepsilon }_{ t } \right\} =\left\{ { \varepsilon }_{ t }:t\in Z \right\}\)是\(WN\left( 0,{ \sigma }^{ 2 } \right)\)。对于非负整数\(q\)和常数\({ a }_{ 0 },{ a }_{ 1 },\cdots ,{ a }_{ q }\),我们称

\[{ X }_{ t }={ a }_{ 0 }{ \varepsilon }_{ t }+{ a }_{ 1 }{ \varepsilon }_{ t-1 }+\cdots +{ a }_{ q }{ \varepsilon }_{ t-q },\quad t\in Z\]

是白噪声\(\left\{ { \varepsilon }_{ t } \right\}\)的有限运动平均,简称为\(MA(Moving Average)\)。

ARIMA的优缺点

  • 优点:模型简单,只需要内生不变量而不需要借助其他外生变量
  • 缺点:

    1. 要求时序数据是稳定的(stationary),或者是通过差分化后是稳定的。
    2. 本质上只能捕捉线性关系,而不能捕捉非线性关系。

ARIMA建模基本步骤

  1. 获取被观测系统时间序列数据
  2. 对数据绘图,观测是否为平稳时间序列,或者进行ADF检验,可以利用adfuller;对于非平稳时间序列要先进行d阶差分运算,转化为平稳时间序列。
  3. 经过第二步处理,得到平稳时间序列。然后确定ARMA(p,q)中的p,q参数,关于p和q的选择,一种方法是观察自相关图ACF和偏相关图PACF,另一种方法是通过AIC、BIC统计量自动确定。可以利用statsmodels包里面的arma_order_select_ic方法,返回以BIC准则确定的阶数。
  4. 由以上步骤确定p,d,q参数,得到ARIMA模型,然后对得到的模型进行模型检验。

在下一章,我们将介绍DLM(Dynamic Linear Model)模型。