『NLP学习笔记』长序列预测论文LTSF-Linear解读

news2024/10/6 16:19:24
长序列预测论文LTSF-Linear解读

文章目录

  • 一. 引言
  • 二. 直接多步(DMS)和迭代多步(IMS)的对比
  • 三. 基于变压器的Transformer解决方案
    • 3.1. 预处理(preprocessing)
    • 3.2. 词向量(embedding)
    • 3.3. 编码(encoder)
    • 3.4. 解码(encoder)
  • 四. 一个简单得令人尴尬的Baseline
  • 五. 代码解读
    • 5.1. 数据集划分模块(custom)
    • 5.2. 模型结构
  • 六. 参考文献

  • 论文代码Github链接:https://arxiv.org/pdf/2205.13504.pdf

一. 引言

  • Transformer的主要能力来自其多头的自注意机制,该机制具有提取长序列元素之间语义相关性的显著能力(例如文本中的单词或图像中的2D补丁)。然而,在某种程度上,自注意力计算是一种排列不规则(permutation-invariant)和“反秩序”(anti-order)的。虽然使用各种类型的位置编码技术可以保留一些排序信息,但在time series data上面应用自注意后,时间信息仍然不可避免地丢失。
  • 对于NLP等语义应用来说,这通常不是一个严重的问题,例如,即使我们对句子中的一些单词重新排序,句子的语义也基本上保持不变然而,在分析时间序列数据时,数值数据本身通常缺乏语义,我们主要感兴趣的是建模连续点集之间的时间变化。 也就是说,order本身起着最关键的作用。因此,我们提出了以下有趣的问题:transformer对长期时间序列预测真的有效吗?
  • 此外,虽然现有的基于Transformer的LTSF解决方案表明,与传统方法相比,预测精度有了显著提高,在他们的实验中,所有比较(非Transformer)基线都进行了自回归或 迭代多步(iterated multi-step,IMS) 预测,已知这些基线在LTSF问题上存在显著的 误差累积效应。因此,在这项工作中,我们用 直接多步(direct multi-step, DMS) 预测策略挑战基于Transformer的LTSF解决方案,以验证其实际性能。(IMS就是单个模型,预测 t t t t t t 作为input,再预测 t + 1 t+1 t+1 t + 1 t+1 t+1 作为input,再预测 t + 2 t+2 t+2,etc。DMS对于传统的lr或gbdt来说,预测未来 t t t 个时间步,则构建 t t t 个模型,对于神经网络来说,就是设置一个和预测长度相同的输出层大小,简单来说就是向量输出预测了)。
  • 并非所有时间序列都是可预测的,更不用说长期预测(例如,对于混沌系统)。我们假设,长期预测 只适用于趋势和周期 相对清晰的时间序列。由于线性模型已经可以提取这些信息,我们引入了一组令人尴尬的简单模型,名为LTSF linear,作为比较的新基线。LTSF线性模型用一层线性模型对历史时间序列进行回归,直接预测未来时间序列。我们对九个广泛使用的基准数据集进行了广泛的实验,这些数据集涵盖了各种现实应用:交通、能源、经济、天气和疾病预测。令人惊讶的是,我们的结果显示,LTSF Linear在所有情况下都优于现有的复杂Transformerbased模型,并且通常有很大的差距(20%∼ 50%).
  • 此外,我们发现,与现有transformer中的主张相反,大多数transformer无法从长序列中提取时间关系,即预测误差不会随着回望窗口大小的增加而减少(有时甚至增加,别骂别骂了)。最后,我们对现有的基于变压器的TSF解决方案进行了各种烧蚀研究,以研究其中各种设计元素的影响。

二. 直接多步(DMS)和迭代多步(IMS)的对比

  • 与DMS预测结果相比,由于采用了自回归模式,IMS预测的方差较小,但不可避免地会受到误差累积效应的影响。因此,当有一个高度准确的单步的predictor,且 T T T (未来时间步)相对较小时,IMS更可取。相比之下,当难以获得无偏的单步预测模型或 T T T 较大时,DMS预测会生成更准确的预测(make sense)。

三. 基于变压器的Transformer解决方案

  • 当将Transformer模型应用于LTSF问题时,它有一些局限性,包括原始自注意力方案的 二次时间/内存复杂性和自回归解码器设计引起的误差累积 Informer解决了这些问题,并提出了一种降低复杂性的新型Transformer架构和DMS预测策略。后来更多的Transformer变体将各种时间序列特性引入其模型,以提高性能或效率。

