SOFTS: Efficient Multivariate Time Series Forecasting with Series-Core Fusion

SOFTS: Efficient Multivariate Time Series Forecasting with Series-Core Fusion

文章目录

  • SOFTS: Efficient Multivariate Time Series Forecasting with Series-Core Fusion
    • 1. 论文背景
      • 1.1 通道独立-通道依赖的区别
      • 1.2 论文贡献
    • 2. 模型架构
      • 2.1 SOFTS的主要架构
      • 2.2 STAR 模块
    • 3. 实验结果
      • 3.1 多变量预测结果
      • 3.2 内存和计算使用分析
      • 3.2 鲁棒性(稳定性)分析
    • 4 结论

【论文标题】SOFTS: Efficient Multivariate Time Series Forecasting with Series-Core Fusion

【论文地址】https://arxiv.org/abs/2404.14197

【论文源码】https://github.com/Secilia-Cxy/SOFTS

作者】Lu Han

机构】南京大学 人工智能学院

期刊】TKDE 2024

1. 论文背景

多变量时间序列预测在金融、交通管理、能源和医疗保健等多个领域中扮演着至关重要的角色。最近的研究强调了通道独立性在抵抗分布漂移方面的优势,但忽视了通道间的相关性,限制了进一步的改进。一些方法通过使用注意力或混合器等机制来捕捉通道间的相关性,但它们要么引入了过多的复杂性,要么过于依赖相关性,在分布漂移下,尤其是在大量通道的情况下,难以取得满意的结果。

本文介绍最近的一篇探索如何在更好地建模通道(channel)之间的相关性的多元时间序列文章。文章旨在解决通道独立(channel independent)方法缺乏对通道之间相关性的利用,以及通道依赖(channel dependent)方法不够鲁棒的问题。研究者提出了一种新颖的中心化结构传递不同通道的信息,相比于分布式结构如 Attention,Mixer 等中心化的结构,既降低了计算开销,而且提高了对于异常通道的鲁棒性,以更低的复杂度获得更好的性能。

多通道在时序任务上就是可以看成多变量

1.1 通道独立-通道依赖的区别

在多元时间序列领域,存在两种建模方式,一种是通道独立(channel independent)方法,另一种是通道依赖(channel dependent)方法。如下图所示:

image-20240620204726111

通道独立策略将多元时间序列分解为多个单一时间序列,并应用统一的单变量预测模型进行处理。这种方法因其对非平稳数据的强大鲁棒性而受到广泛青睐,但它未能考虑通道间的相互关联,限制了其性能的进一步优化。

相比之下,通道依赖策略通过引入专门的通道信息融合机制来促进通道间的信息交流。然而,这类方法面临两难:一方面,它们可能过度依赖通道间的相关性,从而在面对序列非平稳性时缺乏足够的鲁棒性;另一方面,它们可能采用如注意力机制等复杂的关系建模技术,导致计算复杂度增加,难以在大规模应用中扩展。

因此,如何利用通道独立的鲁棒性,并且设计更鲁棒和高效的通道交互模块,是学术界优化多元时序预测方法所必须要考虑的问题。

1.2 论文贡献

为了解决上述问题,该文章提出了以下 3 个贡献:

1.提出了基于序列核心融合的时间序列(SOFTS)预测器,这是一个基于多层感知机(MLP)的简单模型,它以较低的复杂度展示了最先进的性能。

2.提出了 STAR(STar Aggregate-Redistribute)模块,它是 SOFTS 的基础。STAR 被设计为一个集中结构,使用一个核心来聚合和交换来自各个通道的信息。与注意力机制这样的分布式结构相比,STAR 不仅降低了复杂度,还提高了对通道中异常情况的鲁棒性。

3.通过广泛的实验,研究者验证了 SOFTS 的有效性和可扩展性。同时,STAR 的普适性也在各种基于注意力的时间序列预测器上得到了验证。

2. 模型架构

2.1 SOFTS的主要架构

