使用 AutoML 进行时间序列预测
视频介绍:使用 AutoML 进行时间序列预测
时间序列预测是机器学习 (ML) 的一个重要研究领域,尤其是在准确预测至关重要的领域,包括零售、供应链、能源、金融等多个行业。例如,在消费品领域,提高准确性需求预测的 10-20% 可以减少 5% 的库存和增加 2-3% 的收入。当前基于 ML 的预测解决方案通常由专家构建,需要大量的手动工作,包括模型构建、特征工程和超参数调整。但是,此类专业知识可能无法广泛使用,这可能会限制将 ML 应用于时间序列预测挑战的好处。
为了解决这个问题,自动机器学习(AutoML) 是一种通过自动化创建 ML 模型的过程使 ML 更广泛可用的方法,并且最近加速了 ML 研究和 ML 在实际问题中的应用。例如,神经架构搜索的初期工作使计算机视觉(如NasNet、AmoebaNet和EfficientNet)和自然语言处理(如Evolved Transformer)取得了突破。最近,AutoML 也被应用于表格数据。
今天,我们为时间序列预测推出了一个可扩展的端到端 AutoML 解决方案,它满足三个关键标准:
全自动:该解决方案将数据作为输入,并生成一个可服务的TensorFlow模型作为输出,无需人工干预。
通用:该解决方案适用于大多数时间序列预测任务,并自动为每个任务搜索最佳模型配置。
高品质:与为特定任务手工制作的模型相比,所生产的模型具有具有竞争力的质量。
我们通过参加M5 预测竞赛证明了这种方法的成功,在该竞赛中,该 AutoML 解决方案以中等计算成本与手工制作的模型相比取得了具有竞争力的性能。
挑战时间序列预测
时间序列预测带来了一些挑战,以机器学习模型。首先,不确定性通常很高,因为目标是根据历史数据预测未来。与其他机器学习问题不同,测试集(例如未来的产品销售)可能与从历史数据中提取的训练和验证集具有不同的分布。其次,来自现实世界的时间序列数据往往存在数据缺失和高间歇性的问题(即,当时间序列的大部分值为零时)。一些时间序列任务可能没有可用的历史数据并且会遇到冷启动问题,例如,在预测新产品的销售情况时。第三,由于我们的目标是构建一个完全自动化的通用解决方案,因此相同的解决方案需要应用于各种数据集,这些数据集在领域(产品销售、网络流量等)、粒度(每天、每小时等)方面可能会有很大差异)、历史长度、特征类型(分类、数字、日期时间等)等。
AutoML 解决方案
为了应对这些挑战,我们设计了一个端到端的 TensorFlow 管道,其中包含用于时间序列预测的专门搜索空间。它基于编码器-解码器架构,其中编码器将时间序列中的历史信息转换为一组向量,解码器基于这些向量生成未来预测。受最先进的序列模型(如Transformer和WaveNet)以及时间序列预测最佳实践的启发,我们的搜索空间包括诸如注意力、扩张卷积、门控、跳跃连接等组件,以及不同的特征变换。生成的 AutoML 解决方案会搜索这些组件以及核心超参数的最佳组合。
为了对抗预测时间序列未来的不确定性,使用搜索中发现的顶级模型的集合来进行最终预测。顶级模型的多样性使预测对不确定性更加稳健,并且不太容易过度拟合历史数据。为了处理缺失数据的时间序列,我们用一个可训练的向量填补空白,让模型学习适应缺失的时间步长。为了解决间歇性问题,我们对每个未来的时间步长不仅预测该值,而且预测该时间步长的值不为零的概率,并将这两个预测结合起来。最后,我们发现自动搜索能够为不同的数据集调整架构和超参数选择,这使得 AutoML 解决方案具有通用性并自动化建模工作。
预测竞赛中的
基准测试 为了对我们的 AutoML 解决方案进行基准测试,我们参加了M5 预测竞赛,这是M 竞赛系列中最新的一项,这是预测界最重要的竞赛之一,有着近 40 年的悠久历史。最近的比赛是在 Kaggle 上举办的,并使用了沃尔玛产品销售的数据集,其真实世界的性质使得这个问题非常具有挑战性。
我们使用我们的全自动解决方案参加了比赛,并在最终排行榜上的 5558 名参与者中获得了 138 名(前 2.5%),位于银牌区。比赛的参与者有将近四个月的时间来制作他们的模型。虽然许多具有竞争力的预测模型需要花费数月的人工来创建,但我们的 AutoML 解决方案在短时间内找到了模型,计算成本适中(2 小时 500 个 CPU)且无需人工干预。
我们还在其他几个 Kaggle 数据集上对我们的 AutoML 预测解决方案进行了基准测试,发现尽管资源使用有限,但它平均优于 92% 的手工模型。
这项工作展示了用于时间序列预测的端到端 AutoML 解决方案的优势,我们对其对现实世界应用程序的潜在影响感到兴奋。
更新说明:优先更新微信公众号“雨夜的博客”,后更新博客,之后才会陆续分发到各个平台,如果先提前了解更多,请关注微信公众号“雨夜的博客”。
博客来源:雨夜的博客