深度学习在时间序列预测的总结和未来方向分析

2023年是大语言模型和稳定扩散的一年,时间序列领域虽然没有那么大的成就,但是却有缓慢而稳定的进展。Neurips、ICML和AAAI等会议都有transformer 结构(BasisFormer、Crossformer、Inverted transformer和Patch transformer)的改进,还出现了将数值时间序列数据与文本和图像合成的新体系结构(CrossVIVIT), 也出现了直接应用于时间序列的可能性的LLM,以及新形式的时间序列正则化/规范化技术(san)。

我们这篇文章就来总结下2023年深度学习在时间序列预测中的发展和2024年未来方向分析

Neurips 2023

在今年的NIPs上,有一些关于transformer 、归一化、平稳性和多模态学习的有趣的新论文。但是在时间序列领域没有任何重大突破,只有一些实际的,渐进的性能改进和有趣的概念证明。

1、Adaptive Normalization for Non-stationary Time Series

论文介绍了一种“模型不可知的归一化框架”来简化非平稳时间序列数据的预测。作者让SAN分两步操作:训练一个统计预测模型(通常是ARIMA),然后训练实际的深度时间序列基础模型(使用统计模型对TS数据进行切片、归一化和反归一化)。统计模型对输入时间序列进行切片,以便学习更健壮的时间序列表示并去除非平稳属性。作者指出:“通过对切片级特性进行建模,SAN能够消除局部区域的非平稳性。”SAN还显式地预测目标窗口的统计信息(标准差/平均值)。这使得它在处理非平稳数据时,与普通模型相比,能够更好地适应随时间的变化。

采用transformer 模型作为基本预测模型,对典型的时间序列预测基准(如电力、交换、交通等)进行指标验证。作者发现SAN在这些基准数据集上持续提高了基本模型的性能(尽管他们没有测试Inverted Transformer,因为这篇论文是在Inverted Transformer之前发布的)。

由于该模型结合了一个统计模型(通常是ARIMA)和一个普通的transformer ,我认为调优和调试(特别是在新的数据集上)可能会很棘手和麻烦。因为几乎所有的时间序列模型都将序列输入长度作为超参数。另外就是“切片”的切片与普通的序列窗口有何不同?作者还是没有说清楚。总的来说,我认为这仍然是一个相当强大的贡献,因为它的实验结果和即插即用属性。

2、BasisFormer

BasisFormer使用可学习和可解释的“basis”来改进一般的transformer 体系结构。这里的“basis”指的是创建一个类似于NBeats的神经“basis”(例如,为基于多项式的函数学习趋势、季节性等的系数)。该模型分为三个部分:基础模块、系数模块和预测模块。基模块试图以自监督的方式确定一组适用于历史和未来时间序列数据的数据基础趋势。basis模块通过对比学习和一个名为InfoNCE loss的特定损失函数(该函数试图学习未来和过去时间序列之间的联系)。coef模型试图“模拟时间序列和一组基础趋势之间的相似性”。对于coef模型,作者使用了一个交叉注意力模块,该模块将basis和时间序列作为输入。然后将输出输入到包含多个MLP的预测模块中。

作者在典型的时间序列预测数据集(ETH1, ETH, weather, exchange)上评估他们的论文。发现BasisFormer比其他模型(Fedformer、Informer等)的性能提高了11-15%。BasisFormer还没有被拿来和Inverted Transformer比较,因为它还没有发布。似乎Inverted Transformer和可能的Crossformer 可能会略优于BasisFormer。

还记的去年我们看到了“Are Transformers Effective for Time Series Forecasting?”这篇论文批评了许多Transformers 模型,并展示了一个简单的模型“D-Linear”如何超越它们。在2023年从BasisFromer开始,已经开始缓慢的解决这些问题,并超越上面提到的基准模型。

