AAAI 2020 | 华为:短小时序,如何预测?——基于特征重构的张量ARIMA

2020 年 2 月 5 日 AI科技评论

作者 | 华为诺亚

编辑 | Camel

本文来源于公众号:诺亚实验室 

华为诺亚方舟实验室--企业智慧团队的最新研究成果《Block Hankel Tensor ARIMA for Multiple Short Time Series Forecasting》被AAAI 2020接收。

该研究借助多路延时变换技术将源时间序列数据增广为高阶张量,并巧妙将张量分解技术与经典时序预测模型ARIMA结合,进而提出了一种适用于多条时间序列的预测技术(BHT-ARIMA),尤其对于序列长度短、样本数量小的场景效果更佳。


1、研究背景

时间序列预测一直是常见但最具挑战性的任务之一。几十年来,它在统计,机器学习,数据挖掘,计量经济学,运筹学等许多领域都发挥了重要作用。例如,预测产品的供需可用于优化库存管理,排产规划和车辆调度等,这对于供应链优化的大多数方面都至关重要。在华为供应链场景中,因产品的特性——比如电子产品(手机或笔记本电脑)的销售周期很短(一般为1年),导致其原材料供应周期也很短。这样的情况下,其原料需求预测和产品销售预测都是基于非常短小的历史数据。

1.1 研究的问题

针对类似的场景,我们面临的问题:
a) 需要同时预测多条时间序列时考虑到序列(产品)之间的内在相互关系(如下图)
图1:生产一个产品比如一台Laptop所需的组件/原材料之间存在一定的内在关系。
  b)    时间序列大多是小样本(时间长度短,序列数量小),难以训练模型
  c)    实际生产中的时间序列都是非平稳、复杂波动变化大的 (如下图)

图2: 实际生产中某一item的月维度的需求量变化。
1.2 针对以上问题,现有技术不能解决?
  • 时间序列算法不适用于捕捉非线性高维特征,且预测多条序列效果差、耗时大;

  • 机器学习算法对特征的构造要求高无法有效捕捉序列之间的内在联系;

  • 深度学习算法模型需求大量数据训练且训练时间长,而时间序列具有小样本特性;

  • 张量分解算法虽然可以考虑到挖掘多条时间序列之间的关系,但主要适用于高阶时间序列,而短小时序数据通常为低阶张量。


1.3 技术背景-张量分解

张量是多维数据的专有名词。向量和矩阵可分别被认为是一阶和二阶张量。在现实世界中,很多数据比如视频等都是以张量形式存在。张量分解是一种强大的计算技术,通过将原数据分解从中提取有价值的特征。Tucker 分解是其中一种非常常用的张量分解模型。对于一个三阶张量, 由Tucker分解可以得到三个二阶的因子矩阵(factor matrix)和一个三阶的核张量(core tenor)。换句话说:Tucker 分解通过因子矩阵(也称作映射矩阵)将原张量映射到一个具有良好特性(比如low-rank)的核张量。核张量可以进一步被应用于分类、聚类、回归等任务中。如图所示:
图3:一个大小为 三阶张量 通过Tucker分解得到一个尺寸更小的核心张量 与三个因子矩阵 的乘积。

2、提出的技术方案

2.1 解决方案的创新点概述

针对预测多条小样本时间序列的问题,我们提出的解决方案主要有以下三个创新点是:

【数据增广(特征空间重构)】将小样本数据转换到高阶张量数据,得到数据量更大且特性更好(比如低秩等结构化特性)的多维数据(且不损失原始数据信息)。
【有约束的低秩张量分解】使用正交约束下的Tucker张量分解技术将增广后数据提取得到更小尺寸但质量更好的新特征(核心张量)。
【张量化ARIMA实现预测】将现有经典预测模型ARIMA模型张量化,然后直接使用分解得到的多维核心特征训练张量ARIMA进行预测。

2.2 实现步骤