SOFTS 和 iTransformer 一样,使用序列级别的 embedding,提取每个通道的表示。不同的是,SOFTS 通过一种星型聚合分发模块(STar Aggregate Redistribute module, 简称 STAR)提取不同通道的序列之间的相关性,交换不同序列的信息。最后,SOFTS 通过线性层对每个通道的未来做出预测。

image-20240620205057666

模型主要流程简要分析:如上图,从左往右,有三个通道的序列数据作为输入,三条序列数据分别依次通过MLP操作、Pooling池化操作组成core模块中的三分之一(聚集起来就是整个core)。得到的core再通过Repeat&Concat(复制和拼接操作)分别与原三个输入序列做拼接,此时每个序列都已经拥有了其他两个序列的信息(也就是通道之间的信息交流),最后再通过一个MLP操作和线性层操作得到最后的输出结果。

2.2 STAR 模块

如2.1图中,蓝色框框部分就是作者所说的star模块。

STAR 是整个 SOFTS 方法的核心,它针对性地解决了现有通道交互模块的两个问题:

(1)Attention 等模块需要两两对比不同通道并计算相似度,导致平方级别的复杂度;
(2)这种两两比较易受通道本身的质量影响,而在现实的非平稳数据上,往往存在很多异常通道。

STAR 受到软件工程中星形集中式系统的启发,在该系统中,不是让客户端相互通信,而是有一个服务器中心来聚合和交换信息,其优点是高效且可靠。基于这一思想,STAR 通过一个核心代表所有通道的全局表示,将相互序列交互替换为间接交互。与分布式结构相比,STAR利用了通道统计信息的聚合带来的鲁棒性,从而实现了更好的性能。

image-20240620212650411

具体而言,多个通道的序列表示首先通过一个 MLP 映射,然后通过一个 pooling 操作得到一个核心(core)向量,这个核心向量综合了不同序列的特征,代表了整个序列的全局信息,然后将这个核心向量拼接到每个表示后,并用另一个 MLP 层进行融合。整个过程的计算复杂度只与通道数量,序列长度等呈线性关系。

3. 实验结果

3.1 多变量预测结果

在实验效果上,本文提出的 SOFTS 模型结构在现有的多元时序预测 benchmark 上均取得了比较明显的提升。这些显著的改进表明,SOFTS 模型在多变量时间序列预测任务中具有稳健的性能和广泛的适用性,特别是在具有大量通道的任务中在下表展示出的 24 个结果中,有 21 个是第一,3 个是第二。

image-20240620210412061

3.2 内存和计算使用分析

基于纯 MLP 结构,SOFTS 能以更小的计算和存储代价获得更好的性能。下图(b)展示了在 Traffic 数据集上,不同模型在回看窗口 L=96、预测范围 H=720 和批量大小为 4 时的内存和时间使用情况。尽管基于线性或 MLP 的模型如 DLinear 和 TSMixer 资源消耗较低,但在通道数量较大时表现不佳。下图(a)探讨了图(b)中表现最佳的三种模型在内存需求方面的表现。该图显示,随着通道数量的增加, PatchTST 和 iTransformer 的内存使用量显著上升。相比之下,SOFTS 模型保持了高效的操作,其复杂度与通道数量呈线性关系,有效地处理了大量通道的情况。

image-20240620210504983

3.2 鲁棒性(稳定性)分析

通过 STAR 模块,SOFTS 能够调整异常序列的表征,下图(a)表示了进入 STAR 之前的序列表示,异常的通道出现在远离正常分布的位置,在这种表示上预测仅能获得 0.414 的预测误差,而通过 STAR 调整后,这些通道的表示被重新调整,根据不同序列的特征聚类到类似的正常通道附近,其预测性能也被提升至 0.374,提升幅度达 9%。其性能受通道噪声的影响也更小,如下图©。因此,采用 STAR 结构的 SOFTS 更具鲁棒性。

image-20240620210612777

4 结论