这篇论文模型的技术是可靠的,但这篇论文优点难理解。因为作者介绍了学习“basis”的概念,但并没有真正解释这种方法的新颖性以及它与其他模型的不同之处。

3、Improving day-ahead Solar Irradiance Time Series Forecasting by Leveraging Spatio-Temporal Context

论文提出了一种基于混合(视觉和时间序列)深度学习的架构,用于预测第二天的太阳能产量。太阳能的生产经常受到云层覆盖的影响,这在卫星图像数据中可以看到,但在数值数据中没有很好地体现出来。除了模型本身外,论文的另外贡献是研究人员构建并开源的多模态卫星图像数据集。作者描述了一个多级Transformers 架构,同时关注数值时间序列和图像数据。时间序列数据通过时间Transformers 图像通过视觉Transformers 。然后,交叉注意力模块将前两个模块的图像数据综合起来。最后数据进入一个输出预测的最终时态Transformers 。

作者在论文中提到的另一个有用的想法被称为ROPE或旋转位置编码。这将在编码/位置嵌入中创建坐标对。这是用来描述从云层到太阳能站的距离。

作者对他们的新数据集进行评估和基准测试,比较了Informer、Reformer、Crossformer和其他深度时间序列模型的性能。作者还在整合图像数据方面区分了困难和容易的任务,他们的方法优于其他模型。

这篇论文提供了一个有趣的框架,ROPE的概念也很有趣,对于任何使用坐标形式的地理数据的人都有潜在的帮助。数据集本身对于多模态预测的持续工作非常有用,这是一项非常有益的贡献。

4、Large Language Models Are Zero-Shot Time Series Forecasters

这篇论文探讨了预训练的llm能否直接以整数形式输入时间序列数据,并以零样本的方式预测未来数据。作者描述了使用GPT-3和GPT-4和开源LLMs不进一步修改结构直接与时间序列值交互的情况。最后还描述了他们对模型零样本训练行为起源的思考。作者假设,这种行为是提取知识的预训练的普遍通用性的结果。

在上面提到的标准时间序列基准数据集评估他们的模型。虽然模型没有达到SOTA性能,但考虑到它完全是零样本并且没有额外的微调,所以表现还是很好的。

llm可以开箱即用地进行TS预测,因为它们都是在文本数据上训练的。这一领域可能值得未来进一步探索,这篇论文是一个很好的一步。但是该模型目前只能处理单变量时间序列

ICML 、ICLR 2023

除了Neurips之外,ICML和ICLR 2023还重点介绍了几篇关于时间序列预测/分析的深度学习的论文。以下是一些我觉得很有趣的,并且对未来一年仍有意义的建议:

1、Crossformer

该模型是专门为多元时间序列预测(MTS)开发的。该模型采用维度分段嵌入(DSW)机制。DSW嵌入与传统嵌入的不同之处在于它采用二维格式的数据。并且跨变量和时间维度显式地从MTS数据生成段。

该模型在标准MTS数据集(ETH, exchange等)上进行了评估:在发布时时优于大多数其他模型,例如Informer和DLinear。作者还对dSW进行了消融研究。

这篇来自ICLR的关于的论文在预测河流流量时表现不错,但是是在一次预测多个目标时,性能似乎会下降很多。也就是说,它的表现肯定比Informer和相关的Transformers 模型要好。

2、Learning Perturbations to Explain Time Series Predictions

大多数用于深度学习解释的扰动技术都是面向静态数据(图像和文本)的。但是对于时间序列特别是多元TS需要更大范围的扰动来学习随机影响。作者提出了一种基于深度学习的方法,可以学习数据的掩码和相关的扰动,更好地解释特征的重要性。然后将掩码和扰动的输入传递给模型,并将输出与未扰动数据的输出进行比较。据两个输出之间的差值计算损失。

