【时间序列】自回归模型

作者 | 追光者

研究 | 机器学习与时间序列

出品 | AI蜗牛车

本篇主要讲解AR,ARMA,ARIMA等传统时间序列模型,包括具体代码操作。并附讲时间序列的一些基础知识点,如果有基础的可以直接跳到模型部分。

1. 时间序列的平稳性

1.1 自协方差、自相关函数

自协方差,指不同时点的变量之间的协方差

自相关函数(autocorrelation function)ACF。自相关函数是指不同时点的变量之间的相关性。

1.2 平稳性定义

通俗理解一下时间序列的平稳性。

平稳可以理解为性质平移不变。时间序列分几种情况,第一种是纯白噪音序列,这个时候就没有分析的必要了。第二种是平稳序列,我们为什么要研究时间序列,就是希望从历史数据中获得一些信息能够用于未来,而平稳代表了某种程度上的时间平移不变性,如果时间序列的性质随着时间的偏移,发生了很大的变化,那么学习历史数据意义就不大了(其实也不是,也有其他办法,但是现在只说传统的时间序列分析)

第三种是非平稳时间序列,非平稳的就可以通过一些操作对序列进行平稳化

严平稳

强平稳过程: 对于任意的和任意的以及所有可能的k,当的联合分布与的相同时,是强平稳

严平稳就是时间序列的严格独立于时间,任何阶矩都不受时间影响

弱平稳

弱平稳过程:给定一个二阶矩过程,当它满足下列要求

1.对于任意t,=C (常数)

2.对于任意t,协方差函数

弱平稳就是时间序列的均值和所有的自协方差都不受时间影响

两者关系

1.一个严平稳过程不一定是弱平稳过程,一个弱平稳过程也不一定严平稳过程。

2.一阶矩和二阶矩存在时,强平稳过程是弱平稳过程,反过来不成立

3.弱平稳的高斯过程一定是强平稳的(正态分布由均值和协方差唯一确定)

关于强平稳和弱平稳的差别:

  • 强平稳是事实上的平稳(同分布);

  • 弱平稳是统计量在观测意义上的平稳(均值、方差)。

引自:知乎:傅渥成

https://www.zhihu.com/question/21982358

1.3 平稳性检验

时序图、自相关图

1.时序图,如果是平稳的,值会围绕一个均值上下波动

2.自相关图

首先回忆一下自相关代表什么,自相关是由自协方差推导来的,平稳序列要求自协方差不受时间影响,只与时间差有关,所以平稳时间序列的自相关图会随着阶数的递增,自相关函数会降到0附近,反之则可能是非平稳时间序列了。

自相关图是一个平面二维坐标悬垂线图。横坐标表示延迟阶数,纵坐标表示自相关系数

from statsmodels.graphics.tsaplots import plot_acf, plot_pacf
from statsmodels.tsa.stattools import adfuller
import pandas as pd
import numpy as np

#生成均匀分布数据
data = pd.DataFrame()
data['sample'] = np.random.normal(size=100)

plot_acf(data['sample'])

plot_pacf(data['sample']) 

adfuller(data['sample'])
image-20201006150028710

3.偏自相关

偏自相关图的横坐标表示延迟阶数,纵坐标表示偏自相关系数

image-20201006150122092

ADF检验

ADF检验全称是 Augmented Dickey-Fuller test,顾名思义,ADF是 Dickey-Fuller检验的增广形式。DF检验只能应用于一阶情况,当序列存在高阶的滞后相关时,可以使用ADF检验,所以说ADF是对DF检验的扩展。

原理

ADF检验就是判断序列是否存在单位根:如果序列平稳,就不存在单位根;否则,就会存在单位根。

ADF检验的原假设是存在单位根,只要adf检验值小于1%水平下的数字就可以显著的拒绝原假设,如果得到的显著性检验统计量小于三个置信度(10%,5%,1%),则对应有(90%,95,99%)的可能性可以拒绝原假设。

数据检验结果是上面那个随机正态分布的检验结果

(-5.90793453239412,
 2.6809844949047407e-07,
 1,
 98,
 {'1%': -3.4989097606014496,
  '5%': -2.891516256916761,
  '10%': -2.5827604414827157},
 261.69717899308966)
 

返回的分别是

  • adffloat

    The test statistic.

  • p-valuefloat

    MacKinnon”s approximate p-value based on MacKinnon (1994, 2010).

  • usedlagint

    The number of lags used.

  • nobsint

    The number of observations used for the ADF regression and calculation of the critical values.

  • critical valuesdict

    置信区间

    Critical values for the test statistic at the 1 %, 5 %, and 10 % levels. Based on MacKinnon (2010).

  • icbestfloat

    The maximized information criterion if autolag is not None.

  • resstoreResultStore, optional

    A dummy class with results attached as attributes.

