达摩院提出时序预测新模型 有效提升预测精准度

article/2025/8/19 13:55:40

作者:周天(舟恬)     达摩院决策智能实验室

时间序列预测在能源、气象等众多领域都有着广泛应用,达摩院提出了基于频域分解的FEDformer模型,大幅提高了预测精度和模型运行效率,本文将为大家介绍达摩院在时间序列预测方向的最新进展。

给定一段时期的历史数据,AI要如何准确预测天气变化、电网负荷需求、交通拥堵状况?这其实是个时序预测问题,通俗理解就是利用历史数据预测未来信息。预测可分为短期、中期和长期预测,需要预测的时间窗口越长,预测难度就越大。这项技术在气象、电力、零售、交通等诸多行业有广泛应用。

传统的时序预测模型一般采用LSTM、CNN等方法,精准度和使用场景都较为有限,无力处理大规模数据。近些年来,研究人员开始将transformer模型引入长时序预测,但效果仍不够理想,简单地说该模型核心中的注意力机制模块对时序数据不够敏感。

达摩院近期提出一种长时序预测的新模型FEDformer,精准度比业界最优方法提升14.8%以上,值得一提的是,该模型已走出实验室,在区域电网完成概念验证,明显提升电网负荷预测准确率。

相关论文已被机器学习顶会ICML2022收录,本文将介绍阿里巴巴达摩院决策智能实验室时间序列预测方向的最新(ICML 2022 accepted)工作,相关论文及代码可至文末查看。

一、引言

时间序列预测在众多领域中(例如电力、能源、天气、交通等)都有广泛的应用。时间序列预测问题极具挑战性,尤其是长程时间序列预测(long-term series forecasting)。在长程时间序列预测中,需要根据现有的数据对未来做出较长时段的预测。在部分场景中,模型输出的长度可以达到1000以上,覆盖若干周期。该问题对预测模型的精度和计算效率均有较高的要求。且时间序列往往会受到分布偏移和噪音的影响,使得预测难度大大增加。

针对时间序列问题,传统的RNN、LSTM等Recurrent模型,在训练时容易受到梯度消失和爆炸的影响,尤其是面对更加长程的序列时。且这类Recurrent的模型无法并行计算,限制了其在大规模问题上的应用。