越来越多的研究人员正在深入研究解释深度学习模型这是件好事。本文概述了现有的方法及其不足,并提出了一种改进的方法。我认为使用额外的神经网络来学习扰动的想法增加了不必要的复杂性,因为每当我们增加更多的层和额外的网络时,就会增加发生问题的概率,特别是在已经很大的网络上。别忘了奥卡姆剃刀定律如无必要,勿增实体

3、Learning Deep Time Index Models

本文通过光流和元学习来讨论预测,描述了学习如何预测非平稳时间序列。对于那些不熟悉的人来说,元学习通常被应用在计算机视觉数据集上,像MAML这样的论文可以对新的图像类进行少量的学习。MAML和其他模型都有一个内部循环和一个外部循环,其中外部循环教模型如何学习,内部循环对其进行微调以适应特定的任务。论文的作者采用了这一思想,并将其应用于几乎将每个非平稳性视为一个新的学习任务。新的“任务”是长时间序列序列的块。

作者在ETH,temperature和exchange 数据集上测试了他们的模型。尽管他们的模型没有达到SOTA的结果,但它与当前的SOTA体系结构具有竞争力。

这篇论文为时间序列预测提供了一个有趣的角度,相对于常规方法有了一个新的突破,我想就是他虽然没有超过SOTA但是还是被录用的原因之一吧。

4、Inverted Transformers are Effective for Time Series Forecasting

《Inverted Transformers》是2024年发表的一篇论文。这也是目前时间序列预测数据集上的SOTA。基本上,Inverted Transformers采用时间序列的Transformers架构并进行了翻转。整个时间序列序列用于创建令牌。然后,时间序列彼此独立进行嵌入表示。注意力对多个时间序列嵌入进行操作。它有点类似于Crossformer,但它的不同之处在于,它遵循标准Transformers架构。

作者在标准时间序列数据集上评估模型目前优于所有其他模型,包括Informer, Reformer, Crossformer等。

这是一篇强大的论文,因为模型的表现优于现有的模型。但是在某些情况下,它优于模型的数值并不是那么显著。所以可以优先看看这篇论文并且进行测试。

TimeGPT

最后说说TimeGPT,它没有在任何主要会议上被接受,而且它的评估方法也优点可疑,由于它不幸地在互联网上获得了相当多的介绍,所以我们要再提一下:

1、作者没有将他们的结果与其他SOTA类型模型进行比较,只是引用“测试集包括来自多个领域的30多万个时间序列,包括金融、网络流量、物联网、天气、需求和电力。”并且没有提供测试集的链接,也没有在他们的论文中说明这些数据集是什么。

2、论文中架构图和模型体系结构的描述非常糟糕。这看起来就像是作者复制了其他论文的图表,强加上注意力的定义和LLM相关的流行词汇。

3、作者的Nixtla公司非常小,可能是一家小型初创公司,它是否有足够的计算资源来完全训练一个“成功的时间序列基础模型”。虽然这样说法优点歧视,但是如果我说我一个人用一周训练了一个LLM,那估计都没人相信,对吧。

OpenAI、谷歌、亚马逊、Meta等公司提供足够的计算资源来创建庞大的模型。如果TimeGPT真的是一个简单的Transformers 模型,并在大量的时间序列数据上训练它,为什么其他机构,甚至个人不能用它的大量gpu做到这一点呢?答案是,事情肯定没那么简单。

时间序列创建“基础模型”的能力目前还不够完善。多元时间序列预测的一个重要组成部分是学习协变量之间的依赖关系。MTS的维度在不同的数据集之间差异很大。对于具有文本数据的Transformers ,我们总是将一个单词映射到一个数字id,然后创建一个特定维度的嵌入。

对于MTS,不仅值可以更改,而且在一个数据集上可能有100个变量,而在另一个数据集上只有10个变量。这使得几乎不可能设计所有用途的映射层来将不同大小的MTS数据集映射到公共嵌入维度。所以还记得我们前几天发的Lag-Llama,也只是单变量的预测。

