做时间序列预测有必要用深度学习吗?事实证明,梯度提升回归树媲美甚至超越多个DNN模型

本文涉及的产品
模型训练 PAI-DLC,100CU*H 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
交互式建模 PAI-DSW,每月250计算时 3个月
简介: 做时间序列预测有必要用深度学习吗?事实证明,梯度提升回归树媲美甚至超越多个DNN模型
在深度学习方法应用广泛的今天,所有领域是不是非它不可呢? 其实未必,在时间序列预测任务上,简单的机器学习方法能够媲美甚至超越很多 DNN 模型。


过去几年,时间序列领域的经典参数方法(自回归)已经在很大程度上被复杂的深度学习框架(如 DeepGIO 或 LSTNet 等)更新替代。这是因为传统方法可能无法捕获长期和短期序列混合传递的信息,而深度学习方法的思路是掌握数据中的跨时非线性依赖。从结果来看,这些深度学习方法不仅优于 ARIMA 等传统方法和梯度提升回归树(Gradient Boosting Regression Tree, GBRT)等简单机器学习模型,而且增强了这样一种预期,即机器学习领域的时间序列预测模型需要以深度学习工作为基础,才能得到 SOTA 结果。

但是,推荐系列领域的最新启示表明,深度学习方法在机器学习各种研究分支取得的成就需要对简单高效模型定期确认和评估,以保持各自研究领域进展的真实性。除了时间序列预测模型越来越复杂之外,另一个动机包括文献中正在完善的深度学习模型在处理时间序列预测问题上的片面性,因此限制了现有解决方案方法的多样性。

在前段时间的一篇论文《Do We Really Need Deep Learning Models for Time Series Forecasting?》中,来自德国希尔德斯海姆大学计算机科学系的研究者展示了通过精心配置的输入处理结构,GBRT 等简单但强大的集成模型在时间序列预测领域能够媲美甚至超越很多 DNN 模型。


论文地址:https://arxiv.org/pdf/2101.02118.pdf

研究者对特征工程多输出 GBRT 模型进行了评估,并提出了以下两个研究问题:

  • 对于用于时间序列预测的基于窗口的学习框架来说,精心配置 GBRT 模型的输入和输出结构有什么效果?
  • 一个虽简单但配置良好的 GBRT 模型与 SOTA 深度学习时间序列预测框架相比如何?


为了回答这两个问题,研究者选择了双重实验设置,分别解决两类预测任务,即系统化方式中的单变量和多变量预测。目的是评估 GBRT 模型以及在顶会(NeurIPS、KDD、SIGIR、ECML、ICML、CIKM、IJCAI、ICLR 等)中出现的 SOTA 深度学习方法。这项研究的整体贡献可以总结如下:

一,研究者将一个简单的机器学习方法 GBRT 提升了竞品 DNN 时间序列预测模型的标准。首先将 GBRT 转换成一个基于窗口的回归框架,接着对它的输入和输出结构进行特征工程,如此便能从额外上下文信息中获益最多;二,为了突出输入处理对时间序列预测模型的重要性,研究者通过实证证明了为什么基于窗口的 GBRT 输入设置可以在时间序列预测领域提高 ARIMA 和原版 GBRT 等精心配置的模型所产生的预测性能;三,研究者比较了 GBRT 与各种 SOTA 深度学习时间序列预测模型的性能,并验证了它在单变量和双变量时间序列预测任务中的竞争力。

这项研究也引起了不少人的共鸣。有人认为,时间序列分类任务同样也没有必要用深度学习方法。在一些情况下,SVMs 或逻辑回归方法表现更好,速度也更快。


研究设计

选择基线。研究者系统地过滤了 2016 年至 2020 年在 NeurIPS、KDD、SIGIR、SDM、ECML、ICML、CIKM、IJCAI、ICLR 等会议表现较好的论文集。论文需满足以下要求:

  • 主题:只考虑时间序列预测领域的研究;
  • 数据结构:专用数据类型,但如异步时间序列和概念化为图形的数据被排除在外;
  • 可复现:数据、源代码应公开。如果源代码不可用,但实验设置有清晰的文档,研究也可以从实验中复制结果;
  • 计算的可行性:研究中得出的结果能够以易于处理的方式复现,并在合理的时间内可计算。


评估。该研究在两个层次上对时间序列预测 GBRT 模型进行评估:一个单变量和一个多变量。为了使所选的深度学习基线和 GBRT 之间具有显著的可比性,该研究在相同的数据集上评估了所有模型,数据集如下表 1 所示:左边提供了关于用来评估模型数据集,而右边则列出了各自的实验规范:


问题公式化。时间序列预测问题,就监督学习而言,时间序列预测可以表述为:给定一个集合和一个集合,经过一系列假设后,得到如下期望损失最小化模型:

GBRT

GBRT 模型,特别是 XGBoost 实现,其优点是易于应用,而且在结构化数据上特别成功。但是当涉及时间序列预测的初始(naive)实现时,GBRT 模型失去了很大一部分灵活性,因为它们没有被投射到基于窗口的回归问题中,而是被配置为适合大部分时间序列作为完整且连续的数据点序列来预测时间序列的后续和剩余测试部分。

与上述初始实现不同,该研究通过将时间序列重新配置为窗口输入,并在多个训练实例(窗口)上进行训练,以模拟成功的时间序列预测模型中使用的输入处理行为,为此该研究定义了一个可调窗口,这种基于窗口的 GBRT 模型输入设置如图 1 所示:


