字节@漫谈时间序列预测
链接:https://zhuanlan.zhihu.com/p/486343380
模型优化目标为 MAE 时,整体的预测就会比平均值小。部分业务预测偏小跟预测偏多造成的影响是不同的。一般会参考整体的预测偏差,进而使用一些非对称 loss 来进行具体优化。
交叉验证
- 在时间维度上做前后的 split
[[传统时间序列预测]]
-
[[ARIMA]] 对 AR 部分的残差做移动平均
- [[Python/package]] pmdarima,通过 AutoML 手段来自动搜索参数
-
[[时间序列预测/问题]] #card
-
对于时序本身有一些性质上的要求,需要结合预处理来做拟合,不是端到端优化
-
需要对每条序列做拟合预测,性能开销大,数据利用率和泛化能力堪忧,无法做模型复用
-
较难引入外部变量
-
多步预测能力比较差
-
机器学习方法
-
基于训练窗口的信息来构建特征,转化为表格类预测问题来求解
-
[[Feature Engineering/Time Series Feature]]
- tsfresh 自动特征工程
-
模型选择
-
自动参数优化 Optuna 或 FLAML
-
NN 优势
-
通过 embedding 学习类别变量
-
loss 设计更加灵活
-
-
local 模型和 global 模型取舍
-
local 方法每一个序列都要构建一个单独的模型来训练预测
-
global 使用所有数据进行训练
-
例子
- 股票中科技股的趋势和银行股的趋势明显不同
-
-
深度学习方法
-
思路
-
充分使用多层级维度的信息
-
只使用原始的序列和其它相关输入信息,基本不做特征工程,希望通过各类模型结构自动学习到时序的隐含表达,进而做到端到端的预测输出
-
-
与机器学习方法对比:
-
机器学习方法一般模型部分处理会相对简单,但涉及到的预处理,特征工程及后处理方面会比较复杂。
-
在整理 pipeline 层面会相对简单,更提倡 end-to-end 的训练,但模型部分则相对复杂和难以优化。
-
-
[[@WaveNet: A Generative Model for Raw Audio]]
-
[[空洞卷积]] residual connection skip connection 门机制
-
CNN 结构缺乏[[位置编码]]导致对于序列问题预测效果不如 RNN
-
-
[[LSTNet]] 效果不如特征工程 + fastai 效果好
-
[[DeepAR]] #mark/paper #时间序列专题学习
-
输出概率分布
- [[quantile regression]] ngboost LightGBMLSS 等库在 GBDT 模型上实现概率预测输出。
-
亚马逊开源时序预测库 gluon-ts
-
-
[[N-BEATS]] 单变量时序预测,具有一定的 seasonality,trend 的可解释性 #mark/paper
-
[[@Temporal Fusion Transformers for Interpretable Multi-horizon Time Series Forecasting]] 与树匹敌的深度学习模型 #mark/paper
-
[[Gated Residual Network]]
-
[[Variable Selection Networks]] 特征变量选择网络,类似于树模型做特征选择
- [[TabNet]] [[NODE]] 也有这种模拟决策树行为的设计
-
输入特征的系统化设计,
-
静态类别/连续变量
-
动态已知类别/连续变量
-
动态未知类别/连续变量
-
[[Pytorch Forecasting]] 实现
-
-
1 | training = TimeSeriesDataSet( |
+ [[@Efficient Automated Deep Learning for Time Series Forecasting]] #mark/paper
-
没有能大规模应用的深度时序模型
-
[[@Do We Really Need Deep Learning Models for Time Series Forecasting?]] #mark/paper
-
[[@Kaggle forecasting competitions: An overlooked learning opportunity]] #mark/paper
-
[[@Deep Learning for Time Series Forecasting: Tutorial and Literature Survey]] #mark/paper
-
-
可能方向
-
数据增强
- Time Series Data Augmentation for Deep Learning: A Survey
-
时序问题预训练
- A network-based transfer learning approach to improve sales forecasting of new products
-
[[AutoML]] 模型的自动选择和调优
-
因此完善的 AutoML 方案中,也需要包含例如 prior shift, [[covariate shift]], concept drift 等方面的检测与处理,以适应复杂的真实预测场景。
-
[[Life Long Learning]] 模型的学习预测会随着时间的推移不断有新数据的输入