文 / Chen Liang 和 Yifeng Lu,Google Research Brain 团队软件工程师

时间序列预测是机器学习 (ML) 重要的研究领域,对于零售、供应链、能源、金融等准确预测至关重要的行业而言更是如此。举例来说,在消费品领域,需求预测的准确率每提高 10-20%,就可以减少 5% 的库存并增加 2-3% 的收入

目前基于 ML 的预测解决方案通常由专家打造,且需要在模型构建、特征工程和超参数调整等方面投入大量的人力。不过,这类专业知识可能无法大规模应用,这就限制了在时间序列预测挑战中应用 ML 会带来的好处。

为解决这个问题,自动化机器学习 (AutoML) 通过创建 ML 模型过程的自动化实现 ML 的使用范围扩展,并于近期加快了 ML 研究及 ML 在现实问题中的应用。

例如,我们最初将其应用于神经架构搜索,带来了计算机视觉层面的突破,如 NasNet、AmoebaNet 和 EfficientNet,同时还在自然语言处理方面取得了进展,如 Evolved Transformer。最近,我们还对表格式数据应用了 AutoML。

  • 神经架构搜索
    https://ai.googleblog.com/2017/05/using-machine-learning-to-explore.html

今天,我们将介绍一种针对时间序列预测的端到端可扩展 AutoML 解决方案,它符合以下三个重要标准:

  • 完全自动化:该解决方案将接受的数据作为输入,并生成可使用的 TensorFlow 模型作为输出,整个过程无需人工干预。

  • 通用:该解决方案适用于大多数时间序列预测任务,并会自动为每项任务找寻最佳的模型配置。

  • 高质量:与那些专为特定任务而人工构建的模型相比,该解决方案生成的模型质量更具竞争力。

  • TensorFlow
    https://tensorflow.google.cn/

我们在参加 M5 预测比赛时证明了这种方法的可行性。与人工构建的模型相比,AutoML 解决方案生成的模型在性能方面更具竞争力,计算成本也适中。

  • M5 预测比赛
    https://mofc.unic.ac.cy/m5-competition/

时间序列预测面临的挑战

时间序列预测为机器学习模型带来了一些挑战。

首先,因为时间序列预测的目标是根据历史数据预测未来,所以通常具有很高的不确定性。与其他机器学习所遇到的问题不同,测试集(如未来的产品销售情况)可能会与从历史数据提取的训练集和验证集的分布有所不同。

其次,现实世界的时间序列数据经常存在数据缺失和间歇性高的问题,(如当大多数时间序列值都为 0 时)。一些时间序列任务可能没有可用的历史数据,并且存在冷启动问题,如预测新产品销售情况。

最后,因为我们的目标是构建完全自动化的通用解决方案,同一解决方案需要应用于不同的数据集,所以可能会在领域(产品销售情况、网络流量等)、粒度(每日、每小时等)、历史长度和特征类型(分类、数字、日期时间等)等方面存在显著差异。

AutoML 解决方案

为应对这些挑战,我们设计了端到端的 TensorFlow 流水线,其中包含专为时间序列预测打造的搜索空间。该流水线基于编码器-解码器架构。编码器将时间序列中的历史信息转换成一组向量,而解码器则会根据这些向量生成对未来的预测。受 SOTA 序列模型(如 Transformer 和 WaveNet)和时间序列预测中最佳做法的启发,我们的搜索空间包括注意力、扩张卷积、决断、跳过连接以及不同的特征变换等组件。生成的 AutoML 解决方案将搜索这些组件和核心超参数的最佳组合。

  • Transformer/注意力
    https://ai.googleblog.com/2017/08/transformer-novel-neural-network.html

  • WaveNet/扩张卷积
    https://deepmind.com/blog/article/wavenet-generative-model-raw-audio