在这里插入图片描述

3.1. 预处理(preprocessing)

  • 时间序列分解: 对于数据预处理,零均值归一化在TSF中很常见。此外,Autoformer首先在每个神经块后面应用 季节性趋势分解这是时间序列分析中的标准方法,以使原始数据更具可预测性。具体来说,他们在输入序列上使用 滑动平均kernel来提取时间序列的趋势周期分量。原始序列和趋势分量之间的差异被视为季节分量在Autoformer分解方案的基础上,FEDformer进一步提出了混合专家策略,以混合不同核大小的移动平均核提取的趋势分量。
  • 具体可以参考:Autoformer基于深度分解架构和自相关机制的长期序列预测模型

3.2. 词向量(embedding)

  • Transformer架构中的自我注意力层 无法保留时间序列的位置信息。然而local position information,即时间序列本身的顺序,很重要。并且global time information,如 时间戳(周、月、年)和不可知时间戳(假日和事件),也具有信息性。 为了增强时间序列输入的时间上下文,基于SOTA Transformer的方法中的一个实用设计是向输入序列中注入若干嵌入,如固定位置编码、通道投影嵌入和可学习的时间嵌入。此外,还引入了具有时间卷积层或可学习时间戳的时间嵌入。

3.3. 编码(encoder)

  • 这部分的工作基本上是在做 计算复杂度的降低的工作。为了减少原始的transformer的 O ( n 2 ) O(n^2) O(n2)的时间和内存复杂性,最近的工作提出了两种提高效率的策略。
  • 一方面: LogTrans和Pyraformer明确地将稀疏性偏差引入到自我注意力中。具体而言,LogTrans使用Logsparse掩码将计算复杂度降低到 O ( L l o g L ) O(Llog^L) O(LlogL),而Pyraformer采用pyramic attention,以 O ( L ) O(L) O(L)时间和内存复杂度捕获分层多尺度时间依赖。
  • 一方面: Informer和FEDformer在自我注意矩阵中使用低秩属性。Informer提出了 ProbSparse自我注意机制 和自我注意提取操作,以将复杂度降低到 O ( L l o g L ) O(Llog^L) O(LlogL),FEDformer设计了一个 傅里叶增强块和一个随机选择的小波增强块,以获得 O ( L ) O(L) O(L)复杂度。
  • 最后Autoformer设计了一种串联自相关机制来取代原来的自我注意层。

3.4. 解码(encoder)

  • 普通Transformer decoder 以自回归方式输出序列,导致推理速度慢和误差累积效应特别是对于长期预测。Informer 通过DMS预测的方式设计了一个生成式解码器。其他Transformer采用类似的DMS策略。例如,Pyraformer使用连接时空轴的完全连接层作为解码器。Autoformer将趋势周期分量的两个精细分解特征和季节分量的叠加自相关机制进行汇总,得到最终预测。FEDformer还使用分解方案和建议的频率注意块来解码最终结果。

四. 一个简单得令人尴尬的Baseline

  • 在现有基于变压器的LTSF解决方案的实验中,所有比较(非transformer)的model都是通过IMS的方式预测的,众所周知,这些技术存在严重的误差累积效应。我们假设,这些工作中的性能改进很大程度上是由于使用了DMS策略。
  • 为了验证这一假设,我们通过一个名为LTSF linear的时间线性层提出了最简单的DMS模型,作为比较的baseline。
  • 看上图其实就很清楚了,假设我们有一个10个变量的单序列,历史长度100,并假设预测未来50个时间步,则单个样本是一个100X10的time series matrix。另外这里的linear layer的权重是share的,所以可以看到整个模型的结构是非常简单的,参数量很小了。
  • 升级版分别是DLinear和Nlinear。
  • DLinear是Autoformer和FEDformer中使用的分解方案与线性层的组合。它 首先通过移动平均kernel和季节分量将输入的原始数据分解为趋势分量。然后,将两个一层线性层应用于每个组件,并将这两个特征进行汇总以获得最终预测。通过显式处理趋势,当数据中有明确的趋势时,DLinear增强了普通线性的性能。
  • 同时,当数据集中存在分布偏移时,为了提高LTSF Linear的性能,NLinear首先用序列的最后一个值减去输入。然后,输入经过一个线性层,减去的部分在进行最终预测之前加回来。NLinear中的减法和加法是输入序列的简单规范化。(其实就是差分操作)