在其他时间序列(即使是那些具有相同数量变量的时间序列)上预训模型不会产生改进的结果(至少在当前架构下不会)。

总结及未来方向分析

在2023年,我们看到了Transformers 在时间序列预测中的一些持续改进,以及llm和多模态学习的新方法。随着2024年的进展,我们将继续看到在时间序列中使用Transformers 架构的进步和改进。可能会看到在多模态时间序列预测和分类领域的进一步发展。

https://avoid.overfit.cn/post/be97dafdc9e64c1ca7da873ab13c0923

作者:Isaac Godfried

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/693416.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

压缩感知(Compressed Sensing)的MATLAB仿真实现

在前一篇文章:正交匹配追踪(Orthogonal Matching Pursuit, OMP)的MATLAB实现中,我们介绍了针对稀疏信号进行压缩感知的MATLAB仿真。 本篇我们介绍一下针对的是原始的非稀疏信号,看看如何进行处理。 本文中,…

设计模式面试系列-02

1. Java 中工厂模式有什么优势? 1、工厂模式是最常用的实例化对象模式,是用工厂方法代替new操作的一种模式。 2、利用工厂模式可以降低程序的耦合性,为后期的维护修改提供了很大的便利。 3、将选择实现类、创建对象统一管理和控制,从而将调用者跟我们的实现类解耦。 2. …

读懂2024年数字孪生发展新趋势!十大权威白皮书放送!

2024年,数字孪生 该往哪些方向走? 新技术的不断涌现 又会带来怎样的行业变迁 …… 在开工之际,我们整理了 51WORLD主导、参编的 十大权威数字孪生白皮书、行业报告 以及产业优秀案例集 分享给想要提升自我的朋友们 读完这些 上面看似…

嵌入式23——IO

时间获取: 1.time time_t time(time_t *tloc);// 定义 time_t t 用来存放秒数,不能定义一个time_t *t 流指针 原因:流指针为野指针,它的指向不明确,没有一块空间用来存放秒数 即使将流指针初始为NULL,也…

singularity-ce-4.1.0 + go 完整安装步骤,及报错解决

singularity-ce-4.1.0 go 1.20 完整安装步骤. 解决bug: checking: host Go compiler (at least version 1.13)... not found! mconfig: could not complete configuration服务器基础环境: 阿里云服务器: > lsb_release -a LSB Version: :core-4.…

道可云元宇宙每日资讯|杭州:重点培育元宇宙、智能型机器人等

道可云元宇宙每日简报(2024年2月20日)讯,今日元宇宙新鲜事有: 杭州:重点培育元宇宙、智能型机器人等 昨日,杭州市人民政府发布《关于进一步推动经济高质量发展的若干政策》。政策指出,以通用人…

不止提升免疫力?NMN或可预防、缓解支原体肺炎造成的肺部损伤

近期,全国多地进入呼吸道疾病高发季,支原体肺炎等相关话题频频登上各大热搜榜。 发烧、咳嗽、嗓子疼、肺炎……支原体肺炎的战线拉得挺长,过年了都还有不少人纷纷中招:发热、咳嗽,来来回回拖了一两周才好,…

JavaScript 设计模式之组合模式

组合模式 在我们日常中肯呢个会将一个表单用这种模式来创建 const Car function () { } Car.prototype.getName function () { throw new Error("需要重写该方法") } Car.prototype.getPrice function () {throw new Error("需要重写该方法") } const…

突破性创新:OpenAI推出Sora视频模型,预示视频制作技术的未来已到来!

一、前言 此页面上的所有视频均由 Sora 直接生成,未经修改。 OpenAI - Sora is an AI model that can create realistic and imaginative scenes from text instructions. 2024 年 2 月 16 日,OpenAI 发布 AI 视频模型 Sora,60 秒的一镜到底…

XML Map 端口进阶篇——常用关键字和格式化器详解

