【论文阅读】Bi-Mamba+: Bidirectional Mamba for Time Series Forecasting

news2024/10/19 13:11:36

文章目录

    • 概要
    • 阅读
      • 背景知识
      • 引言
        • 创新之处
      • 研究方法
        • 概述
        • 方法部分的核心模块
            • 多尺度打补丁(Multi-Scale Patching)
            • Mamba:全局模式专家
            • Local Window Transformer(LWT):局部变化专家
            • 长短期路由器(Long-Short Router)
            • 预测模块(Forecasting Module)
            • 方法部分的总结
      • 实验和结果部分:
        • 1. 实验设置(Experimental Setup)
        • 2. 基线模型(Baselines)
        • 3. 评价指标(Metrics)
        • 4. 实验结果(Time Series Forecasting Results)
        • 5. 消融实验(Ablation Studies)
        • 6. 内存和速度分析(Memory and Speed Analysis)
      • 实验部分总结:
    • 小结

概要

https://arxiv.org/ pdf/2404.14757
https://github.com/XiongxiaoXu/Mambaformer-in-Time-Series

作者提出了名为Bi-Mamba+的新型时间序列预测模型,这篇论文的目标是解决时间序列预测中的长短期依赖问题。论文指出,传统的时间序列模型在处理长时和短时依赖时存在不足,无法同时有效捕捉全局的长程模式和局部的短程波动。

阅读

背景知识

时间序列预测广泛应用于天气预报、股票预测等领域。论文提到,许多时间序列可以分解为长程的全局模式和短期的局部波动。例如,超级计算机的执行时间可能因网络拥塞而产生极端值,这些局部的短期变化对预测是至关重要的。

举个例子,论文中提到了超级计算机的执行时间,它在长程上呈现出周期性的上升和下降趋势(全局模式),而在短程内可能出现由于网络拥堵而导致的执行时间异常(局部变化)。如果我们只关注其中一种特征,而忽略另一种特征,预测结果将不准确。
在这里插入图片描述

引言

作者提出了一个多尺度的混合模型,称为SST(State Space Transformer),这个模型有两个主要组件:

Mamba模型:这个模块被称为“全局模式专家”,用于从粗粒度的长程时间序列中提取全局模式。
Local Window Transformer(LWT):被称为“局部变化专家”,专注于在精细的短程时间序列中捕捉局部变化。

创新之处

多尺度打补丁方法(Multi-Scale Patching):通过对时间序列数据进行不同尺度的打补丁操作来调整数据的分辨率,使模型能够在不同粒度上进行预测。
长短期路由器:这个模块能动态学习并整合全局模式和局部变化的信息,确保模型能根据时间序列的特征自适应地调整重点。

研究方法

概述

作者在方法部分提出了一个多尺度的混合Mamba-Transformer架构,称为State Space Transformer(SST)。SST模型的核心思想是将时间序列分为长程全局模式和短程局部变化,分别由Mamba模型和Local Window Transformer(LWT)负责处理。为了实现这两者的有效结合,设计了一个长短期路由器来动态调整这两个专家模型的贡献。
在这里插入图片描述

方法部分的核心模块

在这里插入图片描述

多尺度打补丁(Multi-Scale Patching)

由于长程时间序列和短程时间序列在粒度上存在不同,作者引入了“打补丁”的概念来调整时间序列数据的分辨率。具体来说,通过聚合时间步长来形成“补丁”,从而降低或提高时间序列的分辨率。
对于长程时间序列,作者使用较大的补丁长度和较长的步幅,以生成低分辨率的时间序列。这使得模型可以忽略短期波动,专注于捕捉全局模式。
对于短程时间序列,使用较小的补丁长度和较短的步幅,生成高分辨率的时间序列,从而可以捕捉更细微的局部变化。
为什么这一步重要?
多尺度的处理使得模型能够在不同的时间范围内找到最适合的特征,从而更好地进行长短期的区分和分析。

