时间序列模型:ARIMA

本章涉及知识点:

1、时间序列分析

2、平稳时间序列

3、白噪声

4、AR自回归模型

5、MA滑动平均模型

6、ARMA模型

7、ARIMA模型

8、差分计算

9、相关性分析—协方差

10、相关性分析—Pearson相关系数

11、时间序列相关性分析—ACK和PACK

12、AIC和BIC准则

13、一阶自相关检验—DW检验

14、ARIMA模型的步骤

15、ARIMA模型实战案例

一、时间序列分析

时间序列:在一段时间T内,按照时间顺序测量某个随机变量的取值序列。即

时间序列

区别于一般的时间函数为

一般的时间函数

其中自变量是时间t,表示在f的作用法则下,将自变量t映射为因变量y

而时间序列函数为

时间序列函数

其中自变量是Xt的前p个序列值,表示在f的作用法则下,将自变量Xt的前p个序列值映射为因变量Xt

综上分析可知

(1)对于单值函数f(t),关心的是时间t和实值y的映射关系

(2)对于时间序列Xt,关心的是Xt的前p个序列值和Xt的映射关系

二、平稳时间序列

独立时间序列:X_{n+1}对于{X_{1},X_{2},...,X_{n}}均彼此独立,即任意X_{t}都不含有X_{n+1}的信息

稳定时间序列:X_{n+1}的信息隐含在其历史{X_{1},X_{2},...,X_{n}}之中

我们需要由历史来推测未来,则研究的序列对象是稳定时间序列,其必须满足:

(1)EX_{t}^{2} < \infty

(2)EX_{t} = \mu

(3)cov(X_{i},X_{j})  =E[(X_{i} - \mu )(X_{j} - \mu )] = \gamma_{i-j}

即稳定时间序列满足:常量的均值、常量的方差、与时间t无关的自协方差

且对于任意序列X_{i}X_{j},共同平移k步后的序列得到的序列X_{i+k}X_{j+k}具有相同的协方差,即

cov(X_{i}, X_{j}) = cov(X_{i+k}, X_{j+k})

上式称为协方差结构的平移不变性

对于平稳序列的任意n阶自协方差矩阵

\Gamma _{n} =  \begin{bmatrix} \gamma_{0}&...  & \gamma_{n-1}\\  ...&  ...& ...\\  \gamma_{n-1}&...  & \gamma_{0}\end{bmatrix}

任意取一个n维向量a,则

a\Gamma_{n}a^{T} = \sum_{i=1}^n \sum_{j=1}^n  a_{i}  a_{j} \gamma_{i-j}

= \sum_{i=1}^n \sum_{j=1}^n a_{i}  a_{j} E[(X_{i} -\mu  )(X_{j} -\mu  )]

= E[\sum_{i=1}^n \sum_{j=1}^n a_{i}  a_{j} (X_{i} -\mu  )(X_{j} -\mu  )]

= E[\sum_{i=1}^n  a_{i}  (X_{i} -\mu  )^{2}] = var[\sum_{i=1}^n  a_{i}  (X_{i} -\mu  )] \geq 0

则证明平稳序列的任意n阶自协方差矩阵是非负定矩阵

三、白噪声