第一步是使用变换函数将典型的 2D 训练实例(时间序列输入窗口)变换为适合 GBRT 的 1D 形状向量(扁平窗口)。该函数将所有 w 实例的目标值 y_i 连接起来,然后将最后一个时间点实例 t 的协变量向量附加到输入窗口 w 中,表示为

基于窗口的 GBRT 输入设置极大地提高了其预测性能,因为 GBRT 模型现在能够掌握数据的底层时间序列结构,并且现在可以被认为是先进 DNN 时间序列预测模型的适当机器学习基线。另一方面,简单配置的 GBRT 模型是一个简单的逐点回归模型,将时间点 的协变量作为输入,预测单一目标值 Y_i、j 为同一时间点训练损失如下:


实验结果

单变量时间序列的结果

下表 2 总体结果表明,除了 traffic 预测外,基于窗口的 GBRT 具有较强的竞争力。另一方面,具有传统配置的预测模型(例如 ARIMA 和 GBRT(Naive))的表现远远优于预期。


而在 electricity 预测方面,基于窗口的 GBRT 在所有模型中均显示出最佳的 RMSE 性能,其在 WAPE 和 MAE 方面的性能仅优于 2016 年推出的 TRMF,基于注意力的 DARNN 模型表现较差。关于 exchange rate 任务,LSTNet(以 w = 24 重新实现)和 TMRF 显示出相当强的结果,优于基于窗口的 GBRT 基线。

在不考虑时间预测器的情况下,traffic 预测的结果是混合的,因此 DARNN 和 LSTNet 实现了 traffic 数据集的最佳结果,而对于 PeMSD7 数据集,基于窗口的 GBRT 基线在两个方面优于 DNN 模型三个指标。然而,时间协变量的包含显着提高了 GBRT 的性能(下表 3),因此,对于 traffic 预测,所有 DNN 方法,包括 DeepGlo [18] 和 STGCN(spatio-temporal traffic forecasting model ) [19],其在 PeMSD7 上实现了 6.77 的 RMSE,优于重新配置的 GBRT 基线。


下表 4 显示了 LSTNet 与 GBRT(W-b) 的结果:


下表 5 中的结果表明 GBRT 的竞争力,但也表明基于 transformer 的模型相当强大,例如 TFT 超过了提升回归树性能。然而,作为一个例外,TFT 构成了本研究中唯一一个始终优于 GBRT 的 DNN 模型,而 DeepAR 和 DeepState 等概率模型在这些单变量数据集上的表现优于其他模型。


多元数据集

下表 6 中为 DARNN 与基于窗口 GBRT 比较:简单、配置良好的 GBRT 基线可以超越 DNN 框架。


从下表 7 可以看出,即使是专门为某一预测任务设计的 DNN 模型,也没有达到预期效果。相反,DAQFF 的性能比简单的基于窗口、特征工程的梯度提升回归树模型更差。在本实验中,值得注意的是,即使是传统应用预测意义上的 GBRT 模型也能在 air quality 数据集上提供更好的结果。


相关文章
|
23天前
|
机器学习/深度学习 数据采集 TensorFlow
使用Python实现智能食品消费模式分析的深度学习模型
使用Python实现智能食品消费模式分析的深度学习模型
116 70
|
12天前
|
机器学习/深度学习 数据可视化 TensorFlow
使用Python实现深度学习模型的分布式训练
使用Python实现深度学习模型的分布式训练
132 73
|
20天前
|
机器学习/深度学习 算法 安全
从方向导数到梯度:深度学习中的关键数学概念详解
方向导数衡量函数在特定方向上的变化率,其值可通过梯度与方向向量的点积或构造辅助函数求得。梯度则是由偏导数组成的向量,指向函数值增长最快的方向,其模长等于最速上升方向上的方向导数。这两者的关系在多维函数分析中至关重要,广泛应用于优化算法等领域。
68 36
从方向导数到梯度:深度学习中的关键数学概念详解
|
21天前
|
机器学习/深度学习 数据采集 数据挖掘
使用Python实现智能食品消费市场分析的深度学习模型
使用Python实现智能食品消费市场分析的深度学习模型
97 36
|
15天前
|
机器学习/深度学习 数据采集 供应链
使用Python实现智能食品消费需求分析的深度学习模型
使用Python实现智能食品消费需求分析的深度学习模型
70 21
|
17天前
|
机器学习/深度学习 数据采集 搜索推荐
使用Python实现智能食品消费偏好预测的深度学习模型
使用Python实现智能食品消费偏好预测的深度学习模型
60 23
|
18天前
|
机器学习/深度学习 数据采集 数据挖掘
使用Python实现智能食品消费习惯预测的深度学习模型
使用Python实现智能食品消费习惯预测的深度学习模型
75 19
|
19天前
|
机器学习/深度学习 数据采集 数据挖掘
使用Python实现智能食品消费趋势分析的深度学习模型
使用Python实现智能食品消费趋势分析的深度学习模型
81 18
|
22天前
|
机器学习/深度学习 数据采集 供应链
使用Python实现智能食品消费需求预测的深度学习模型
使用Python实现智能食品消费需求预测的深度学习模型
51 10
|
19天前
|
机器学习/深度学习 数据采集 搜索推荐
使用Python实现深度学习模型:智能食品消费行为预测
使用Python实现深度学习模型:智能食品消费行为预测
61 8

热门文章

最新文章