Mamba:全局模式专家

Mamba模型是基于状态空间模型(State Space Models,SSM),专门用于处理长程时间序列中的全局模式。
状态空间模型通过对输入信号进行编码和解码,能够保留长期的相关信息,同时过滤掉短期的噪声。这使得Mamba特别适合用于长程序列的全局模式提取。
核心机制:Mamba依靠其递归机制,通过状态转移矩阵不断更新隐藏状态,保留与全局趋势相关的重要信息。它的复杂度为O(L),即随时间序列的长度线性增加,非常高效。
为什么使用Mamba?
Mamba的优势在于它能够长期保留全局模式,并且复杂度较低,适合处理长时间序列的数据。

Local Window Transformer(LWT):局部变化专家

LWT模型是传统Transformer的一个改进版本,专注于短期时间序列的局部变化。传统的Transformer在处理长时间序列时复杂度较高(O(L^2)),而LWT通过局部窗口机制降低了这种复杂度。
LWT的创新点在于,它使用一个固定大小的滑动窗口,使得每个时刻的输入只会关注局部的几个时间步长,而不是全局信息。这增强了模型对局部变化的敏感性,同时显著降低了计算复杂度。
LWT的复杂度从传统Transformer的O(L^2)降低到了O(wS),其中w是窗口的大小,S是短期时间序列的长度。
为什么使用LWT?
LWT能够专注于短期变化,并且通过窗口机制有效地控制计算成本,适合用于细粒度的短期预测。

长短期路由器(Long-Short Router)

为了将Mamba的长程全局模式和LWT的短程局部变化结合起来,作者设计了一个动态的路由器,称为长短期路由器。这个路由器的主要作用是根据输入时间序列的特点,动态地调整Mamba和LWT的权重,决定两者对预测的贡献。
具体来说,路由器会根据时间序列的输入,生成两个权重值(pL 和 pS),分别代表长程和短程时间序列的贡献比例。然后模型通过这些权重,将Mamba和LWT的输出进行加权平均,得到最终的预测结果。
为什么需要路由器?
不同的时间序列在不同的时间范围内可能需要不同的关注点。通过动态路由器,模型能够自适应地选择最合适的预测策略,从而提高预测的准确性。

预测模块(Forecasting Module)

最后的预测模块将长程时间序列的嵌入(来自Mamba)和短程时间序列的嵌入(来自LWT)进行拼接,并根据路由器的权重加权组合,得到最终的预测值。

方法部分的总结

SST模型通过多尺度打补丁、全局模式专家Mamba、局部变化专家LWT以及长短期路由器,巧妙地结合了长短期时间序列的特点,从而实现了对全局模式和局部变化的综合分析。该模型的核心创新点在于:

Mamba与Transformer的结合:通过让Mamba处理长程全局模式,LWT处理短程局部变化,使模型能同时兼顾两者。
长短期路由器的动态调节:根据输入动态调整模型的关注点,增强了模型的灵活性和泛化能力。

好,我们继续进入**实验和结果(Experiments and Results)**部分,看看作者是如何验证他们的模型的效果以及如何与其他模型进行比较的。

实验和结果部分:

这一部分是论文的核心之一,作者通过一系列实验来验证SST模型在时间序列预测任务中的优越性。实验的目标是展示SST模型在多个数据集上的表现,并与现有的最先进模型(SOTA)进行对比,证明其在准确性、效率和可扩展性方面的优势。

1. 实验设置(Experimental Setup)

作者在实验中使用了七个广泛应用的真实世界数据集,这些数据集涵盖了不同领域的时间序列数据。数据集包括:

  • ETT 数据集(ETTh1、ETTh2、ETTm1、ETTm2):这是电力变压器的历史数据,涵盖了电压、电流、负载等因素。
  • Weather 数据集:包含了气象站每10分钟记录的21种气象变量,如温度、湿度、气压等。
  • ECL 数据集:这是一个电力消耗数据集,提供了321个客户的每小时用电情况。
  • Traffic 数据集:记录了旧金山湾区公路的车流量情况。