具体来说,主要包括以下三个步骤:
步骤 1: 使用多路延迟嵌入变换技术(MDT)将多条短小的时间序列沿着时间维度转换为高阶多维数据。所得的高阶多维张量称之为“块汉克尔张量(Block Hankel Tensor, BHT)”。BHT具有低秩或平滑等良好特性,这比原始数据更容易学习和训练。实现过程如图4所示。举例,假设有1000条时间序列,每条序列的长度为40,即 I = 1000,T=40,设置参数t = 5,经MDT沿着时间维度变换后,得到一个1000*5*(40-5+1)=1000*5*36的三维张量。换句话说就是每条大小为1000*1 的向量变成每张大小为1000*5的矩阵切片,即变换成一个1000*5*36的三维张量。由此推之,对于更高维度的时间序列,比如视频数据,我们可以得到更高阶的张量。
图4:图(a)展示的是MDT技术里的映射矩阵S(在MDT里称之为重复矩阵) ;(b)展示一个尺寸为I *T的 矩阵通过映射矩阵S 沿着时间维度T方向做变换,得到一个三维张量数据;(c)进一步展示图(b)的案例: 分别是所有时间序列在每个时间点的值,经过MDT变换后每个一维向量变成一组矩阵。
在此,我们将数据只沿着时间维度上做变换,是因为其他非时间维度上的相邻关系并不很强相关(换句话说,可以任意置换不同时间序列之间的排序)。 因此在所有数据方向实施MDT是没有更多意义的,反而增加计算量(BHT阶数变高维度变大)。 不管怎么样,我们的算法是可以支持多方向同时做MDT得到更高阶(更多维数)的数据。
步骤 2: 步骤1得到BHT后,使用Tucker张量分解技术将其分解得到新的特征,称之为核心张量(core tensors)。这个分解过程需要一组共用的映射矩阵。现有的张量模型都会对每个数据维度方向上的映射矩阵加以约束,而我们只松弛时间维度上约束,即是只不在时间维度上加正交约束,而其他维度的正交约束不变,以更好地捕捉序列之间内在的相关性。与此同时,本研究将现有的经典预测算法(ARIMA)张量化使之可以直接处理多维数据。
步骤 3: 预测。我们直接使用核心张量训练张量ARIMA模型以预测得到新的核心张量,然后通过Tucker 逆变换 和MDT逆变换 ,同时得到所有序列的预测值。这样不仅减少了计算量(因核心张量尺寸更小),而且通过在模型构建过程中利用多个时间序列之间的相互关系提高了预测精度。
综上,我们得到新的预测算法,命名为 BHT-ARIMA ,其工作流程示意图如下:
(a) BHT-ARIMA应用在二阶时间序列数据(矩阵)
(b)BHT-ARIMA 应用在三阶张量时间序列数据
图5: 算法BHT-ARIMA的工作流程图。 通过MDT技术将源数据(多条时间序列)变换到高阶张量时间序列BHT。 再进一步利用张量分解技术(Tucker 分解) 从BHT提取新特征(核心张量G)。 与此同时,直接将这些核心张量训练张量ARIMA模型得到新的核心张量。 新的核心张量通过逆张量分解和逆MDT变换后得到源序列的预测值。
本研究将数据增广变换技术、低秩张量分解技术、张量预测模型三者各自的优势融入到一个统一框架中,不仅速度更快,更可捕捉到多条时序之间内在关系,从而可以改善预测结果,特别是对于短小的数据。 接下来,我们通过大量实验验证BHT-ARIMA的实际效果。

3、实验验证

我们将BHT-ARIMA应用在3个公开时间序列数据集:Electricity, Traffic, Smoke video 和2个华为供应链数据集:PC sales 和Raw Materials, 对比了九种常用或最新的算法:
  • 经典的ARIMA,VAR和XGBoost

  • 两种流行的工业界预测方法:Facebook-Prophet 和Amazon-DeepAR

  • 两种基于神经网络的方法:TTRNN和GRU

  • 两种基于矩阵/张量的方法:TRMF和MOAR

此外,我们将块汉克尔张量BHT作为MOAR的输入,得到新的算法“BHT + MOAR”以评估MDT结合张量分解的有效性。
我们通过对比不同长度和样本数目的时间序列,结果以误差NRMSE衡量预测准确率。 结果如Table 1 和 2 所示: BHT-ARIMA 在四个数据集上超越所有对比的方法,且在较短/较小的时间序列上具有更多优势。 整体来说, BHT-ARIMA比其他算法降低预测误差平均10%以上。
图6:在视频Smoke Video不同比例训练样本下的预测结果
我们进一步在更高阶的视频数据上测试。如图6所示,BHT-ARIMA在不同的训练集(甚至只有10%的训练样本)上持续保持其优势。尽管ARIMA可以使用超过50%的训练数据来获得比BHT-ARIMA稍好的预测结果,但它的计算成本和存储要求却非常高——因为像其他线性模型一样,它们无法直接处理张量数据只能将其变形为高维向量。
图7: 在Traffic 和Raw material 数据集上的长期(多步)预测结果
图7展示了长期预测结果的比较,进一步证实了BHT-ARIMA的良好性能。预测更多的步骤,所有方法的误差通常都会增加,而BHT-ARIMA始终在整体上保持其最佳性能,尤其是在较短的Raw materials 数据集上。虽然在Traffic80数据集上进行15步预测后,GRU的性能略胜于我们的方法,但它的计算时间是BHT-ARIMA的近900倍。
最后,我们对比所有方法的训练时间,如Table 3 所示。整体来说,BHT-ARIMA是运行第二快的算法——我们主要关注准确性因而暂未针对效率优化代码。尽管TRMF在某些情况下比VAR慢一些,但由于其核心部分是由C语言编程实现的,因此它总体上是最快的。虽然在一些测试中GRU和ARIMA的预测结果排列第二甚至超BHT-ARIMA,但它们是最慢的方法(平均比我们的算法慢500倍以上)。