这里引用一个对ACF和PACF的解释

滞后k自相关系数p(k)时,实际上得到并不是x(t)与x(t-k)之间单纯的相关关系。因为x(t)同时还会受到中间k-1个随机变量x(t-1)、x(t-2)、……、x(t-k+1)的影响,而这k-1个随机变量又都和x(t-k)具有相关关系,所以自相关系数p(k)里实际掺杂了其他变量对x(t)与x(t-k)的影响。为了能单纯测度x(t-k)对x(t)的影响,引进偏自相关系数的概念。对于平稳时间序列{x(t)},所谓滞后k偏自相关系数指在给定中间k-1个随机变量x(t-1)、x(t-2)、……、x(t-k+1)的条件下,或者说,在剔除了中间k-1个随机变量x(t-1)、x(t-2)、……、x(t-k+1)的干扰之后,x(t-k)对x(t)影响的相关程度。

参考:请高手指点自相关函数和偏自相关函数的区别?- 计量经济学与统计软件 - 经管之家(原人大经济论坛)

1.4 去趋势

1.可以使用log函数,将方差随时间增大的时间序列的方差稳定下来,可以将随时间快速增长的趋势转变为线性趋势

2.差分运算,去季节性的话根据季节性的幅度来差分

2. AR

自回归,顾名思义即对变量自身进行的回归,不用x预测y,而是用x预测 x(自己)

定义p阶自回归过程为AR(p)为:

其中为白噪音序列,

AR模型一般用于平稳序列,但序列并不一定是平稳的,所以在使用AR模型前要进行平稳性检验。

2.1 性质

  1. 若AR模型满足平稳性条件,则他的均值为0

  2. AR模型的自相关系数是呈复指数衰减– 有拖尾性(拖尾是 ACF 或 PACF 并不在某阶后均为 0 的性质。)

  3. AR模型的偏自相关系数有截尾性(截尾,就是在某阶后均为0的性质,或者说在等于零的置信区间以内。)

2.2 条件

1.需要具有自相关性,自相关系数越高越好,自相关系数低于0.5则不应该采用AR模型

2.满足平稳性条件

3.适宜预测受历史因素影响大的东西

2.3 定阶

实际应用中,一个AR序列的阶p是未知的,一般利用偏相关函数**。**

AR(p)序列的样本PACF是滞后p阶后截尾的,截尾的阶数即为AR的阶数。

3. MA

MA与AR不同的地方是,MA是历史白噪声的线性组合(MA模型是计算AR部分累积的误差)。MA模型总是弱平稳的。MA模型的自相关系数是q阶截尾的。

 

其中为白噪音,

找出过去几期的白噪音影响了当前值,没有趋势性

3.1 可逆性

MA模型具有可逆性,AR和MA之间可以互相转换,任何一个AR(p)模型都可以表示为MA(∞),任何一个可逆的MA(q)模型也表示为一个AR(∞)模型。以AR(1)为例子:

4. ARMA

如果序列的偏自相关函数是截尾的,则用 AR 算法;如果序列的自相关函数是截尾的,则用 MA 算法。

如果序列不满足自相关和偏自相关截尾,则可以采用ARMA模型

ARMA顾名思义是将AR(p)和MA(q)模型结合起来的ARMA(p,q)

定义ARMA(p,q)为:

其中为白噪音,,

ARMA也是平稳性限制模型,需要序列平稳才能使用

小结

 

模型自相关系数偏自相关系数
AR(p)拖尾P阶截尾
MA(q)q阶截尾拖尾
ARMA(p,q)拖尾拖尾

5. 非季节性ARIMA

上述模型都要求时间序列平稳,而ARIMA则是一种应用于不平稳模型的方法

将差分,AR和MA结合起来便是ARIMA

定义ARIMA(p,d,q)为:

:差分序列

p:自回归阶数

d:差分阶数

q:移动平均阶数

代码部分调用python statsmodels库即可,比较简单,不详述了。

参考

  1. 《Forecasting:Principles and Practice》

  2. https://www.statsmodels.org

  3. 《应用计量经济学:时间序列分析》

更多精彩内容(请点击图片进行阅读)

公众号:AI蜗牛车

保持谦逊、保持自律、保持进步

个人微信

备注:昵称+学校/公司+方向

如果没有备注不拉群!

拉你进AI蜗牛车交流群

  • 5
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值