为消除预测未来时间序列的不确定性,可通过搜索发现的顶级模型集合进行最终预测。顶级模型的多样性使得预测在面对不确定性时更加稳健,更不容易过拟合历史数据。为处理时间序列数据缺失问题,我们用可训练的向量填补数据缺口,并教会模型适应缺失的时间步长。为解决间歇性问题,我们不仅会预测未来每个时间步长的值,同时还会预测该时间步长下值不为零的概率,然后将这两步预测结合到一起。最后,我们发现自动搜索可以根据不同的数据集调整架构和超参数选项,从而使得 AutoML 解决方案普遍适用并将建模工作自动化。

在预测比赛中进行基准化分析

为对 AutoML 解决方案进行基准化分析,我们参加了 M 比赛系列中最新举办的 M5 预测比赛。这是预测社区最为重要的比赛之一,有着近 40 年的悠久历史。最近的比赛在 Kaggle 上举办,使用的是来自 Walmart 产品销售情况的数据集。由于数据集来自现实世界,这导致解决该问题颇具挑战。

  • M5 预测比赛
    https://mofc.unic.ac.cy/m5-competition/

  • Kaggle 上
    https://www.kaggle.com/c/m5-forecasting-accuracy/overview

我们用完全自动化的解决方案参加了本次比赛。最终排行榜显示,我们在 5558 名参赛者中排名第 138 位(前 2.5%),位列银牌区。参赛者有将近四个月的时间来构建模型。参与这场比赛的许多预测模型都需要几个月的人力工作来构建,但我们的 AutoML 解决方案在很短的时间内就找到了适用模型,并且计算成本适中(2 小时 500 个 CPU),也没有人工干预。

  • 最终排行榜
    https://www.kaggle.com/c/m5-forecasting-accuracy/leaderboard

我们还在其他几个 Kaggle 数据集上对 AutoML 预测解决方案进行了基准化分析。结果证实,尽管使用的资源有限,但平均而言,其性能表现要优于 92% 的人工构建模型。

对 M5 以外的其他 Kaggle 数据集(Rossman Store Sales、Web Traffic 和 Favorita Grocery Sales)应用 AutoML 预测解决方案的评估

这项工作证明了针对时间序列预测的端到端 AutoML 解决方案的有效性,我们期待该解决方案能在未来为现实世界应用带来更多影响。

致谢

此项目是 Google Brain 团队成员 Chen Liang、Da Huang、Yifeng Lu 和 Quoc V. Le 共同努力的结果。同时还要感谢 Junwei Yuan、Xingwei Yang、Dawei Jia、Chenyu Zhao、Tin-yun Ho、Meng Wang、Yaguang Li、Nicolas Loeff、Manish Kurse、Kyle Anderson 和 Nishant Patil 的倾力合作。

更多 AI 相关阅读:

  • 大型语言模型中的隐私考量

  • 推出 Pr-VIPE:识别图像和视频中的姿态相似度

  • 基于端到端可迁移深度强化学习的图优化

  • 智能滚动:让转录后的文本编辑、共享和搜索更容易

  • Vision Transformer:用于大规模图像识别的 Transformer

