Posts 时间序列预测
Post
Cancel

时间序列预测

时间序列

时间序列是按时间顺序出现的有序数列。数列就是某一统计指标的数值,比如:工厂订单数量、股票价格、网页访问量等。

时间序列预测

时间序列的待预测变量称为观察值

时间序列预测是指:基于历史数据预测未来的观察值。预测分为2种:

  • 点预测。预测某一时间点上的具体数值
  • 区间预测。预测某一时间点上数值的区间。

时间序列可预测的前提:

  • 了解时间序列观测值的影响因素
  • 有可利用的历史数据
  • 预测不会影响试图预测的结果

时间序列可定量预测的前提:

  • 过去的一些模式会在未来延续下去。

术语

  • 观察值

    时间序列需要预测的值。

  • 外部变量

    影响观察值的其他变量。

  • 误差

    无法被解释的量。

  • 趋势

    当一个时间序列长期增长或下降时,表示该序列有趋势。

  • 季节性

    当时间序列中的数据受到季节性因素的影响时,表示该序列具有季节性。季节性总是一个已知并且固定的频率

  • 周期性

    当时间序列存在不固定频率的上升和下降时,表示该序列有周期性。

时间序列的评估

时间序列不能做交叉验证,得做back test。在量化中又称为回测。原因是为了避免data leak,数据穿越。

R2MASEMSSE等。

  • $R^{2}$ \(R^{2} = 1 - \frac{\frac{1}{n} \sum_{i=1}^{n}(y_{i} - \hat{y}_{i})^2} {\frac{1}{n} \sum_{i=1}^{n}(y_{i} - \bar{y}_{i})^2}\)

​ 其中,$\hat{y}{i}$ 是预测值,$\bar{y}{i}$ 是平均值。 $R^{2}$ 越趋近与1,表示模型越准。

  • MASE(平均绝对标准误差) \(MASE = \frac{\frac{1}{T} \sum_{t=1}^{T} \vert\hat{y}_{t} - \hat{y}_{t} \vert} {\frac{1}{T-1} \sum_{t=2}^{T} \vert y_{t} - y_{t-1} \vert}\)

  • MSSE(平均平方标准误差) \(MSSE = \frac{\frac{1}{T} \sum_{t=1}^{T} (\hat{y}_{t} - \hat{y}_{t})^{2}} {\frac{1}{T-1} \sum_{t=2}^{T} (y_{t} - y_{t-1})^{2}}\)

时间序列与机器学习

时间序列的产生

从概率上看,时间序列是随机过程在时间方向上的一次采样,这个采样只能随着时间往后,无法在空间上重复。

时间序列的建模就是期望通过这样的采样数据来学习模型,对后面的时间进行预测。

机器学习如何学习

从概率上看,有监督的学习的训练样本就是 $P(y \vert x)$ 在空间方向上的采样。这个采样可以不断重读,没有时间先后的概念。

机器学习的建模就是期望通过这样的采样数据来学习模型,对后面的样本进行预测。

  • 机器学习中的建模一般需要假设样本独立同分布,依托大数定律拟合出参数。
  • 时间序列中的建模一般需要假设样本平稳遍历性,依托遍历定理拟合出参数。

Papers

  • 有历史数据时,如何做预测
    • 入门:Prophet
    • 进阶:DeepAR
    • 最新:Informer
  • 没有历史数据时,如何做预测
    • Multi-modal Forecasting
  • 不同颗粒度的预测如何整合
    • 入门:Reconciliation hierarcgical model
    • 进阶:structured regularization model

参考

时间序列入门

This post is licensed under CC BY 4.0 by the author.

量化

Forecasting at Scale