五. 代码解读

  • 论文代码Github链接:https://github.com/cure-lab/LTSF-Linear

5.1. 数据集划分模块(custom)

  • 数据集划分具体过程: 这里数据的最小粒度是小时,根据过去7天168个点的数据预测未来7天168个点的数据。

5.2. 模型结构

  • DLinear整体结构图: 主要就是nn.AvgPool1dnn.Linear 模块。
  • DLinear具体流程图(这里以seq_len=168,pred_len=168为例): 这里nn.AvgPool1d中的kernel_size=25 其实就可以理解是一天25个点为周期项,如果为了提升模型的性能,本人认为可以进一步考虑2天,或者其它的周期项(可以参考上一篇:TextCNN文本分类原理及Pytorch实现中的n-gram思想),效果应该会更好。

六. 参考文献

  • Are Transformers Effective for Time Series Forecasting:https://zhuanlan.zhihu.com/p/569194246

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

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

相关文章

MySQL字符串索引创建方案

字符串字段添加索引 MySQL是支持前缀索引的,也就是说,你可以定义字符串的一部分作为索引。默认地,如果你创建索引的语句不指定前端长度,那么索引就会包含整个字符串。 # 包含整个字符串 alter table table_name add index index…

liteos连接器脚本隐藏的指针问题

一,数据拷贝引起的指针问题 大家想一下,一个指针指向的内存地址处的数据,假设拷贝到了另外一个地方,那么这个时候我们的指针还是指向原来的位置,那么就会导致问题。为什么提出这个问题呢?因为我们前面讲到了liteos的data段的拷贝,那么对于data段的访问的指针是不是也要…

供应Pyrene-PEG-Biotin,Biotin-PEG-Pyrene,芘丁酸-聚乙二醇-生物素

一:产品描述 1、名称 英文:Pyrene-PEG-Biotin,Biotin-PEG-Pyrene 中文:芘丁酸-乙二醇-生物素 2、CAS编号:N/A 3、所属分类:Biotin PEG Pyrene PEG 4、分子量:可定制,Pyrene-PE…

知识点15--k8s应用入门

本篇我们用上一篇知识点搭建的k8s集群,认识k8s的入门级使用方法,无法完全体现出k8s的性能,注意不是高级的应用。顺便说一点k8s的操作都依靠于命令,甚至是修改配置文件也提供了编辑命令,命令很像js的选择器,…

视频截图修复方法是什么?这些方法和步骤教会你

在日常的生活中,你是否会遇到过这样的情况:每当在观看一些视频的时候,看到自己喜欢的剧情片段时,就会想要将其截取下来留作收藏,但有时候可能会出现截出来的图片画面是模糊的,这该怎么办呢?其实…

MODBUS-TCP协议

modbus-tcp顾名思义是基于TCP网络连接的MODBUS协议。 和RS485总线不同,TCP协议是通过设备的IP地址和端口来寻址。 modbus-tcp的默认端口号是502,设备端作为TCP服务器监听502端口,主机为TCP客户端主动去连接外设。与RS485一样,主机…

LVI-SAM源码解析(一):论文阅读

1. 摘要 LVI-SAM是一种基于平滑化和映射实现的激光雷达-视觉-IMU紧耦合SLAM方法,能够实现高精度、高鲁棒性地实时状态估计和地图构建。 LVI-SAM建立于包含两个子系统的因子图上:视觉-IMU子系统(VIS)和激光-IMU子系统&#xff…

CMake中target_compile_features的使用

CMake中的target_compile_features命令用向target添加预期的编译器功能(compiler features)&#xff0c;其格式如下&#xff1a; target_compile_features(<target> <PRIVATE|PUBLIC|INTERFACE> <feature> [...]) 指定在编译给定的<target>时所需的编…

SpringBoot+Vue+kkFileView实现文档管理(文档上传、下载、在线预览)

场景 SpringBootVueOpenOffice实现文档管理(文档上传、下载、在线预览)&#xff1a; SpringBootVueOpenOffice实现文档管理(文档上传、下载、在线预览)_霸道流氓气质的博客-CSDN博客_vue openoffice 上面在使用OpenOffice实现doc、excel、ppt等文档的管理和预览。 除此之外…

linux下安装nginx