通过这些不同类型的数据集,SST模型展示了其在广泛领域中的适用性。
在这里插入图片描述

2. 基线模型(Baselines)

为了评估SST模型的效果,作者将其与几种最先进的时间序列预测模型进行了比较,包括:

  • S-Mamba:这是基于Mamba的时间序列预测模型,主要用于处理长期依赖。
  • iTransformer:一种用于时间序列的Transformer变体,侧重于改进Transformer在序列数据上的性能。
  • PatchTST:基于打补丁技术的Transformer模型,用于处理长时间序列。
  • Crossformer:一种能够跨维度捕捉时间序列依赖性的模型。
  • DLinearFEDformer:用于长时间序列预测的经典深度学习模型。
3. 评价指标(Metrics)

作者使用了两个广泛使用的评估指标来衡量模型的预测效果:

  • MSE(Mean Squared Error,均方误差):MSE越低,说明预测的误差越小,模型的表现越好。
  • MAE(Mean Absolute Error,平均绝对误差):MAE同样用于衡量预测误差,越低越好。
4. 实验结果(Time Series Forecasting Results)

实验结果表明,SST模型在多个数据集上都优于其他最先进的模型,尤其是在长程和短程时间序列的预测上表现得非常出色。

  • SST vs. S-Mamba:SST模型相比于基于Mamba的模型(S-Mamba)在长程和短程预测中表现更加优异,特别是在更长的预测窗口下(例如,未来720步的预测),SST模型在误差方面减少了13%以上。
  • SST vs. iTransformer:与iTransformer相比,SST在多个数据集上都展示了更低的MSE和MAE,说明其在捕捉全局模式和局部变化方面有更好的平衡。
  • 效率和扩展性:SST模型的线性复杂度使得它在处理大规模时间序列时更加高效,且内存占用较低。相比其他模型,如传统的Transformer,SST模型在输入长度大于3000步的情况下依然可以保持良好的扩展性,而其他模型则容易出现内存溢出问题。
5. 消融实验(Ablation Studies)

消融实验的目的是验证SST模型中每个组成部分的重要性。作者进行了以下几种实验:

  • 仅使用Mamba或LWT:实验表明,仅使用Mamba或者LWT时,模型的表现明显不如SST模型,因为它们分别只能捕捉全局模式或局部变化,缺乏对两者的综合处理能力。
  • 去除打补丁机制:去除打补丁机制后,模型在捕捉不同时间尺度上的特征时效果较差,这验证了多尺度打补丁方法在提升预测性能中的关键作用。
  • 去除长短期路由器:如果去掉路由器,模型无法动态调整长程和短程预测的贡献,导致效果下降。

消融实验的结果说明,SST的每个组件(Mamba、LWT、多尺度打补丁、长短期路由器)都是至关重要的,缺少任何一个都会导致性能的下降。

6. 内存和速度分析(Memory and Speed Analysis)

作者还对SST模型在实际应用中的内存使用计算速度进行了分析。结果表明,SST在处理长时间序列时具有良好的扩展性,并且由于其线性复杂度,在内存和计算时间上都显著优于传统的Transformer模型。例如,当时间序列的长度增加到6000步时,SST依然能够正常运行,而传统Transformer模型早在336步时就因内存问题而失败。

实验部分总结:

  • 性能方面:SST模型在多个数据集上的表现优于现有的最先进模型,尤其是在长程和短程预测任务中。通过引入全局模式和局部变化的专家模型,SST能够平衡不同时间尺度上的特征,从而提高预测的准确性。
  • 效率方面:得益于Mamba模型的递归机制和LWT的局部窗口机制,SST在时间序列长度增加时依然保持了较低的复杂度和良好的扩展性。
  • 创新性方面:SST模型通过多尺度打补丁和动态路由器的结合,成功解决了长短期时间序列的异质性问题,展示了其在大规模时间序列预测中的潜力。