4、总结

本研究首次将MDT变换技术与Tucker分解结合并引入时间序列预测领域。通过MDT得到的高阶张量BHT不仅增广了数据且具有低秩等良好的结构,从而改善了模型输入——尤其是对于短小样本数据。

然后进一步使用Tucker分解得到尺寸更小但特性更好的核心张量,再结合张量ARIMA快速训练得到预测结果。这样,所提出的算法BHT-ARIMA巧妙地将MDT增广数据、张量分解、ARIMA这三个技术的独特优势结合在一个统一的模型中。

通过测试公开数据集和华为的供应链数据,验证BHT-ARIMA持续地比现有预测算法更快更好(平均提升100+倍速度和10%+的预测精度),有效解决多条(短小)时间序列同时预测的问题。目前我们团队正在将此技术落地在实际项目中。

如果您对我们的研究感兴趣,欢迎来信 shi.qiquan@huawei.com 索取原文/代码及进一步讨论与合作。 

[1] Qiquan Shi, Jiaming Yin, Jiajun Cai, Andrzej Cichocki, Tatsuya Yokota, Lei Chen, Mingxuan Yuan, Jia Zeng, “Block Hankel Tensor ARIMA for Multiple Short Time Series Forecasting”.AAAI, 2020.

AAAI 2020 报道:

新型冠状病毒疫情下,AAAI2020 还去开会吗?

美国拒绝入境,AAAI2020现场参会告吹,论文如何分享?


AAAI 2020 论文集:
AAAI 2020 论文解读会 @ 望京(附PPT下载)
AAAI 2020上的NLP有哪些研究风向?


AAAI 2020 论文解读系列:

01. [中科院自动化所] 通过识别和翻译交互打造更优的语音翻译模型
02. [中科院自动化所] 全新视角,探究「目标检测」与「实例分割」的互惠关系
03. [北理工] 新角度看双线性池化,冗余、突发性问题本质源于哪里?
04. [复旦大学] 利用场景图针对图像序列进行故事生成
05. [腾讯 AI Lab] 2100场王者荣耀,1v1胜率99.8%,腾讯绝悟 AI 技术解读
06. [复旦大学] 多任务学习,如何设计一个更好的参数共享机制?
07. [清华大学] 话到嘴边却忘了?这个模型能帮你 | 多通道反向词典模型
08. [北航等] DualVD: 一种视觉对话新框架
09. [清华大学] 借助BabelNet构建多语言义原知识库
10. [微软亚研] 沟壑易填:端到端语音翻译中预训练和微调的衔接方法
11. [微软亚研] 时间可以是二维的吗?基于二维时间图的视频内容片段检测
12. [清华大学] 用于少次关系学习的神经网络雪球机制

13. [中科院自动化所] 通过解纠缠模型探测语义和语法的大脑表征机制

14. [中科院自动化所] 多模态基准指导的生成式多模态自动文摘

15. [南京大学] 利用多头注意力机制生成多样性翻译

16. [UCSB 王威廉组] 零样本学习,来扩充知识图谱(视频解读)

17. [上海交大] 基于图像查询的视频检索,代码已开源!

