时序预测模型


时序预测是利用历史时间序列数据来预测未来值的过程。它在金融、气象、能源、零售等领域有着广泛的应用。

时序预测模型的发展经历了从统计学模型机器学习模型,再到现在的深度学习大模型的演变。以下是目前主流时序预测模型的系统性梳理:


一、 统计学模型

这类模型是时序预测的基石,通常适用于数据量较小、模式相对简单(如具有明显的周期性、趋势性)的场景。

  1. ARIMA (自回归积分滑动平均模型)

    • 原理:结合了自回归 (AR)、差分 (I) 和移动平均 (MA)。要求时间序列是平稳的。
    • 优点:理论成熟,可解释性强,适合短期预测。
    • 缺点:难以处理复杂的非线性关系和多变量情况。
  2. SARIMA (季节性ARIMA)

    • 原理:在ARIMA基础上增加了季节性差分参数。
    • 适用:具有明显季节性周期波动的数据(如电力负荷、气温)。
  3. Prophet (Facebook)

    • 原理:基于加性模型,将趋势、季节性(年、周、日)和假期效应分解叠加。
    • 优点:对缺失值和异常值鲁棒性强,参数调整直观,无需深厚统计背景即可上手,适合业务场景。
    • 缺点:在极长序列和复杂非线性交互上表现一般。
  4. ETS (指数平滑) / Holt-Winters

    • 原理:对不同时间步的数据赋予不同的权重(近期权重高)。
    • 适用:具有趋势和季节性的数据,计算速度极快。

二、 机器学习模型

随着数据特征变得复杂,传统机器学习模型通过特征工程,在竞赛和工业界占据了重要地位。

  1. 树模型

    • 核心思想:将时序问题转化为监督学习问题(构造滞后特征 Lag features、滚动统计特征 Rolling statistics)。
    • 优点:对非线性关系捕捉能力强,能处理多变量,训练速度快,可解释性好(特征重要性)。在Kaggle竞赛中常年霸榜。
  2. SVR (支持向量回归)

    • 适用:小样本数据,但在大数据量下训练较慢。

三、 深度学习模型

深度学习擅长捕捉非线性关系和长距离依赖,是目前研究和应用的主流。

1. RNN/LSTM/GRU (循环神经网络家族)

  • 原理:专为序列设计,通过隐藏状态传递历史信息。LSTM和GRU解决了RNN的梯度消失问题。
  • 优点:能够捕捉长距离依赖,适合处理变长序列。
  • 缺点:串行计算无法并行化,训练较慢;对于极长序列(如几千步以上)记忆能力仍有限。

2. TCN (时间卷积网络)

  • 原理:使用膨胀因果卷积,确保未来信息不会泄露到过去。
  • 优点:并行计算速度快,感受野大,效果通常优于LSTM。

3. Transformer 类模型

Transformer 凭借自注意力机制在NLP领域成功后,迅速统治了时序预测领域。

  • Vanilla Transformer:直接应用标准Transformer,计算复杂度 $O(L^2)$,长序列预测时显存占用高。
  • Informer:提出了ProbSparse自注意力机制,将复杂度降至 $O(L \log L)$,解决了长序列预测问题。
  • Autoformer:引入了序列分解和自相关机制,更好地捕捉趋势和周期。
  • FEDformer:在频域中进行注意力计算,提升了效率和稳定性。
  • PatchTST (ICLR 2023)
    • 核心创新:借鉴ViT思想,将时间序列分割成小块作为Token输入Transformer。
    • 现状:目前公认的SOTA(State-of-the-Art)模型之一,在多变量预测中表现极佳。

4. 特殊架构

  • N-BEATS:纯前馈网络,不使用时间索引,通过全连接层堆叠实现,在M4竞赛中夺冠。
  • TiDE:Google提出的简单MLP架构,证明了在某些情况下,简单的全连接网络配合合适的设计也能打败复杂的Transformer。

四、 时序大模型

这是2023-2024年的最新趋势。类似于NLP中的GPT,研究者希望训练通用的时序模型,实现零样本或少样本预测。

  1. TimeGPT:首个宣称的商业化时序基础模型,类似调用GPT API一样进行预测。
  2. Lag-Llama:基于Llama架构的概率预测基础模型。
  3. Chronos (Amazon):将时间序列量化为词元,使用T5架构进行训练,具有极强的泛化能力。
  4. Time-LLM:利用大语言模型(LLM)的推理能力,将时序数据通过Prompt Engineering进行处理,让LLM直接“说出”预测值。

五、 如何选择模型?

场景 推荐模型 理由
数据量少 (<1000点) ARIMA, ETS, Prophet 统计模型对样本效率高,不易过拟合。
强解释性需求 SARIMA, Prophet, XGBoost 需要向业务方解释为什么这样预测。
多变量 + 复杂非线性 XGBoost, LightGBM 特征工程做好的情况下,树模型性价比极高。
长序列预测 Informer, Autoformer, PatchTST Transformer架构在捕捉长依赖上有优势。
多变量关联复杂 PatchTST, iTransformer 现代Transformer变体对多变量通道建模效果更好。
缺乏历史数据/冷启动 时序大模型 利用预训练知识进行零样本预测。

六、 实用工具库推荐

  • statsmodels / pmdarima:经典统计模型(ARIMA等)的首选。
  • Prophet:Facebook开源,简单易用。
  • sktime:统一的接口,兼容scikit-learn,支持多种模型。
  • Darts:目前最强大的Python时序库之一,统一了ARIMA、Prophet、Torch模型(Transformer, N-BEATS)的API,非常推荐。
  • GluonTS:Amazon开源,专注于概率时序预测和深度学习模型。
  • Time-Series-Library:清华大学开源,包含几乎所有主流Transformer类时序模型(PatchTST, Informer等)的实现。