尽管通道独立已被证明是提高多变量时间序列预测鲁棒性的有效策略,但通道间的相关性是进一步提升性能的重要信息。先前的方法在提取相关性时面临着模型复杂性和性能之间的两难困境。在本文中,研究者通过引入Series-cOre Fused Time Series预测器(SOFTS)解决了这一难题。SOFTS 在保持低复杂度的同时,实现了最先进的性能,并且通过创新的STar Aggregate-Redistribute(STAR)模块高效地捕捉了通道间的相关性。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

《QT实用小工具·七十一》基于Qt+Qml开发的文件传输工具

1、概述 源码放在文章末尾 该项目基于QTQML实现了文件传输的功能,可以在局域网环境下使用(热点),扫描使用UDP,传输使用TCP,每一个文件传输使用独立的线程进行处理,高效便捷。 开发环境 使用Qt/Qml开发 QT版本&#x…

搭建开发模式下的以太坊私有链【Geth:1.14.5】

一、为什么用到私有链? 在以太坊的公有链上部署智能合约、发起交易需要花费以太币。而通过修改配置,可以在本机搭建一套以太坊私有链,因为与公有链没关系,既不用同步公有链庞大的数据,也不用花钱购买以太币&#xff0…

Mybatis中BaseEntity作用

新建各种对象的时候,一般来说,有几个属性是所有对象共有的,比如说id,is_del,is_enable这些,然后设置一个基础对象,以后新建所有对象的时候都继承它,就省的每次都要写这些共有的属性了

生育是家庭和个人的重要的选择

生育是个人和家庭的重要选择,而国家对于生育政策的制定应该综合考虑多种因素,包括人口结构、经济发展和社会稳定等。同时,我们也应该认识到,男女不应该成为决定一个人是否能够生育的因素。男女在生育中扮演着不同的角色&#xff0…

在Maven工程中手动配置并测试SpringBoot(巨详)

本篇博客承继自博客&#xff1a; 在IDEA 2024.1.3 (Community Edition)中创建Maven项目_idea2024.1.3如何创建maven项目-CSDN博客 配置POM文件 打开工程中的pom.xml文件&#xff0c;先向其中写入 <parent><groupId>org.springframework.boot</groupId><…

【总线】AXI4第三课时:握手机制

大家好,欢迎来到今天的总线学习时间!如果你对电子设计、特别是FPGA和SoC设计感兴趣&#xff0c;那你绝对不能错过我们今天的主角——AXI4总线。作为ARM公司AMBA总线家族中的佼佼者&#xff0c;AXI4以其高性能和高度可扩展性&#xff0c;成为了现代电子系统中不可或缺的通信桥梁…

Java面向对象的三大特性之一——继承

目录 一、继承概念 二、为什么要继承 三、继承语法&#xff08;关键字extends&#xff09; 四、父类成员访问 1、子类中访问父类的成员变量 &#xff08;1&#xff09;子类和父类不存在同名的成员变量 &#xff08;2&#xff09;子类和父类中存在同名的成员变量 2、子类中访…

Transformer学习理解

1.前言 本文介绍当下人工智能领域的基石与核心结构模型——Transformer&#xff0c;为什么说它是基石&#xff0c;因为以ChatGPT为代表的聊 天机器人以及各种有望通向AGI&#xff08;通用人工智能&#xff09;的道路上均在采用的Transformer。 Transformer也是当下NLP任…

基于PCL实现多边形框选点云并进行裁剪(附C++源码)

文章目录 一.算法效果二.算法原理PNPoly算法直线相交性判断三.代码实现一.算法效果 通过在PCL可视化界面上绘制2D封闭多边形来提取位于该封闭多边形内部或者外部的 的点,算法效果如下: 图1多边形裁剪点云效果图 二.算法原理 PNPoly算法 2D多边形框选裁剪点云,实际上可以简…

SSRF学习,刷题