小结

提示:这里可以添加总结

例如:

提供先进的推理,复杂的指令,更多的创造力。

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

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

相关文章

Aatrox-Bert-VITS2部署指南

一、模型介绍 【AI 剑魔 ①】在线语音合成(Bert-Vits2),将输入文字转化成暗裔剑魔亚托克斯音色的音频输出。 作者:Xz 乔希 https://space.bilibili.com/5859321 声音归属:Riot Games《英雄联盟》暗裔剑魔亚托克斯 …

LLM:参数高效微调方法总结

可以分为基于适配器、基于提示的。 一、基于适配器的方法 其核心思想是在预训练模型的各层之间插入轻量级的额外模块——适配器,通过仅微调这些适配器模块以适应特定的下游任务,同时冻结原模型的大部分参数。 1.Lora系列 原始的Lora LoRA 表示通过低…

DFS算法经典题目: Leetcode 51.N皇后

DFS算法经典题目: Leetcode 51.N皇后 题目详情如下 这道题如果使用暴力解法的话,需要对N个皇后放在每个地方都进行枚举并判断是否可行,时间复杂度非常之高,肯定是过不了的,所以需要使用其他解法。 根据题目可以知道每…

RT-Thread之STM32使用定时器实现输入捕获

前言 基于RT-Thread的STM32开发,配置使用定时器实现输入捕获。 比如配置特定通道捕获上升沿,该通道对应的引脚有上升沿信号输入,则触发捕获中断。 一、新建工程 二、工程配置 1、打开CubeMX 进行工程配置 2、时钟使用外部高速晶振 3、配置…

链栈的基本算法

初始化一个链栈 &#xff0c;将元素e&#xff0c;f&#xff0c;g&#xff0c;h&#xff0c;i依次进栈&#xff0c;获取栈顶元素&#xff0c;将栈中元素依次出栈并输出 链栈的表示 既采用链式储存结构实现的栈 具体代码 #include <stdio.h> #include <stdlib.h>…

安装TDengine数据库3.3版本和TDengine数据库可视化管理工具

安装TDengine数据库3.3版本和TDengine数据库可视化管理工具 一、下载安装包二、解压安装包三、部署四、启动服务五、进入数据库六、创建数据库、表和往表中插入数据七、测试 TDengine 性能八、使用数据库九、查询数据十、TDengine数据库可视化界面 一、下载安装包 TDengine-cl…

RHCE——例行性工作

准备工作 [rootlocalhost ~]# cat /etc/yum.repos.d/aliyun.repo [ali-app] nameali-app baseurlhttps://mirrors.aliyun.com/centos-stream/9-stream/AppStream/x86_64/os/ gpgcheck0[ali-base] nameali-base baseurlhttps://mirrors.aliyun.com/centos-stream/9-stream/Base…

Qt - 地图相关 —— 1、加载百度在线地图(附源码)

效果图 开始加载地图 1、百度地图开发者网站中注册,获取密钥 2、进入开发文档中 将下图内容保存到本地文件中,文件名为"index.html"文件即可。接着将内容中的“您的密钥”改为刚刚创建应用出来的AK密钥即可。 然后双击打开若在浏览器中正常看到下图右侧地图则说明没…

现代物流管理:SpringBoot技术突破

3系统分析 3.1可行性分析 通过对本智能物流管理系统实行的目的初步调查和分析&#xff0c;提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本智能物流管理系统采用SSM框架&#xff0c;JAVA作为开发语…

excel判断某一列(A列)中的数据是否在另一列(B列)中

如B列如果有7个元素&#xff0c;在A列右边的空白列中&#xff0c;输入如下公式&#xff1a; COUNTIF($B$1:$B$7,A1), 其中&#xff0c;$B$1:$B$7代表A列中的所有数据即绝对范围&#xff0c;A1代表B列中的一个单元格.