白噪声服从高斯分布,记时间序列\{X_{t} \}对于任意i和j,如果满足

 EX_{t} = \mu \ , cov(X_{i}, X_{j}) = \left\{\begin{matrix}\sigma^{2}, \ i = j\\ 0, \ i \neq j\end{matrix}\right.

则时间序列\{X_{t} \}是一个白噪声,记为WN(\mu , \sigma ^2)

我们一般用白噪声来验证原始时间序列和拟合时间序列的残差序列

即原始时间序列为\{X_{t} \},拟合时间序列为\{Y _{t} \},则残差序列\{e_{t}  \}为:

\{e_{t}  \} \  = \{X_{t}  \}   -  \{Y_{t}  \}

\{e_{t}  \}近似的满足白噪声,则时间序列模型很好的捕捉了自相关性

例如:对于随机变量U1,U2,...独立分布且都在(0,2pi)上均匀分布,假设时间序列为:

X_{t} = b\cos(at+U_{t})

则分别计算EX_{t}^2EX_{t},得

EX_{t}^2 = \frac{b^2}{2\pi}\int_{0}^{2\pi}  \cos(at+u)^2du

= \frac{b^2}{2\pi}\int_{0}^{2\pi}  \frac{1+\cos[2(at+u)]}{2} du

= \frac{b^2}{2\pi}[ \frac{1}{2} \int_{0}^{2\pi}du +  \frac{1}{4} \int_{0}^{2\pi} \cos(2at+2u)d(2at+2u)] = \frac{b^2}{2}

EX_{t} = \frac{b}{2\pi}\int_{0}^{2\pi}  \cos(at+u)du  = 0

则时间序列\{X_{t}\}是独立的WN(0, \frac{b^2}{2} )正态白噪声

四、AR自回归模型

对于任意一个稳定时间序列\{X_{t}\},当满足如下关系:

X_{t} = \alpha_{1}X_{t-1}  + \alpha_{2}X_{t-2} + ... + \alpha_{p}X_{t-p} + w_{t}  = \sum_{i=1}^p \alpha_{i}X_{t-i} + w_{t}

\{X_{t}\}为一个p阶的自回归模型,记为AR(p)模型

AR(p)模型的意义为:

(1)任意一个t时刻的序列值 = t时刻的前p个序列值的线性组合 + t时刻的随机误差

(2)以历史序列为自变量,建立线性模型来预测未来

五、MA滑动平均模型

对于任意一个稳定时间序列\{X_{t}\},由AR模型得到自回归系数的估计为(\alpha_{1}...\alpha_{p})

\{ \varepsilon_{t }  \}\{X_{t}\}的残差序列,即

\varepsilon_{t-q} = X_{t} -\sum_{i=1}^p \alpha_{i}X_{t-i}

则当满足如下关系:

X_{t} =  \beta_{1}\varepsilon_{t-1}  + \beta _{2}\varepsilon_{t-2} + ... + \beta _{q}\varepsilon_{t-q} + w_{t}  = \sum_{i=1}^q \beta_{i}\varepsilon_{t-i} + w_{t}

\{X_{t}\}为一个q阶的滑动平均模型,记为MA(q)模型,其中\{ \varepsilon_{t }  \}满足WN(0, \sigma ^2)白噪声

MA(q)模型的含义为:

(1)任意一个t时刻的序列值 = t时刻的前q个序列的白噪声累加和的线性组合 + t时刻的随机误差 

(2)以历史白噪声为自变量,建立线性模型来预测未来

六、ARMA模型

将一个p阶的自回归模型和一个q阶的滑动平均模型组合在一起,便得到了一个阶数为(p,q)的自回归滑动平均模型,记为ARMA(p,q)模型,

X_{t} =  \alpha_{1}X_{t-1} +...+\alpha_{p}X_{t-p}  + \beta_{1}\varepsilon_{t-1}  +...+ \beta _{q}\varepsilon_{t-q} + w_{t}

= \sum_{i=1}^p \alpha_{i}X_{t-i}  + \sum_{i=1}^q \beta_{i}\varepsilon_{t-i} + w_{t}

ARMA(p,q)模型的意义为:

(1)将AR和MA模型的优势线性互补起来

(2)以历史序列和历史白噪声序列为自变量,建立线性模型来预测未来

七、ARIMA模型

ARIMA模型:对时间序列\{X_{t}\}进行d次差分得到一个新的差分时间序列\{Y_{t}\},再对该序列使用ARMA模型,为此ARIMA模型比ARMA模型多了一层思想:差分

八、差分计算

对于任意一个时间序列\{X_{t}\}进行d次差分,设x_{t}是t时刻\{X_{t}\}的差分值

当d=0时,x_{t}  = X_{t}

当d=1时,x_{t}  = X_{t}  - X_{t-1}

当d=2时,x_{t}  = X_{t}  - X_{t-1}  - (X_{t-1}  - X_{t-2} ) = X_{t}  -2 X_{t-1} + X_{t-2}

一般的,一个非平稳序列经过d次差分后,可以转化为平稳时间序列

九、相关性分析—协方差

假设两个随机变量X和Y满足未知的概率分布,则我们可以使用协方差来衡量X和Y之间的相关性

cov(X, Y) = E[(X-E(X))(Y-E(Y))]

而在实际应用中,由于整体的概率分布未知(无法计算出数学期望),则用X和Y的观测值来计算样本的协方差,其中\mu_{X}\mu_{Y}分别为X和Y的均值

cov(X, Y) = \frac{1}{n-1} \sum_{i=1}^n (x_{i}-\mu_{X})(y_{i}-\mu_{Y})

cov(X, Y)  >0,X和Y正相关,有相同的变化趋势

cov(X, Y)  <0,X和Y负相关,有相反的变化趋势

cov(X, Y)  =0,X和Y没有线性关系

用协方差描述随机变量的相关性,只能做到定性分析,无法做到定量分析,比如:一组身高和体重的协方差为205.6,这个数值是一个正数,只能说明身高体重具有正相关型,而并没有给出其相关性大小的判断标准。

因此协方差具有量纲效应

十、相关性分析—Pearson相关系数

为了对随机变量的相关性做定量分析,需要消除协方差之间的量纲,为此引入Pearson相关系数

corr(X,Y) = \frac{E[(X-E(X))(Y-E(Y))]}{\sqrt{var(X)}\sqrt{var(Y)} }=\frac{cov(X,Y)}{\sigma_{X}\sigma_{Y}}

=\frac{ \sum_{i=1}^n (x_{i}-\mu_{X})(y_{i}-\mu_{Y})}{\sum_{i=1}^n (x_{i}-\mu_{X})\sum_{i=1}^n (y_{i}-\mu_{Y})}

通过X和Y的标准差归一化X和Y的协方差,且corr(X,Y) \  \epsilon \  [-1,+1]

corr(X,Y) =1,X和Y正相关

corr(X,Y) =-1,X和Y负相关

corr(X,Y) =0,X和Y没有线性关系

0<|corr(X,Y) |<1,X和Y具有一定程度的线性关系

十一、时间序列相关性分析—ACK和PACK

由于时间序列的自变量是一维的,则使用Pearson相关系数判断其相关性时,需要找到除自身序列值外的一个变量与之比较关系,为此时间序列有如下特点:

时间序列只能比较自己和自己滞后的序列值,即形成自相关关系

ACK自相关系数:度量变量过去的行为对变量现在的影响,即

ACK (k) = \frac{cov(X_{1,k},X_{k+1,n})}{\sigma_{X}^2} =  \frac{\sum_{t=1}^{n-k}(x_{t}-\mu_{X})(x_{t+k}-\mu_{X})}{\sum_{t=1}^n(x_{t}-\mu_{X})^2}

ACK表示:历史序列\{  x_{1},...,x_{k} \}和当前序列\{  x_{k+1},...,x_{n} \}之间的相关性

PACK偏自相关系数:计算某一个变量对另一个变量的相关程度时,把其他变量视为常数

PACK (k) = \frac{cov(X_{1,k} - \mu_{X_{1,k}},X_{k+1,n} - \mu_{X_{k+1,n}})}{\sigma(X_{1,k} - \mu_{X_{1,k}})\sigma(X_{k+1,n} - \mu_{X_{k+1,n}})}

= \frac{\sum_{t=1}^{n-k}  (x_{t+k} - \mu_{X_{k+1,n}}-\mu_{X}) (x_{t} - \mu_{X_{1,k}} -\mu_{X})}{\sum_{t=1}^k(x_{t} - \mu_{X_{1,k}}-\mu_{X})\sum_{t=k+1}^n(x_{t} - \mu_{X_{k+1,n}}-\mu_{X})}

PACK表示:计算时间序列\{  x_{t} \}\{  x_{t+k} \}的相关性影响,需要排除k-1个(\{  x_{t+1}  \}... \{  x_{t+k-1} \})中间变量的影响

十二、AIC和BIC准则

AIC和BIC准则可以辅助量化ARMA模型的定阶通过最小化AIC和BIC指标来搜索出模型的最优阶数p和q

AIC准则:全称是最小化信息量准则,定义为

AIC(k) =  - 2\ln(L) + 2k

其中k为模型的阶数,L为模型的极大似然函数

AIC准则有一定的缺陷:即样本容量很大时,k的惩罚因子一直是常数2,与样本容量没有关系,这样会导致AIC增大

BIC准则:全称是贝叶斯信息准则,定义为

BIC(k) =  - 2\ln(L) + k\ln(n)

其中n为样本容量

BIC很好的弥补了AIC的不足,将样本容量n关联到k的惩罚因子中

十三、一阶自相关检验—DW检验

由ACK的定义

ACK (k) = \frac{cov(X_{1,k},X_{k+1,n})}{\sigma_{X}^2} =  \frac{\sum_{t=1}^{n-k}(x_{t}-\mu_{X})(x_{t+k}-\mu_{X})}{\sum_{t=1}^n(x_{t}-\mu_{X})^2}

我们设e_{t}=x_{t}-\mu_{X},e_{t+1}=x_{t+1}-\mu_{X},则构造统计量DW为:

DW=\frac{\sum_{t=1}^{n-1}(e_{t+1} - e_{t})}{\sum_{t=1}^{n}e_{t}^{2}}

分析DW,当n非常大时,有\sum_{t=1}^{n}e_{t}^{2} \approx \sum_{t=1}^{n-1}e_{t}^{2} \approx \sum_{t=1}^{n-1}e_{t+1}^{2},则

DW=\frac{\sum_{t=1}^{n-1}e_{t+1}^{2} + e_{t}^{2} - 2e_{t+1}e_{t}}{\sum_{t=1}^{n}e_{t}^{2}}  \approx  2(1 - \frac{\sum_{t=1}^{n-1}e_{t+1}e_{t}}{\sum_{t=1}^{n}e_{t}^{2}} )=2(1-ACK(1))

DW检验有以下特点:

(1)DW检验仅适用于一阶自相关的检验

(2)如果不存在一阶自相关,一般也不存在高阶序列相关

(3)实际应用中,对于序列相关问题一般只进行DW检验

由ACK(1)的取值来决定DW的取值情况:

当ACK(1)=1,说明相关变量组存在一阶正相关,DW=0

当ACK(1)=-1,说明相关变量组存在一阶负相关,DW=4

当ACK(1)=0,说明相关变量组完全不相关,DW=2

十四、ARIMA模型的步骤

通过上述知识点,我们可以归纳出ARIMA模型的步骤为:

(1)获取观测的时间序列,检验序列的平稳性

(2)缩小序列值域,一般取对数序列

(3)对于非平稳序列,通过d次差分运算转化为稳定序列

(4)ADF单根检验,观察p-value值是否小于5%

(5)模型定阶:对平稳时间序列分别求自相关系数ACF和偏自相关系数PACF,通过AIC、BIC准则得到最佳的阶数p和q

(6)模型训练:通过(p,d,q)阶数训练ARIMA模型,学习到残差序列

(7)模型检验:残差序列是否满足白噪声、DW检验一阶自相关性、观察残差序列拟合原始残差序列效果

(8)模型测试:残差序列逆向还原拟合时间序列,残差序列交叉验证测试集

十五、ARIMA模型实战案例

setp1:获取时间序列样本集

样本数据为1949年1月到1960年12月每月的乘客数量

数据集
数据集

我们通过原始序列的滑动均值和方差,观察其稳定性

原序列平稳性检验
原序列平稳性检验

可以看到原始序列的滑动均值/方差都有逐渐增大的趋势,该序列不稳定

setp2:取对数和一阶差分,通过滑动均值和方差、以及ADF单根检验差分序列是否满足稳定性

差分序列平稳性检验
差分序列平稳性检验

可以看到,差分后滑动均值/方差逐渐趋于平稳,P值小于5%,差分序列是稳定的

setp3:模型定阶,画出ACF和PACF的图像

ACF和PACF

上下两条灰线之间是置信区间

非统计学专业出身,肉眼定阶法缺乏经验。所以在阶数和数据量不大的场景下,可以选择暴力定阶法,通过遍历可能的阶数,计算ACK和PACK对应于AIC和BIC准则下的最小值,作为最优阶数p和q的参考

暴力定阶法

上述选出基于BIC准则下最优参数(p,q)=(10,7)

setp4:训练ARIMA模型,即ARIMA(10,1,7),得到模型和残差序列

训练ARIMA模型

setp5:检验模型学习效果

(1)残差序列是否满足白噪声—qq图

qq图

qq图的x轴表示正态分布分位数,y轴为样本分位数,可以看到残差序列基本位于一条直线上,即满足白噪声

(2)DW检测一阶相关性

DW检测
DW检测

(3)观察学习到的差分序列拟合效果

检验差分序列拟合结果

setp6:模型测试效果

(1)残差序列逆向还原拟合时间序列

残差序列逆向还原拟合时间序列

(2)残差序列交叉验证测试集

残差序列交叉验证测试集
交叉验证

实验结果可以看到,随着时间的推移,模型的拟合效果和预测效果较为理想

案例代码见:时间序列模型:ARIMA

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 201,552评论 5 474
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,666评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 148,519评论 0 334
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,180评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,205评论 5 363
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,344评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,781评论 3 393
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,449评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,635评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,467评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,515评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,217评论 3 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,775评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,851评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,084评论 1 258
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,637评论 2 348
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,204评论 2 341

推荐阅读更多精彩内容

  • 时间序列简介 时间序列 是指将同一统计指标的数值按其先后发生的时间顺序排列而成的数列。时间序列分析的主要目的是根据...
    熙淺阅读 176,968评论 15 55
  • 1 概念 ARIMA模型,全称为自回归积分滑动平均模型(Autoregressive Integrated ...
    风逝流沙阅读 40,365评论 1 47
  • 一、基本概念 1.随机时序分析的基本概念1)随机变量:简单的随机现象,如某班一天学生出勤人数,是静态的。2)随机过...
    apricoter阅读 6,393评论 0 10
  • 姓名:车文扬 学号:16020199006 转载至:https://www.cnblogs.com/babyfei...
    o錯覺_42a1阅读 22,541评论 0 8
  • 他们说我短发的样子像个男孩子,他们说女孩子就是应该穿着漂亮的裙子,斯斯文文地讲话,不说脏话。可是我不懂,难道所有的...
    云笙阅读 178评论 2 3