利用 AutoML 进行时间序列预测相关推荐

  1. R 利用回归分析与时间序列预测北京市PM2.5

    注:代码全部在最后,数据来源UCI,链接如下: https://archive.ics.uci.edu/ml/datasets/Beijing+PM2.5+Data 摘要 现代社会科技进步,人们的生活 ...

  2. python短期预测图_Python中利用长短期记忆模型LSTM进行时间序列预测分析

    原文链接:http://tecdat.cn/?p=6663 此示例中,神经网络用于使用2011年4月至2013年2月期间的数据预测都柏林市议会公民办公室的能源消耗. 每日数据是通过总计每天提供的15分 ...

  3. Python中利用LSTM模型进行时间序列预测分析

    时间序列模型 时间序列预测分析就是利用过去一段时间内某事件时间的特征来预测未来一段时间内该事件的特征.这是一类相对比较复杂的预测建模问题,和回归分析模型的预测不同,时间序列模型是依赖于事件发生的先后顺 ...

  4. 通过FEDOT将AutoML用于时间序列数据

    一个在具有间隙和非平稳性的真实数据上使用FEDOT和其他AutoML库的示例 大多数现代开源AutoML框架并没有广泛地涵盖时间序列预测任务.本文中我们将深入地研究AutoML框架之一FEDOT,它可 ...

  5. 使用 FEDOT 自动化时间序列预测

    大多数现代开源AutoML框架并没有广泛地涵盖时间序列预测任务.本文中我们将深入地研究AutoML框架之一FEDOT,它可以自动化时间序列预测的机器学习管道设计.因此,我们将通过时间序列预测的现实世界 ...

  6. 干货 | 时间序列预测类问题下的建模方案探索实践

    作者 | 陆春晖 责编 | Carol 出品 | AI科技大本营(ID:rgznai100) 背景 时间序列类问题是数据分析领域中一类常见的问题,人们有时需要通过观察某种现象一段时间的状态,来判断其未 ...

  7. MITRE:利用微生物组时间序列数据推断与宿主状态变化相关的特征

    文章目录 MITRE:利用微生物组时间序列数据推断与宿主状态变化相关的特征 热心肠日报 写在前面 主要结果 图1. MITRE通过对时间序列的微生物群落的系统发育信息进行学习,同宿主的状态改变联系起来 ...

  8. 深度学习多变量时间序列预测:LSTM算法构建时间序列多变量模型预测交通流量+代码实战

    深度学习多变量时间序列预测:LSTM算法构建时间序列多变量模型预测交通流量+代码实战 LSTM(Long Short Term Memory Network)长短时记忆网络,是一种改进之后的循环神经网 ...

  9. 深度学习多变量时间序列预测:GRU算法构建时间序列多变量模型预测交通流量+代码实战

    深度学习多变量时间序列预测:GRU算法构建时间序列多变量模型预测交通流量+代码实战 GRU是LSTM网络的一种效果很好的变体,它较LSTM网络的结构更加简单,而且效果也很好,因此也是当前非常流形的一种 ...

最新文章

  1. Tensorflow深度学习之十二:基础图像处理之二
  2. JavasSript实现秒转换为“天时分秒”控件和TDD测试方法应用
  3. 推荐常用算法之-基于内容的推荐(转自-BreezeDeus博主)
  4. 同步模式下的端口映射程序
  5. TopN算法与排行榜
  6. 一个关于Python字符串格式化输出的练习
  7. 练习1-2:编写一个 JAVA 程序,实现输出考试成绩的前三名。
  8. 2018年最佳深度学习书单
  9. html人物动画效果图,9款用HTML5/CSS3制作的动物、人物动画
  10. Android 使用代码设置selector 的图片或文字颜色
  11. 最小生成树的纠结_交流电之王-ChinaUnix博客
  12. sql exists_SQL Exists运算符–终极指南
  13. Ubuntu音频开发audacity(十)
  14. 远程连接ubuntu中mysql的数据库
  15. 华为hs8145v5如何改桥接_Linksys VelopAX5300和AC3900套装 Mesh组网实战 - 桥接
  16. phpbb简体中文语言包的安装
  17. 四大学术牛人教你如何阅读外国文献
  18. 正则表达式,数字位超过1位时,首位不为0
  19. mmwave studio使用
  20. nginx error_log 日志配置

热门文章

  1. flutter练习项目 漫画客户端
  2. 三种东西永远不要放到数据库里
  3. 以下不属于计算机软件系统的是___,计算机应用基_在线作业.doc
  4. paypal创始人_Paypal创始人的一些经历
  5. 五分钟学GIS | GIS服务器集群技术
  6. Qt跨平台Linux5-使用DEFINES来实现条件编译
  7. 一篇文章,采集四个网站,它们是阳光理政,图虫网,书伴网,半次元网
  8. 机器学习稀疏矩阵简介(附Python代码)
  9. MLP(多层神经网络)介绍
  10. 操作系统生产者与消费者问题代码实现