时序预测建模

前置知识:时间序列分析时间序列距离测度

1 基础时序方法

均值回归:对历史一段时间的值取平均,作为未来每个时刻的预测

指数平滑:预测值是过去一段时间内观测值(或已预测值)的加权平均值

普通回归预测:借助时序相关特征(如节假日、周期性)实现建模预测

更多时序类衍生特征可参考 tsfresh概述

2 ARIMA

自回归(AR)模型:

  • 用变量自身的历史时间数据对变量进行预测
  • AR 模型需要满足时序平稳性的要求,时序间需要存在自相关性
  • p 阶 AR模型的公式定义如下:$y_t=\mu+\Sigma_{i=1}^p\gamma_iy_{t-i}+\epsilon_t$
  • 其中 $\mu$ 表示常数项,$\gamma$ 表示自相关系数,$\epsilon$ 表示残差

移动平均(MA)模型:

  • MA 模型关注的是自回归模型中的误差项累加
  • q 阶 MA 模型的公式定义如下:$y_t=\mu+\epsilon_t+\Sigma_{i=1}^p\theta_i \epsilon_{t-i}$
  • MA 模型能有效消除预测中的随机波动

自回归移动平均(ARMA)模型:

  • ARMA (p, q) 模型是p 阶 AR 模型和 q 阶 MA 模型的组合
  • ARMA (p, q) 的公式如下:$y_t=\mu+\Sigma_{i=1}^p\gamma_iy_{t-i}+\epsilon_t+\Sigma_{i=1}^p\theta_i \epsilon_{t-i}$
  • ARMA 假设时序可以由其自身的过去或滞后值以及随机扰动项来解释

AR、MA、ARMA 模型的选择:

  • 若偏自相关函数是截尾的,而自相关函数是拖尾的,则建立 AR 模型;
  • 若偏自相关函数是拖尾的,而自相关函数是截尾的,则建立 MA 模型;
  • 若偏自相关函数和自相关函数均是拖尾的,则序列适合 ARMA 模型

ARMA 模型的定阶:

模型 自相关 ACF 偏自相关 PACF
AR (p) 衰减趋于 0 P 阶后截尾
MA (q) q 阶后截尾 衰减趋于 0
ARMA (p, q)) q 阶后衰减趋于 0 P 阶后衰减趋于 0

ARIMA :考虑 d 阶差分的 ARMA

  • 平稳性要求序列的均值和方差不发生明显变化
  • 对于平稳/弱平稳时序,可以直接使用 ARMA 模型实现建模预测
  • 对于非平稳时序,需要先通过差分的方式实现序列的平稳(有时候需要重复多次差分才能实现序列的平稳),再根据 ACF 和 PACF 图确定阶数,最后使用 ARMA 进行建模。

3 其他

Prophet:Facebook 开源的时序预测算法 17.5 k ⭐

  • 基于加法模型进行时序预测,综合考虑非线性趋势、周期性和节假日影响
  • 对于缺失数据和趋势变化具有鲁棒性,并且通常能够很好地处理异常值

AutoTS:时间序列包,旨在大规模快速部署高精度预测 955⭐

  • 支持 sklearn 内嵌的数十种可用模型,包括统计方法、机器学习、深度学习
  • 支持多时序预测输出和概率(上下限)预测;支持用户自定义外生回归变量
  • AutoML 特征搜索,寻找最佳的模型、预处理和集成方法;评估指标丰富

神经网络系列:

参考

时间序列ARIMA模型

往年同期文章