基于Transformer的时间序列预测,通过Attention机制捕捉point-wise的关系,能够在时序预测中取得较好效果,但仍存在较大不足。Informer、Autoformer等文章对传统Attention机制进行了改进,在提高计算效率的同时能够取得较好的效果。传统Transformer为平方复杂度,Autoformer (NeurIPS'21)、Informer (AAAI'21 Best paper)、Reformer (ICLR'2020) 等模型能够达到log-线性复杂度,而本文作者所提出的FEDformer因使用了 low-rank approximation 而可以达到线性复杂度,并在精度上大幅超越SOTA(state-of-the-art)结果。

二、分析

Transformer在CV、NLP等领域取得了很好的效果,但在时间序列预测问题上,情况会更复杂。例如在图片分类问题中,训练集和测试集的图片基本采样自相同的分布,然而在时间序列预测问题中,序列的分布可能随时间轴的推进不断变化,这就需要模型具备更强的外推能力。如下图所示,因为模型输入(input)和真实值(true)的分布差异较大,导致模型的预测值(predict)不准确。(分布差异的大小可以通过Kologrov-Smirnov test来检验)。

为了解决这个问题,作者提出了两种思路:

  1. 通过周期趋势项分解(seasonal-trend decomposition)降低输入输出的分布差异;

  2. 提出了一种在频域应用注意力机制的模型结构,以增加对噪声的鲁棒性。

三、FEDformer

FEDformer的主体结构(backbone)采用编码-解码器结构,内部包括四种子模块:频域学习模块(Frequency Enhanced Block)、频域注意力模块(Frequency Enhanced Attention)、周期-趋势分解模块(MOE Decomp)、前向传播模块(Feed Forward)。

3.1 主体架构

FEDformer 的主体架构采用编码-解码器架构。周期-趋势分解模块(MOE Decomp)将序列分解为周期项(seasonal,S)和趋势线(trend,T)。而且这种分解不只进行一次,而是采用反复分解的模式。

在编码器中,输入经过两个 MOE Decomp 层,每层会将信号分解为 seasonal 和 trend 两个分量。其中,trend 分量被舍弃,seasonal分量交给接下来的层进行学习,并最终传给解码器。

在解码器中,编码器的输入同样经过三个 MOE Decomp 层并分解为 seasonal 和 trend 分量,其中,seasonal 分量传递给接下来的层进行学习,其中通过频域Attention(Frequency Enhanced Attention)层对编码器和解码器的 seasonal 项进行频域关联性学习,trend 分量则进行累加最终加回给 seasonal 项以还原原始序列。

3.2 频域上的表征学习

傅立叶变换和逆傅立叶变换可以将信号在时域和频域之间相互转换。一般信号在频域上具有稀疏性,也就是说,在频域上只需保留很少的点,就能几乎无损的还原出时域信号。保留的点越多,信息损失越少,反之亦然。

虽然无法直接理论证明在频域上应用各种神经网络结构能够得到更强的表征能力。但在实验中发现,引入频域信息可以提高模型的效果,这个现象已经得到近期越来越多论文的证实。

FEDformer 中两个最主要的结构单元的设计灵感正是来源于此。Frequency Enchanced Block(FEB)和 Frequency Enhanced Attention(FEA)具有相同的流程:频域投影 -> 采样 -> 学习 -> 频域补全 -> 投影回时域:

  1. 首先将原始时域上的输入序列投影到频域。

  2. 再在频域上进行随机采样。这样做的好处在于极大地降低了输入向量的长度进而降低了计算复杂度,然而这种采样对输入的信息一定是有损的。但实验证明,这种损失对最终的精度影响不大。因为一般信号在频域上相对时域更加“稀疏”。且在高频部分的大量信息是所谓“噪音”,这些“噪音”在时间序列预测问题上往往是可以舍弃的,因为“噪音”往往代表随机产生的部分因而无法预测。相比之下,在图像领域,高频部分的“噪音”可能代表的是图片细节反而不能忽略。

  3. 在学习阶段,FEB 采用一个全联接层 R 作为可学习的参数。而 FEA 则将来自编码器和解码器的信号进行cross-attention操作,以达到将两部分信号的内在关系进行学习的目的。

  4. 频域补全过程与第2步频域采样相对,为了使得信号能够还原回原始的长度,需要对第2步采样未被采到的频率点补零。

  5. 投影回时域,因为第4步的补全操作,投影回频域的信号和之前的输入信号维度完全一致。

3.3 低秩近似(low-rank approximation)

传统Transformer中采用的Attention机制是平方复杂度,而 Frequency Enhanced Attention(FEA)中采用的Attention是线性复杂度,这极大提高了计算效率。因为 FEA 在频域上进行了采样操作,也就是说:“无论多长的信号输入,模型只需要在频域保留极少的点,就可以恢复大部分的信息”。采样后得到的小矩阵,是对原矩阵的低秩近似。作者对 低秩近似与信息损失的关系进行了研究,并通过理论证明,在频域随机采样的低秩近似法造成的信息损失不会超过一个明确的上界。证明过程较为复杂,有兴趣的读者请参考论文原文。

3.4 傅立叶基和小波基

以上篇幅均基于傅立叶变换进行介绍,同理,小波变换也具有相似的性质,因而可以作为FEDformer的一个变种。傅立叶基具有全局性而小波基具有局部性。作者通过实验证明,小波版的FEDformer可以在更复杂的数据集上得到更优的效果,但小波版的FEDformer运行时间也会更长。

四、实验

4.1 Benchmark实验

作者在6个数据集上进行了模型效果实验,实验数据集包括电力,经济,交通,气象,疾病五个领域,并选取了最新的Baseline模型,包括Autoformer (NeurIPS'21)、Informer (AAAI'21 Best paper)、LogTrans (NeurIPS'2019)、Reformer (ICLR 2020) 等进行对比。FEDformer在多维时间序列预测实验中相比SOTA模型可以取得14.8%的提升(如下表) ,在一维时间序列预测实验中相比SOTA模型可以取得22.6%的提升(详情见论文)。

FEDformer具有较好的鲁棒性,在重复多次进行实验后,最终MSE指标在均值较小的同时也能做到方差较小。FEDformer模型中在FEB和FEA模块中均具有随机采样的过程。也就是说不同随机种子下得到的FEDformer模型所采样得到的频率是不同的,但这种随机性并不会体现在最终效果上,也就是说并不会使模型的鲁棒性有损。

4.2 基频采样实验

作者通过实验讨论了,在FEB和FEA模块中,在频域采样保留多少个点对最终效果的影响如何。

4.3 模型速度和内存的实验

在不断增加输出长度的条件下,FEDformer因其线性复杂度而在运行速度和内存占用上增加很少,相比Transformer(平方复杂度)和 Autoformer/Infomer(log-线性复杂度)具有较大优势。

五、总结

针对长时间序列预测问题,作者提出了基于频域分解的FEDformer模型。大幅提高了预测精度和模型运行效率。

作者提出了一种基于傅立叶/小波变换的模块,通过在频域进行固定数量的随机采样,使得模型达到线性复杂度同时提高精度。

作者通过实验证明,在涵盖电力,交通,经济,气象,疾病五个领域的6个标准数据集上,FEDformer可以在多维/一维时间序列预测问题上分别取得14.8%和22.6%的提升(相比NeurIPS'21的SOTA模型Autoformer),并具有良好的鲁棒性。

特别指出的是,我们的方法初步证明了在深度学习网络中利用时序频域信息的有效性。未来,我们将继续探索如何更好的利用时间序列的频域信息来构建网络,在时序预测、异常检测中取得更好的效果。

延伸阅读:达摩院时序智能方向近期相关工作

论文链接:https://arxiv.org/abs/2201.12740

代码链接:https://github.com/DAMO-DI-ML/ICML2022-FEDformer

[1] [Survey] Qingsong Wen, Tian Zhou, Chaoli Zhang, Weiqi Chen, Ziqing Ma, Junchi Yan, Liang Sun, "Transformers in Time Series: A Survey," arXiv preprint arXiv:2202.07125 (2022).

https://github.com/qingsongedu/time-series-transformers-review

[2] [Quatformer] Weiqi Chen, Wenwei Wang, Bingqing Peng, Qingsong Wen, Tian Zhou, Liang Sun, "Learning to Rotate: Quaternion Transformer for Complicated Periodical Time Series Forecasting", in Proc. 28th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining (KDD'22), Washington DC, Aug. 2022.

[3] [KDD'22 Tutorial] Qingsong Wen, Linxiao Yang, Tian Zhou, Liang Sun, "Robust Time Series Analysis and Applications: An Industrial Perspective," in the 28th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining (KDD'22), Washington DC, USA, Aug. 14-18, 2022.

https://qingsongedu.github.io/timeseries-tutorial-kdd-2022/

[4] [IJCAI'22 Tutorial] Qingsong Wen, Linxiao Yang, Tian Zhou, Liang Sun, "Robust Time Series Analysis: from Theory to Applications in the AI Era," in the 31st International Joint Conference on Artificial Intelligence (IJCAI 2022), Vienna, Austria, Jul. 23-29, 2022.

https://sites.google.com/view/timeseries-tutorial-ijcai-2022


http://chatgpt.dhexx.cn/article/9uNcF08V.shtml

相关文章

如何提高项目估算精准度?关键看5大影响因子

如何让项目估算工作更加精准,我们需要重点关注5大调整因子。 1、功能点调整因子 首先需要对功能点因子进行调整,区分不同类型的系统特征值。 因为不同的系统,对项目开发的影响程度不同,一般我们把系统特征值分为14种类型&#xff…

如何保障定位系统的精准度

如何保障定位系统的精准度 强大的硬件支撑 不管定位系统的算法多么厉害,定位系统想要保障定位精度,首先必须要有强大的硬件基础,定位基站需要足够的覆盖距离,硬件抗环境干扰能力强大(特别是对于其他无线信号的干扰&a…

如何一步让你图像分类达到90%以上精准度

这段时间一直在做图像分类相关的项目,也认识了很多这个领域的小伙伴们,有不少小伙伴们都是刚接触图像分类,对着各种个样的图像分类算法:AlexNet、VGG-16、VGG-19、ResNet…都是一脸茫然,到底针对我的图像分类项目&…

景联文智能标注平台将数据处理效率提升十倍以上!数据精准度最高可达99%

目前主流的机器学习方式是以有监督的深度学习方式为主,这对标注数据有着强较依赖性需求,未经标注处理过的原始数据多以非结构化数据为主,这些数据难以被机器识别和学习。这就需要标注员借助数据标注工具对数据进行标注。 使用高效率的标注工具…

智能制造 | 机器视觉系统,直击纺织行业人工质检痛点难点,提升缺陷检出精准度至99.9%

梭子来回穿过其间,双脚规律轻踩踏板,机杼声悠悠然传过耳边,这似乎是大多数人对于《木兰辞》中“唧唧复唧唧”的概念。古时候,纺织是重要的农业活动,现如今,纺织服装面料产品的质量也和人们的生活息息相关。…

如何提高项目估算精准度 关键有3方面

软件规模可以用多种方式进行估算,但是用功能点估算方式更准确,而自动估算让估算更快速,我们以CoCode需求分析工具为例来说明,如何提高项目估算精准度? 一、调整功能点数 要提高项目估算精准度,首先应该提高…

Python基础篇:某宝一键秒杀,毫秒级的精准度

某宝秒杀,用毫秒级的精准度来抢购! 前言 还记得前段时间情人节,各种产品活动秒杀。结果有对象的辣条自然少不了被对象一番折磨 (注意:不是new出来的哈,也不是橡胶的,实实在在的女朋友&#xf…

python比较两张图片并获取精准度

先安装依赖库dlib、face_recognition、cv2 下载wheel文件: python3.6: dlib-19.7.0-cp36-cp36m-win_amd64.whl: https://drfs.ctcontents.com/file/1445568/768652503/68cb5d/Python/dlib-19.7.0-cp36-cp36m-win_amd64.whl python3.7: dlib-19.17.99-cp3…

[其他]准确度与精确度的区别

一、摘要 本文是对Lesson2:Precision and Accuracy的翻译。查看原文请点击连接。 二、原文翻译 在日常口语中 精确度(precision) 和 准确度(accuracy) 一般表示相同的意思。但是在物理学科领域并不是这样的: 精确度(precision):表示经过一系列的实验测…

【算法】高精度

作者:指针不指南吗 专栏:算法篇 🐾不能只会思路,必须落实到代码上🐾 文章目录 前言一、高精度加法二、高精度减法二、高精度减法三、高精度乘法四、高精度除法 前言 ​ 高精度即很大很大的数,超过了 long …

寥寥几段文字就说清楚了什么是精确度和召回率

学习和研究机器学习、深度学习的人经常会需要对AI模型的效果进行判定,其中最常用到的判定依据是精确度(Precision,又称为准确度、精准度)和召回率(Callback)。到底什么是精确度和召回率?它们的本质区别是什么?本文讨论这些问题。 …

试验数据的精准度

文章目录 1 精密度2 正确度3 准确度【参考】【修改记录】 1 精密度 精密度(precision): (1)含义:反映了随机误差大小的程度。 (2)说明: 可以通过增加试验次数而达到提高…

宾馆客房管理系统Mysql数据库课程设计

引 言 随着全球经济一体化使酒店业客源更加丰富多样化,市场更加广阔多渠道的同时,酒店业更面临着日趋激烈的竞争环境和不断攀升的客户期望,迫使业内人士不断进一步寻求扩大酒店销售、改进服务质量、降低管理成本和提升客户满意度的新法宝来增…

酒店客房住宿预定管理系统(ssm,mysql)

酒店客房住宿预定管理系统(ssm,mysql) (毕业论文11589字以上,共32页,程序代码,MySQL数据库) 代码下载: 链接:https://pan.baidu.com/s/1TZKNh17VthZHIRpBLnsjGA 提取码:8888 【运行环境】 Idea Eclipse MyEclipse J…

酒店管理系统程序设计

酒店管理系统程序设计 随着计算机技术的飞速发展,信息时代的到来,信息改变了我们这个社会。各类行业在日常经营管理各个方面也在悄悄地走向规范化和网络化。市场经济的发展,消费者消费意识的提高,酒店行业的竞争越来越激烈。为了…

JAVA酒店管理系统

目录 E-R图 数据库搭建 功能模块 代码部分 E-R图 数据库搭建 功能模块 1.首先要通过 JAVA 代码连接数据库,通过 jdbc 插件2.设计主菜单、子菜单,里面内容是管理酒店的各种操作,我会设置相应的功能模块完成操作。3.要使这个系统能够持续…

酒店后台管理系统、客栈管理、入住会员、房间管理、房源、房型、订单、报表、酒店企业、短信模板、积分、打印、交接班、住宿、入住、锁房、收支流水、房间销售、消费项目、酒店管理、渠道销售、支付管理、连锁酒店

酒店后台管理系统、客栈管理、入住会员、房间管理、房源、房型、订单、报表、酒店企业、短信模板、积分、打印、交接班、住宿、入住、锁房、收支流水、房间销售、消费项目、酒店管理、渠道销售、支付管理、连锁酒店 Axure原型演示及下载地址:产品大牛 - 让产品工作…

中小型酒店管理系统

[摘要]计算机网络如果结合使用信息管理系统,能够提高管理员管理的效率,改善服务质量。优秀的中小型酒店管理系统能够更有效管理用户预订酒店业务规范,帮助管理者更加有效管理用户预订酒店,可以帮助提高克服人工管理带来的错误等不…

ASP.NET-酒店管理系统

绪论 1.1本系统的课题背景 中国改革开放以后,我国大力发展经济、教育、旅游等先进产业链,人们对于外出旅游和群体聚餐的需求越来越大。而且我国的良好的科学教育水平和人民文化素质的提高,为酒店管理系统提供了良好的机遇和前景。 采用现代…

酒店客房预订管理系统简单实现

酒店客房预订管理系统 纯java实现,通过IO流对本地文件进行读取操作 需求分析 入住客人信息管理 管理所有入住客人的基本信息,包括开房登记、退房结账、查询、客人延期续费、按姓名详细查询等客人预订信息管理 管理所有预订客户的基本信息,…