18. [奥卢大学] 基于 NAS 的 GCN 网络设计(视频解读)
19. [中科大] 智能教育系统中的神经认知诊断,从数据中学习交互函数
20. [北京大学] 图卷积中的多阶段自监督学习算法
21. [清华大学] 全新模型,对话生成更流畅、更具个性化(视频解读,附PPT)
22. [华南理工] 面向文本识别的去耦注意力网络
23. [自动化所] 基于对抗视觉特征残差的零样本学习方法
24. [计算所] 引入评估模块,提升机器翻译流畅度和忠实度(已开源)
25. [北大&上交大] 姿态辅助下的多相机协作实现主动目标追踪
26. [快手] 重新审视图像美学评估 & 寻找精彩片段聚焦点
27. [计算所&微信AI] 改进训练目标,提升非自回归模型翻译质量(已开源)
28. [中科院&云从科技]: 双视图分类,利用多个弱标签提高分类性能
29. [中山大学] 基于树状结构策略的渐进强化学习
30. [东北大学] 基于联合表示的神经机器翻译(视频解读)
31. [计算所]引入评估模块,提升机器翻译流畅度和忠实度(视频解读)
32. [清华大学]用于少次关系学习的神经网络雪球机制(视频解读)
33. [计算所]非自回归机器翻译,基于n元组的训练目标(视频解读)
34. [清华大学] 司法考试数据集(视频解读,附下载链接)
35. [自动化所] 弱监督语义分割(视频解读)
36. [自动化所] 稀疏二值神经网络,不需要任何技巧,取得SOTA精度(视频解读)
37. [华科&阿里] 从边界到文本—一种任意形状文本的检测方法
38. [上交大&云从科技] DCMN+ 模型:破解「阅读理解」难题,获全球领先成绩
39. [自动化所&微信AI] 双通道多步推理模型,更好解决视觉对话生成问题
40. [ETH Zurich] 反向R? 削弱显著特征为细粒度分类带来提升
41. [中科大] RiskOracle: 一种时空细粒度交通事故预测方法


更多AAAI 2020信息,将在「AAAI 2020 交流群」中进行,加群方式:添加AI研习社顶会小助手(AIyanxishe2),备注「AAAI」,邀请入群。

   


点击“阅读原文” 前往 AAAI 2020 专题页

登录查看更多
13

相关内容

时间序列(或称动态数列)是指将同一统计指标的数值按其发生的时间先后顺序排列而成的数列。时间序列分析的主要目的是根据已有的历史数据对未来进行预测。经济数据中大多数以时间序列的形式给出。根据观察时间的不同,时间序列中的时间可以是年份、季度、月份或其他任何时间形式。
【ICML2020-华为港科大】RNN和LSTM有长期记忆吗?
专知会员服务
74+阅读 · 2020年6月25日
【斯坦福大学博士论文】自监督场景表示学习, 97页pdf
专知会员服务
93+阅读 · 2020年6月19日
基于深度学习的多标签生成研究进展
专知会员服务
142+阅读 · 2020年4月25日
论文浅尝 | 基于复杂查询图编码的知识库问答
开放知识图谱
17+阅读 · 2019年7月22日
论文浅尝 | 时序与因果关系联合推理
开放知识图谱
35+阅读 · 2019年6月23日
论文浅尝 | 推荐系统的可解释性浅谈
开放知识图谱
15+阅读 · 2018年11月27日
R语言之数据分析高级方法「时间序列」
R语言中文社区
17+阅读 · 2018年4月24日
【机器学习】基于TensorFlow搭建一套通用机器学习平台
超级干货 :一文读懂特征工程
数据分析
9+阅读 · 2017年9月6日
【技术分享】基于双流递归神经网络的人体骨架行为识别
机器学习研究会
5+阅读 · 2017年9月1日
回归预测&时间序列预测
GBASE数据工程部数据团队
43+阅读 · 2017年5月17日
Arxiv
6+阅读 · 2018年8月27日
Arxiv
5+阅读 · 2017年11月13日
Arxiv
5+阅读 · 2015年9月14日
VIP会员
相关VIP内容
【ICML2020-华为港科大】RNN和LSTM有长期记忆吗?
专知会员服务
74+阅读 · 2020年6月25日
【斯坦福大学博士论文】自监督场景表示学习, 97页pdf
专知会员服务
93+阅读 · 2020年6月19日
基于深度学习的多标签生成研究进展
专知会员服务
142+阅读 · 2020年4月25日
相关资讯
论文浅尝 | 基于复杂查询图编码的知识库问答
开放知识图谱
17+阅读 · 2019年7月22日
论文浅尝 | 时序与因果关系联合推理
开放知识图谱
35+阅读 · 2019年6月23日
论文浅尝 | 推荐系统的可解释性浅谈
开放知识图谱
15+阅读 · 2018年11月27日
R语言之数据分析高级方法「时间序列」
R语言中文社区
17+阅读 · 2018年4月24日
【机器学习】基于TensorFlow搭建一套通用机器学习平台
超级干货 :一文读懂特征工程
数据分析
9+阅读 · 2017年9月6日
【技术分享】基于双流递归神经网络的人体骨架行为识别
机器学习研究会
5+阅读 · 2017年9月1日
回归预测&时间序列预测
GBASE数据工程部数据团队
43+阅读 · 2017年5月17日
Top
微信扫码咨询专知VIP会员