时间序列分析—自回归(AR)
admin
2023-06-24 16:21:31
0

自回归

Autoregression is a time series model that uses observations from previous time steps as input to a regression equation to predict the value at the next time step

自回归预测法(Autoregression,AR)是指,利用预测目标的历史时间数列在不同时期取值之间存在的依存关系(即自身相关),建立起回归方程进行预测。

具体说,就是用一个变量的时间数列作为因变量数列,用同一变量向过去推移若干期的时间数列作自变量数列,分析一个因变量数列和另一个或多个自变量数列之间的相关关系,建立回归方程进行预测。

再通俗一点讲,就是用过去时间点的数据预测未来时间点的数据

定义:时序数据Xt通常可由历史数据的加权和与随机扰动的叠加来表示




从定义的式子可得,时间t的Xt由前面的Xt-1....Xt-p的加权以及随机扰动项(白噪音)决定,这里为p 阶自回归模型,简称 AR(p) 模型,称 a=(a0,a1,...,ap)T 是 AR(p) 模型中的自回归系数

补充:白噪声序列的特点 表现在任何两个时点的随机变量都不相关,序列中没有任何可以利用的动态规律(也就是,别白忙活了,分析不出规律来的),因此不能用历史数据对未来进行预测和推断。

一般平稳序列的建模过程如下:

  • 步骤 1 :对序列作白噪声检验,若经检验判定序列为白噪声,建模结束(没条件,不需要努力了);否则转2 ;
  • 步骤 2 :对序列作平稳性检验,若经检验判定为非平稳,则进行序列的平稳化处理,转步骤 1;否则转步骤 3;
  • 步骤 3 :对模型进行识别,估计其参数,转步骤 4;
  • 步骤 4 :检验模型的适用性,若检验通过,则得到拟合模型并可对序列做预测;否则转步骤 3;

1. AR模型的判定

对于观测到的时间序列,若通过白噪声检验确定为非白噪声,且经平稳性检验确定为平稳后,常根据相关系数和偏相关系数来识别模型。

目的:判断该问题是否适用 AR 模型建模,以及大致确定阶数 p。

方法:计算自相关系数(Autocorrelation Function, SAF)和偏自相关系数(Partial Autocorrelation Function, PACF)

如果一个时间序列满足以下两个条件:

  • ACF 具有拖尾性,即 ACF(k) 不会在 k 大于某个常数之后就恒等于 0。
  • PACF 具有截尾性,即 PACF(k) 在 k>p 时变为 0。(用来确定阶数, PACF 在 p 阶延迟后未必严格为 0 ,而是在 0 附近的小范围内波动

示例:




可以看出: 自相关系数呈现一定的周期性,故判定为拖尾; 偏自相关系数 2 步后截尾。因此,可尝试使用 AR(2) 模型来建模;

2、AR 模型的定阶

在对 AR 模型识别时,根据其样本偏自相关系数pacf的截尾步数,可初步得到 AR 模型的阶数 p。

但此时建立的 AR(p) 未必是最优的。一个好的模型通常要求残差序列方差较小,同时模型相对简单,即要求阶数较低

因此需要一些准则来比较不同阶数的模型之间的优劣,从而确定最合适的阶数。

下面给出两种常用的定阶准则:




3、AR模型检验

检验模型拟合度,从2个方面考虑:

  1. 有效性检验 即为残差序列的白噪声检验
  2. 显著性检验 即删除那些不显著参数,简化模型,这里采用T检验对于回归的系数进行检验




4、AR模型简单实现

这里的api调用的是最大似然估计(OLS)去估计参数的

import statsmodels.api as sm
from statsmodels.tsa.ar_model import AutoReg

data = [x + random() for x in range(1,100)]
out = 'AIC: {0:0.3f}, HQIC: {1:0.3f}, BIC: {2:0.3f}'

# lags表示滞后阶数 ,这里取1阶,11阶和12阶
res = AutoReg(data, lags = [1, 11, 12]).fit()
print(out.format(res.aic, res.hqic, res.bic))

# 以序列的最后一个数为起始点,预测下一个数
res.predict(len(data),len(data))


# 结果输出

AIC: -1.964, HQIC: -1.907, BIC: -1.822
array([100.39906184])

参考链接:

1、https://wiki.mbalib.com/wiki/%E8%87%AA%E5%9B%9E%E5%BD%92%E9%A2%84%E6%B5%8B%E6%B3%95

2、https://zhuanlan.zhihu.com/p/54163589

3、https://www.statsmodels.org/stable/

相关内容