[HNCTF 2022 WEEK2]ez_ssrf 给了一个Apache2的界面&#xff0c;翻译一下 就是一个默认的界面,目录扫描 可以看到flag.php,肯定是不能直接访问得到的&#xff0c;还有index.php&#xff0c;访问这个 可以看到三个参数data,host,port 还有fsockopen() 函数是 PHP 中用于打开一个…

代码随想录训练营Day 64|卡码网98. 所有可达路径(深搜)

1.所有可达路径 98. 所有可达路径 | 代码随想录 代码&#xff1a; &#xff08;深搜&#xff09;邻接矩阵表示 #include <iostream> #include <vector> using namespace std; vector<int> path; vector<vector<int>> result; void dfs(const ve…

LeetCode 算法:两两交换链表中的节点 c++

原题链接&#x1f517;&#xff1a;两两交换链表中的节点 难度&#xff1a;中等⭐️⭐️ 题目 给你一个链表&#xff0c;两两交换其中相邻的节点&#xff0c;并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题&#xff08;即&#xff0c;只能进行节点交…

QT中利用动画弄一个侧边栏窗口,以及贴条效果

1、效果 2、关键代码 void Widget::on_sliderBtn_clicked() {m_sliderWidget->show();QPropertyAnimation* animation = new QPropertyAnimation(m

政策更新记录:敏感信息访问权限与API使用变更

我们将更新“健康数据共享”政策,简化“健康数据共享”申请流程,并与“健康类应用”政策保持一致。此外,我们将于今年晚些时候在 Play 管理中心推出一项新的声明,取代当前使用表单进行申请的方式。 公布日期:2024-04-03 Health Connect 政策要求及常见问题解答 初步认识对…

[AIGC] 使用Google的Guava库中的Lists工具类:常见用法详解

在Java程序设计中&#xff0c;集合是我们最常用的数据结构之一。为了方便我们操作集合&#xff0c;Google的Guava库提供了一个名为Lists的工具类&#xff0c;它封装了许多用于操作List对象的实用方法。在本文中&#xff0c;我们将详细介绍其常见的用法&#xff0c;以帮助您更好…

volatile关键字(juc编程)

volatile关键字 3.1 看程序说结果 分析如下程序&#xff0c;说出在控制台的输出结果。 Thread的子类 public class VolatileThread extends Thread {// 定义成员变量private boolean flag false ;public boolean isFlag() { return flag;}Overridepublic void run() {// 线…

钡铼BL101网关助力智慧城市路灯远程智能管控

在迈向智慧城市的征途中&#xff0c;基础设施的智能化改造是关键一环&#xff0c;而路灯作为城市脉络的照明灯塔&#xff0c;其智能化升级对于节能减排、提升城市管理效率具有重要意义。钡铼BL101网关&#xff0c;作为Modbus转MQTT的专业桥梁&#xff0c;正以其卓越的性能和广泛…

数据仓库与数据库的区别

在数据管理和分析的过程中&#xff0c;我们常常会听到“数据库”和“数据仓库”这两个术语。 虽然它们看起来相似&#xff0c;但实际上它们在设计目的、结构和使用场景上都有显著的区别。 数据库是什么&#xff1f; 数据库&#xff08;Database&#xff09;是一个用于存储和管…

[创业之路-120] :全程图解:软件研发人员如何从企业的顶层看软件产品研发?

目录 一、企业全局 二、供应链 三、团队管理 四、研发流程IPD 五、软件开发流程 六、项目管理 七、研发管理者的自我修炼 一、企业全局 二、供应链 三、团队管理 四、研发流程IPD 五、软件开发流程 六、项目管理 七、研发管理者的自我修炼

时空预测 | 基于深度学习的碳排放时空预测模型

时空预测 模型描述 数据收集和准备&#xff1a;收集与碳排放相关的数据&#xff0c;包括历史碳排放数据、气象数据、人口密度数据等。确保数据的质量和完整性&#xff0c;并进行必要的数据清洗和预处理。 特征工程&#xff1a;根据问题的需求和领域知识&#xff0c;对数据进行…