论文阅读【时间序列】DSformer

news2025/2/25 4:08:21

论文阅读【时间序列】DSformer

arxive: DSformer: A Double Sampling Transformer for Multivariate Time Series Long-term Prediction
github: MTST

分类:多变量时间序列(Multivariate time series)

核心观点

多变量时间序列3个维度信息

Fig 1

  1. 变量间关联(Variable correlation):如Fig. 1(a)所示,不同变量具有相似的变化趋势 → \rightarrow Variable Attention
  2. 全局信息(Global information):如Fig. 1(b)所示,从全局来看,序列显示出一定的周期性 → \rightarrow Down Sampling
  3. 局部信息(Local information):如Fig. 1©所示,局部信息 → \rightarrow Piecewise Sampling

个人观点:全局信息更多指周期项,局部信息更多指趋势项

整体框架

Fig 2

符号含义
N变量数
H输入序列长度
L输出序列长度
C切分子序列数量

N 为变量数,H为输入序列长度,C是切分子序列的数量。
输入序列 X ∈ R N ∗ H X \in R^{N*H} XRNH,经过Down sampling得到 X d s ∈ R N ∗ C ∗ H C X_{ds} \in R ^{N * C * \frac{H}{C}} XdsRNCCH,经过Picewise Sampling得到 X p s ∈ R N ∗ C ∗ H C X_{ps} \in R ^{N * C * \frac{H}{C}} XpsRNCCH
TVA-block中进行Variable AttentionTemporal Attention。其中Temporal Attention Q ∈ R N ∗ C ∗ H C Q \in R ^{N * C * \frac{H}{C}} QRNCCH, K ∈ R N ∗ H C ∗ C K \in R ^{N * \frac{H}{C} *C} KRNCHCVariable Attention Q ∈ R H C ∗ C ∗ N Q \in R ^{\frac{H}{C} * C * N} QRCHCN, K ∈ R ∗ H C ∗ N ∗ C K \in R ^{ * \frac{H}{C} *N *C} KRCHNC

Temporal Attention是子序列之间,通过比较同一变量子序列的相似度计算注意力,Variable Attention是不同子序列之间,通过比较同一位置各个变量的相似度计算注意力。

随后,Temporal AttentionVariable Attention输出 X ′ ∈ R N ∗ C ∗ H C X' \in R ^{N * C * \frac{H}{C}} XRNCCH被FFN压缩成 X ′ ∈ R N ∗ H C X' \in R ^{N * \frac{H}{C}} XRNCH,然后相加。
最后,经过一个TVA-block整理来自不同视角的信息(Down samplingPicewise Sampling)和MLP得到输出。

采样过程

Fig 3

两种采样方式的区别在于如何将切分后的子序列重新排列。

  • Down Sampling: 每隔几个点取一个,用来捕获全局信息
    X d s j = [ x j , x j + H C , x j + 2 ∗ H C , . . . , x j + ( C − 1 ) ∗ H C ] X^j_{ds} = [x_j, x_{j+\frac{H}{C}}, x_{j+2*\frac{H}{C}},..., x_{j+(C-1)*\frac{H}{C}}] Xdsj=[xj,xj+CH,xj+2CH,...,xj+(C1)CH]
  • Piecewise Sampling:
    X p s j = [ x 1 + ( j − 1 ) ∗ C , x 2 + ( j − 1 ) ∗ C , x 3 + ( j − 1 ) ∗ C , . . . , x j ∗ C ] X^j_{ps} = [x_{1+(j-1)*C}, x_{2+(j-1)*C}, x_{3+(j-1)*C},..., x_{j*C}] Xpsj=[x1+(j1)C,x2+(j1)C,x3+(j1)C,...,xjC]

TVA block

Fig4
两种attention的主要区别在于X的维度变化:

  • Temporal Attention: Q ∈ R N ∗ C ∗ H C Q \isin R^{N * C * \frac{H}{C}} QRNCCH, K ∈ R N ∗ H C ∗ C K \isin R^{N * \frac{H}{C} * C} KRNCHC
  • Variable Attention: Q ∈ R H C ∗ C ∗ N Q \isin R^{ \frac{H}{C} * C * N} QRCHCN, K ∈ R H C ∗ N ∗ C K \isin R^{ \frac{H}{C} * N * C} KRCHNC

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

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

相关文章

一款十六进制编辑器,你的瑞士军刀!!【送源码】

软件介绍 ImHex是一款功能强大的十六进制编辑器,专为逆向工程师、程序员以及夜间工作的用户设计。它不仅提供了基础的二进制数据编辑功能,还集成了一系列高级特性,使其成为分析和修改二进制文件的理想工具。 功能特点 专为逆向工程、编程和夜…

Appium adb 获取appActivity

方法一(最简单有效的方法) 通过cmd命令,前提是先打开手机中你要获取包名的APP adb devices -l 获取连接设备详细信息 adb shell dumpsys activity | grep mFocusedActivity 有时获取到的不是真实的Activity 方法二 adb shell monkey -p …

K6 性能测试教程:入门介绍,环境搭建和编写第一个 K6 测试脚本

K6 性能测试教程:入门介绍,环境搭建和编写第一个 K6 测试脚本 这篇文章将带您进入 K6 性能测试的世界。博文内容涵盖了 K6 性能测试的入门知识、环境搭建步骤,以及如何编写您的第一个测试脚本。无论您是初学者还是有经验的性能测试专业人员&…

剪映 v5.5 Pro Vip解锁版:使用指南与注意事项

摘要:本文介绍了剪映Pro VIP解锁版的使用方法,包括安装、测试和使用VIP素材的步骤,以及如何避免误报和保持解锁状态的建议。 正文: 剪映Pro是一款广受欢迎的视频编辑软件,提供了丰富的视频编辑功能和大量高质量的素材…