linux下安装nginx 注&#xff1a;此处需要先安装vmware&#xff0c;下载Centos8等工具&#xff0c;配置好一个虚拟机。 1、下载nginx的linux版本 2、上传至搭建好的linux环境上。 3、解压nginx压缩包 4、安装nginx编译需要的相关 安装 nginx 需要先将官网下载的源码进行编译…

Spring源码深度解析十五:@Aspect方式的AOP中篇 - getAdvicesAndAdvisorsForBean

一、前言 文章目录&#xff1a;Spring源码深度解析&#xff1a;文章目录 在上篇中我们概述了Aop 实现的逻辑&#xff0c;但是由于篇幅原因&#xff0c;我们将一部分内容拆成了中篇和下篇内容。本篇即中篇&#xff0c;内容主要是讲述 在 Bean创建过程中Aop 挑选适用于当前Bean…

html简洁风格的个人博客网站模板(源码)

文章目录1.设计来源1.1 博客首界面1.2 个人简介界面1.3 日常记录界面1.4 文章列表界面1.5 文章信息界面2.结构源码2.1 目录结构2.2 源代码源码下载作者&#xff1a;xcLeigh 文章地址&#xff1a;https://blog.csdn.net/weixin_43151418/article/details/128288153 html简洁风格…

qtday1:2、重新手动实现对象树模型

代码段加注释 #include <iostream> #include<list> using namespace std; class A { public:list<A *> child; //创建一个链表 public:A(A *parent nullptr){if(parent !nullptr) //说明有父组件{parent->child.push_back(this); //有父组件就将该…

数商云SRM供应商系统询比价采购业务流程介绍,重塑汽修企业核心竞争力

众所周知&#xff0c;采购供应是关系企业经营效益的重要工作。在汽修行业&#xff0c;由于汽车配件的车型规格繁多&#xff0c;技术业务性强&#xff0c;各种类商品采购过程的艰难性、销售状况的复杂性等等&#xff0c;汽配采购往往容易陷入种种困境&#xff0c;极大降低汽修企…

Qt-Web混合开发-QWebEngineView加载网页最小示例(1)

Qt-Web混合开发-QWebEngineView加载网页最小示例&#x1f4a5; 文章目录Qt-Web混合开发-QWebEngineView加载网页最小示例&#x1f4a5;1、概述&#x1f4af;2、实现效果&#x1f4a6;3、实现功能&#x1f4ac;4、关键代码&#x1f4a4;5、源代码&#x1f648;更多精彩内容&…

【20天快速掌握Python】day01-Python入门

1、什么是Python&#xff1f; Python是一门解释型的编程语言&#xff0c;而且是现在世界上最流行的编程语言之一。 2、Python优缺点 优点 简单&#xff1a;Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样&#xff0c;尽管这个英语的要…

driftingblues靶机(0ok编码)

环境准备 靶机链接&#xff1a;百度网盘 请输入提取码 提取码&#xff1a;oylc 虚拟机网络链接模式&#xff1a;桥接模式 攻击机系统&#xff1a;kali linux 2021.1 信息收集 1.探测目标靶机ip arp-scan -l 2.探测目标靶机开放端口和服务情况 nmap -A -sV -p- 192.168.…

SpringCloud之微服务环境搭建

目录 1、微服务介绍 1.1.微服务架构介绍 1.2.微服务架构的常见问题 1.3.微服务架构的常见解决方案 1.3.1.ServiceComb ​ 1.3.2.SpringCloud 1.3.3.SpringCloud Alibaba 2、微服务环境搭建 2.1案例准备 技术选项&#xff1a; 模块设计&#xff1a; …

pyqt5打包后的exe文件在网吧windoes7系统运行报错问题

方案一 用录屏软件录个视频&#xff0c;然后用播放软件打开逐帧查看&#xff0c;找到报错原因&#xff0c;一般是某个包导入错误&#xff0c;重新安装下对应的包。(忒麻烦) 方案二 生成的exe文件你们执行的话&#xff0c;cmd黑框肯定会一闪而过&#xff0c;但是没有关系&…

[附源码]Nodejs计算机毕业设计基于Java的在线点餐系统Express(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程。欢迎交流 项目运行 环境配置&#xff1a; Node.js Vscode Mysql5.7 HBuilderXNavicat11VueExpress。 项目技术&#xff1a; Express框架 Node.js Vue 等等组成&#xff0c;B/S模式 Vscode管理前后端分…