SpringBoot中大量数据导出方案:使用EasyExcel并行导出多个excel文件并压缩zip后下载

文章目录 前言一、控制器层代码二、服务层代码三、代码亮点分析 前言 SpringBoot的同步excel导出方式中&#xff0c;服务会阻塞直到Excel文件生成完毕&#xff0c;如果导出数据很多时&#xff0c;效率低体验差。有效的方案是将导出数据拆分后利用CompletableFuture&#xff0c;…

《计算机视觉》—— 换脸

效果如下&#xff1a; 完整代码&#xff1a; import cv2 import dlib import numpy as npJAW_POINTS list(range(0, 17)) RIGHT_BROW_POINTS list(range(17, 22)) LEFT_BROW_POINTS list(range(22, 27)) NOSE_POINTS list(range(27, 35)) RIGHT_EYE_POINTS list(range(36…

linux下使用VSCODE 调试python

文章目录 一、环境准备安装VS Code&#xff1a;安装Python&#xff1a; 二、环境测试创建Python文件&#xff1a;编写测试代码运行 Linux下使用VS Code调试Python 在Linux环境中进行Python开发时&#xff0c;一个高效、直观的调试工具是必不可少的。Visual Studio Code&#xf…

Web Hid Api浏览器读取IC卡号Js源码,无需插件支持

本示例使用的读卡器&#xff1a;https://item.taobao.com/item.htm?spma21dvs.23580594.0.0.52de2c1bW5eU3X&ftt&id615391857885 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-trans…

【R语言】gadm全球行政区划数据库

我R语言不熟、也不是学GIS的。仅用于记录。 文章目录 一、gadm 数据库简介二、R 语言示例三、sf 包的函数 一、gadm 数据库简介 GADM&#xff08;全称Database of Global Administrative Areas&#xff09;是一个高精度的全球行政区划数据库&#xff0c;它包含了全球所有国家和…

数字图像处理:图像去噪

图像去噪–总变差去噪&#xff08;TV&#xff09; 引用资料&#xff1a; 1.全变分图像去噪算法&#xff08;TV&#xff09; 2.TV去噪的理解 总变差去噪 (Total Variation Denoising) 是一种经典的图像去噪方法&#xff0c;能够有效减少噪声&#xff0c;同时保留图像的边缘细节…

单例模式(自动加载)

目录 介绍 使用 在脚本中写一个函数 让一个「自定义场景」作为单例「自动加载」 介绍 单例模式是编程中的一种设计思想&#xff0c;是为了解决某些编程语言中没有全局变量概念而产生的这对于实现某种模块非常好用 比如玩家信息&#xff0c;有时候&#xff0c;游戏中的很多…

以太网交换安全:MAC地址漂移与检测(实验:二层环路+网络攻击)

一、什么是MAC地址漂移&#xff1f; MAC地址漂移是指网络中设备的MAC地址在运行过程中发生变化的现象。 MAC地址是用于唯一标识网络中的设备。 MAC地址漂移是指交换机上一个VLAN内有两个端口学习到同一个MAC地址&#xff0c;后学习到的MAC地址表项覆盖原MAC地址表项的现象。…

Jsoup在Java中:解析京东网站数据

对于电商网站如京东来说&#xff0c;其页面上的数据包含了丰富的商业洞察。对于开发者而言&#xff0c;能够从这些网站中提取有价值的信息&#xff0c;进行分析和应用&#xff0c;无疑是一项重要的技能。本文将介绍如何使用Java中的Jsoup库来解析京东网站的数据。 Jsoup简介 …

Windows】【DevOps】Windows Server 2022 采用WinSW 启动一个会创建新的控制台程序窗口的程序行为分析

WinSW使用参考 【Windows】【DevOps】Windows Server 2022 采用WinSW将一个控制台应用程序作为服务启动&#xff08;方便&#xff09;-CSDN博客 源码 调整ConsoleApp1程序源代码如下&#xff1a; using System; using System.Diagnostics; using System.IO; using System.R…