Python基础001

Python输出语句 print输出字符串 print("中国四大名著:","西游记|","三国演义|","红楼梦|","水浒传") print(6) print(1 1)Python输入语句 input函数 input() input("我的名字是:") p…

javaSE期末练习题

文章目录 前言一、程序控制1.顺序结构问题描述解题思路题解 2.选择结构2.1 题1问题描述解题思路题解 2.1 题2问题描述解题思路题解 3.循环结构3.1 阶乘的求取问题描述解题思路题解 3.2 水仙花数问题描述解题思路题解 二、数组三、类与对象1.类与对象1.1圆类问题描述解题思路题解…

【ES】--Elasticsearch的Nested类型介绍

目录 一、问题现象二、普通数组类型1、为什么普通数组类型匹配不准?三、nested类型四、nested类型查询操作1、只根据nested对象内部数组条件查询2、只根据nested对象外部条件查询3、根据nested对象内部及外部条件查询4、向nested对象数组追加新数据5、删除nested对象数组某一个…

【QT】常用控件|widget|QPushButton|RadioButton|核心属性

目录 ​编辑 概念 信号与槽机制 控件的多样性和定制性 核心属性 enabled geometry ​编辑 windowTiltle windowIcon toolTip styleSheet PushButton RadioButton 概念 QT 控件是构成图形用户界面(GUI)的基础组件,它们是实现与…

第十四届蓝桥杯省赛C++B组E题【接龙数列】题解(AC)

需求分析 题目要求最少删掉多少个数后,使得数列变为接龙数列。 相当于题目要求求出数组中的最长接龙子序列。 题目分析 对于一个数能不能放到接龙数列中,只关系到这个数的第一位和最后一位,所以我们可以先对数组进行预处理,将…

VMware创建新虚拟机教程(保姆级别)

📢 续上一篇 最新超详细VMware虚拟机安装完整教程-CSDN博客 ,本章将详细讲解VMware创建虚拟机。 一、创建新的虚拟机 点击【创建新的虚拟机】! 点击【自定义(高级)】> 下一步! > 默认下一步&#x…

[hive] posexplode生成从去年一月一号,到本月的月时间表

生成从去年一月一号,到本月的月时间表 posexplode用法: lateral view 表别名 as 序号列名,数组中的元素的名 1、生成序列 SELECT time_stamp_fist_day_of_last_year,--去年第一天的时间戳numfrom(SELECTsplit(repeat_o,,) o_array,time_stamp_fist_da…

【2024德国签证】去德国读博士需要申请什么签证?

德国留学签证面签的经过及注意事项 ✨!希望我的经验可以帮助大家顺利通过签证,顺利开启德国留学之旅 。记得带上足够的现金和材料哦 ! 一、选择适合自己的签证类型 在选择签证类型时,一定要根据自己的实际情况来选择合适的签证种…

vmware虚拟机安装openEuler

一、openEuler简介 openEuler是一款开源操作系统。当前openEuler内核源于Linux,支持鲲鹏及其它多种处理器,能够充分释放计算芯片的潜能,是由全球开源贡献者构建的高效、稳定、安全的开源操作系统,适用于数据库、大数据、云计算、…

ESP32CAM物联网教学01

ESP32CAM物联网教学01 拍照 视频 这么小的一个开发板都带上摄像头了,能拍照?能视频吗?现在就跟着我做起来。 初识ESP32CAM 我们到淘宝搜索“ESP32Cam”,就能买到这样一块开发板。 ESP32Cam是双核处理器,提供WIFI和…

监控平台zabbix介绍与部署

目录 1.为什么要做监控 2.zabbix是什么? 3.zabbix 监控原理 4.Zabbix 6.0 新特性 5.Zabbix 6.0 功能组件 6.部署zabbix 6.1 部署 Nginx PHP 环境并测试 6.2 部署数据库 6.3 向数据库导入 zabbix 数据 6.4 编译安装 zabbix Server 服务端 6.5 修改 zabbix…

真的假不了,假的真不了

大家好,我是瑶琴呀,拥有一头黑长直秀发的女程序员。 最近,17岁的中专生姜萍参加阿里巴巴 2024 年的全球数学竞赛,取得了 12 名的好成绩,一时间在网上沸腾不止。 从最开始的“数学天才”,到被质疑&#xff…

QT5 static_cast实现显示类型转换

QT5 static_cast实现显示类型转换,解决信号重载情况

[22] Opencv_CUDA应用之 使用背景相减法进行对象跟踪

Opencv_CUDA应用之 使用背景相减法进行对象跟踪 背景相减法是在一系列视频帧中将前景对象从背景中分离出来的过程,它广泛应用于对象检测和跟踪应用中去除背景 背景相减法分四步进行:图像预处理 -> 背景建模 -> 检测前景 -> 数据验证 预处理去除…

Sentinel实现区分来源

要区分来源就要写代码实现RequestOriginParser接口 ,注意是要实现com.alibaba.csp.sentinel.adapter.servlet.callback.RequestOriginParser 接口,别搞错接口了。 MyRequestOriginParser.java package com.codex.terry.sentinel.origin;import com.ali…

JS数据处理(冒泡寻找对象里面有个Key相同的值并处理相关数据)

1.需要处理成的数据格式 [{ mpptNumber: 1, list:[{checked: false,pvEnableStatus: 0,pvSerialNumber: 1,},{checked: false,pvEnableStatus: 0,pvSerialNumber: 2,}] }, { mpptNumber: 2, list:[{checked: false,pvEnableStatus: 0,pvSerialNumber: 1,},{checked: false,pvE…