XML Map 端口是用于在不同XML之间建立关系映射的工具,允许通过拖拽操作实现源XML和目标 XML之间的数据字段映射,除此之外,XML Map 端口还提供了其它丰富多彩的功能,使用户能够更加灵活和高效的处理XML 数据映射任务,让…

以程序员的视角,看前后端分离的是否必要?

Hello,我是贝格前端工场,本篇分享一个老生常谈的话题,前后端分离是必然趋势,但也是要区分具体的场景,欢迎探讨,关注,有前端开发需求可以私信我,上车了。 一、什么是前后端分离和不分…

Bert-VITS-2 效果挺好的声音克隆工具

持中日英三语训练和推理。内置干声分离,切割和标注工具,开箱即用。请点下载量右边的符号查看镜像所对应的具体版本号。 教程地址: sjj​​​​​​​CodeWithGPU | 能复现才是好算法CodeWithGPU | GitHub AI算法复现社区,能复现…

分享一个背英语单词的方法

目录 前言 乱序记忆法 结语 前言 这是我现在正在用的背单词方法,我觉得是不错的,分享一下,希望对你有帮助。也欢迎评论点赞哟。 乱序记忆法 这种方法需要我们准备好纸,是需要我们动笔的。我坚持认为,动笔去记单词的…

人工智能专题: Sora,世界模拟器的视频生成器

今天分享的是人工智能系列深度研究报告:《人工智能专题: Sora,世界模拟器的视频生成器》。 (报告出品方:华泰证券) 报告共计:16页 来源:人工智能学派 Sora 能做什么?…

苍穹外卖——第一天nginx

放到全是英文路径的打不开 到安装路径进入cmd,输入nginx -t nginx: the configuration file E:\Astudy\nginx-1.20.2/conf/nginx.conf syntax is ok nginx: [emerg] bind() to 0.0.0.0:80 failed (10013: An attempt was made to access a socket in a way forbid…

Fiddler工具 — 18.Fiddler抓包HTTPS请求(一)

1、Fiddler抓取HTTPS过程 第一步:Fiddler截获客户端发送给服务器的HTTPS请求,Fiddler伪装成客户端向服务器发送请求进行握手 。 第二步:服务器发回相应,Fiddler获取到服务器的CA证书, 用根证书(这里的根证…

c# Contains方法-检查集合中是否包含指定的元素

Contains 是 .NET 集合框架中许多集合类&#xff08;如 List、Array、HashSet 等&#xff09;提供的一种方法&#xff0c;用于检查集合中是否包含指定的元素。对于 List<int> 类型&#xff0c;Contains 方法会遍历列表中的所有元素&#xff0c;并判断传入的方法参数是否存…

UI自动化之使用poco进行元素的唯一定位

直接选择&#xff1a; 1.poco(text买入).click() 2.poco("android.widget.ImageView").click()相对选择、空间选择&#xff1a; 3.poco(text/name).parent().child()[0].click()正则表达式&#xff1a; 4.listpoco(textMatches".*ETF")今天主要想记录下…

c编译器学习05:与chibicc类似的minilisp编译器(待续)

minilisp项目介绍 项目地址&#xff1a;https://github.com/rui314/minilisp 作者也是rui314&#xff0c;commits也是按照模块开发提交的。 minilisp只有一个代码文件&#xff1a;https://github.com/rui314/minilisp/blob/master/minilisp.c 加注释也只有996行。 代码结构&a…

《剑指Offer》笔记题解思路技巧优化 Java版本——新版leetcode_Part_5

《剑指Offer》笔记&题解&思路&技巧&优化_Part_5 &#x1f60d;&#x1f60d;&#x1f60d; 相知&#x1f64c;&#x1f64c;&#x1f64c; 相识&#x1f622;&#x1f622;&#x1f622; 开始刷题&#x1f7e2;1. LCR 158. 库存管理 II——数组中出现次数超过一…