一. 相关介绍
(一) 时间序列
时间序列是指将同一统计指标的数值按其发生的时间先后顺序排列而成的数列. 时间序列分析的主要目的是根据已有的历史数据对未来进行预测. 经济数据中大多数以时间序列的形式给出. 根据观察时间的不同, 时间序列中的时间可以是年份、季度、月份或其他任何时间形式. (摘自百度百科)
(二) 常用时间序列模型
1. 平稳时间序列模型:
ARMA 模型全称为自回归移动平均模型, 它是目前最常用的拟合平稳序列的模型. 可以细分为 AR 模型、MA 模型和 ARMA 三大类.
2. 非平稳时间序列模型:
对非平稳时间序列的分析方法可以分为确定性因素分解的时序分析和随机时序分析两大类.
随机时序分析可以建立的模型有 ARIMA 模型、残差自回归模型、季节模型、异方差模型等.
ARIMA 的模型的实质是差分运算与 ARMA 模型的组合.
关于 ARMA 模型更详细的内容可以参考: https://blog.csdn.net/frankiehello/article/details/80883147.
(三) ARIMA 模型的建模步骤
ARMA 模型处理的时间序列必须为平稳非白噪声序列.
在建立 ARIMA 模型时, 首先需要对观测值进行平稳性检验, 如不平稳, 则对其进行差分处理直到差分后的数据平稳. 在数据平稳后, 对其进行白噪声检验. 如果不为白噪声数据, 就对模型进行识别, 识别其模型属于 AR、MA 和 ARMA 中的哪一种模型. 并通过AIC等指标值对模型进行定阶, 确定 ARIMA 模型的 p q 参数. 在模型识别后还需检测模型的残差序列是否为白噪声序列, 如果没有通过检测, 需要对其进行重新识别. 最后应用模型进行预测与评估.
(四) 相关算法函数
1. adfuller(): 对观测值序列进行单位根检验
使用格式: h = adfuller(Series, maxlag=None, regression='C', autolag='AIC', store=False, regresults=False)
返回值依次为adf、pvalue、usedalag、nobs、criticalvalues、icbest、regresults、resstore.
一般认为 pvalue 值小于0.05 的序列为平稳序列
2. diff(): 差分计算
3. aic / bic / hqic : ARIMA 模型的相关指标值, 具体见