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) 模型中的自回归系数
。
补充:白噪声序列的特点 表现在任何两个时点的随机变量都不相关,序列中没有任何可以利用的动态规律
(也就是,别白忙活了,分析不出规律来的),因此不能用历史数据对未来进行预测和推断。
一般平稳序列的建模过程如下:
对于观测到的时间序列,若通过白噪声检验确定为非白噪声,且经平稳性检验确定为平稳后
,常根据相关系数和偏相关系数来识别模型。
目的:判断该问题是否适用 AR 模型建模,以及大致确定阶数 p。
方法:计算自相关系数
(Autocorrelation Function, SAF)和偏自相关系数
(Partial Autocorrelation Function, PACF)
如果一个时间序列满足以下两个条件:
示例:
可以看出: 自相关系数呈现一定的周期性,故判定为拖尾; 偏自相关系数 2 步后截尾。因此,可尝试使用 AR(2) 模型来建模;
在对 AR 模型识别时,根据其样本偏自相关系数pacf的截尾步数
,可初步得到 AR 模型的阶数 p。
但此时建立的 AR(p) 未必是最优的。一个好的模型通常要求残差序列方差较小,同时模型相对简单,即要求阶数较低。
因此需要一些准则来比较不同阶数的模型之间的优劣,从而确定最合适的阶数。
下面给出两种常用的定阶准则:
检验模型拟合度,从2个方面考虑:
T检验
对于回归的系数进行检验这里的api调用的是最大似然估计(OLS)去估计参数的
import statsmodels.api as sm参考链接:
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/