独家原创 | SCI 1区 高创新预测模型!

embedded/2024/11/22 19:22:15/

 往期精彩内容:

时序预测:LSTM、ARIMA、Holt-Winters、SARIMA模型的分析与比较

全是干货 | 数据集、学习资料、建模资源分享!

EMD变体分解效果最好算法——CEEMDAN(五)-CSDN博客

拒绝信息泄露!VMD滚动分解 + Informer-BiLSTM并行预测模型-CSDN博客

风速预测(一)数据集介绍和预处理_风速数据在哪里下载-CSDN博客

风速预测(二)基于Pytorch的EMD-LSTM模型-CSDN博客

风速预测(三)EMD-LSTM-Attention模型-CSDN博客

风速预测(四)基于Pytorch的EMD-Transformer模型-CSDN博客

风速预测(五)基于Pytorch的EMD-CNN-LSTM模型-CSDN博客

风速预测(六)基于Pytorch的EMD-CNN-GRU并行模型-CSDN博客

风速预测(七)VMD-CNN-BiLSTM预测模型-CSDN博客

单步预测-风速预测模型代码全家桶-CSDN博客

CEEMDAN +组合预测模型(BiLSTM-Attention + ARIMA)-CSDN博客

CEEMDAN +组合预测模型(Transformer - BiLSTM + ARIMA)-CSDN博客

CEEMDAN +组合预测模型(CNN-LSTM + ARIMA)-CSDN博客

CEEMDAN +组合预测模型(CNN-Transformer + ARIMA)-CSDN博客

多特征变量序列预测(一)——CNN-LSTM风速预测模型-CSDN博客

多特征变量序列预测(二)——CNN-LSTM-Attention风速预测模型-CSDN博客

多特征变量序列预测(三)——CNN-Transformer风速预测模型-CSDN博客

多特征变量序列预测(四) Transformer-BiLSTM风速预测模型-CSDN博客

多特征变量序列预测(五) CEEMDAN+CNN-LSTM风速预测模型-CSDN博客

多特征变量序列预测(六) CEEMDAN+CNN-Transformer风速预测模型-CSDN博客

 多特征变量序列预测(七) CEEMDAN+Transformer-BiLSTM预测模型-CSDN博客

多特征变量序列预测(八)基于麻雀优化算法的CEEMDAN-SSA-BiLSTM预测模型-CSDN博客

多特征变量序列预测(九)基于麻雀优化算法的CEEMDAN-SSA-BiGRU-Attention预测模型-CSDN博客

多特征变量序列预测(10)基于麻雀优化算法的CEEMDAN-SSA-Transformer-BiLSTM预测模型-CSDN博客

多特征变量序列预测(11) 基于Pytorch的TCN-GRU预测模型-CSDN博客

基于麻雀优化算法SSA的CEEMDAN-BiLSTM-Attention的预测模型-CSDN博客

基于麻雀优化算法SSA的CEEMDAN-Transformer-BiGRU预测模型-CSDN博客

半天入门!锂电池剩余寿命预测(Python)-CSDN博客

超强预测模型:二次分解-组合预测-CSDN博客

VMD + CEEMDAN 二次分解,BiLSTM-Attention预测模型-CSDN博客

超强预测算法:XGBoost预测模型-CSDN博客

基于麻雀优化算法SSA的预测模型——代码全家桶-CSDN博客

VMD + CEEMDAN 二次分解,CNN-Transformer预测模型-CSDN博客

创新点:

1.利用时空卷积网络(TCN)来提取序列的全局空间特征,同时利用 Transformer 来提取序列中的长期依赖关系的时序特征,采用并行结构,加快模型的训练和推理速度;

2.利用交叉注意力进行并行网络时空特征的融合,这样可以同时考虑时序关系和位置关系,从而更好地捕捉时空序列数据中的特征,增强特征的表示能力来实现高精度的预测。

注意:此次产品,我们还有配套的模型讲解(方便学习网络结构)和参数调节讲解(用在自己数据集上调参)!有毕业设计或者发小论文需求的同学必看,模块丰富,创新度高,性能优越!

该模型 多变量特征 | 单变量序列预测都适用!

前言

本文基于前期介绍的电力变压器(文末附数据集),介绍一种基于交叉注意力融合时空特征的TCN-Transformer并行预测模型,以提高时间序列数据的预测性能。电力变压器数据集的详细介绍可以参考下文:

电力变压器数据集介绍和预处理

1 模型整体结构

模型整体结构如下所示,多特征变量时间序列数据先经过TCN网络提取全局特征,同时数据通过Transformer编码器层提取时序特征,使用交叉注意力机制融合空间和时序特征,通过计算注意力权重,使得模型更关注重要的特征再进行特征增强融合,最后经过全连接层进行高精度预测。

(1) 时空卷积网络(TCN):

  • TCN是一种卷积神经网络结构,用于捕捉时序数据中的时序关系。它由一系列的1D卷积层组成,每个卷积层都具有相同的卷积核大小和步长。

  • TCN中的残差连接(Residual Connections)和空洞卷积(Dilated Convolutions)用于增加网络的感受野,以便更好地捕捉时序数据中的长期依赖关系。

  • TCN可以同时处理多个时间步的输入,这使得模型能够在多个时间步上进行并行预测。

(2) Transformer模型:

  • Transformer是一种基于自注意力机制的序列建模方法,通过注意力机制来建模序列中不同位置之间的依赖关系,能够捕捉序列中的全局上下文信息。

  • 自注意力机制通过计算输入序列中不同位置的相关性来分配不同位置的权重。这使得模型能够根据序列中不同位置的重要性来进行建模和预测。

(3) 并行预测:

  • TCN-Transformer模型采用并行结构,能够同时预测多个时间步的目标。

  • 并行预测可以加快模型的训练和推理速度,并且能够充分利用时序数据中的信息,提高预测性能。

(4) 交叉注意力融合:

使用交叉注意力机制融空间和时序特征,可以通过计算注意力权重,学习时空特征中不同位置之间的相关性,可以更好地捕捉时空序列数据中的特征,提高模型性能和泛化能力。

多特征变量数据集制作与预处理

2.1 导入数据

2.2 制作数据集

制作数据集与分类标签

3 交叉注意力机制

图片

3.1 Cross attention概念

  • Transformer架构中混合两种不同嵌入序列的注意机制

  • 两个序列必须具有相同的维度

  • 两个序列可以是不同的模式形态(如:文本、声音、图像)

  • 一个序列作为输入的Q,定义了输出的序列长度,另一个序列提供输入的K&V

3.2 Cross-attention算法 

  • 拥有两个序列S1、S2

  • 计算S1的K、V

  • 计算S2的Q

  • 根据K和Q计算注意力矩阵

  • 将V应用于注意力矩阵

  • 输出的序列长度与S2一致

图片

在融合过程中,我们将经过Transformer的时序特征作为查询序列,TCN提取的全局空间特征作为键值对序列。通过计算查询序列与键值对序列之间的注意力权重,我们可以对不同特征之间的关联程度进行建模。

4 基于TCN-Transformer-CrossAttention的高精度预测模型

4.1 定义网络模型

4.2 设置参数,训练模型

50个epoch,训练误差极小,多变量特征TCN-Transformer-CrossAttention融合网络模型预测效果显著,模型能够充分提取时间序列的空间特征和时序特征,收敛速度快,性能优越,预测精度高,交叉注意力机制能够对不同特征之间的关联程度进行建模,从序列时空特征中提取出对模型预测重要的特征,效果明显!

4.3 模型评估和可视化

预测结果可视化

模型评估

5 代码、数据整理如下:


http://www.ppmy.cn/embedded/139686.html

相关文章

Docker1:认识docker、在Linux中安装docker

欢迎来到“雪碧聊技术”CSDN博客! 在这里,您将踏入一个专注于Java开发技术的知识殿堂。无论您是Java编程的初学者,还是具有一定经验的开发者,相信我的博客都能为您提供宝贵的学习资源和实用技巧。作为您的技术向导,我将…

Python入门(12)--数据处理

Python数据处理:从JSON、CSV到XML的全面解析 🔍 1. JSON数据处理 {} JSON(JavaScript Object Notation)是现代数据交换的核心格式,在Python中处理JSON变得异常简单而强大。本节将深入探讨JSON处理的方方面面。 1.1 …

[linux] linux c实现共享内存读写操作

IPC_PRIVATE IPC_PRIVATE 是用于创建新的 System V IPC(Inter-Process Communication,进程间通信)对象的特殊键值。在使用 System V 共享内存、消息队列或信号量时,IPC_PRIVATE 可以作为 key 参数传递给 shmget、msgget 或 semge…

游戏引擎学习第18天

clang-format 相关的配置可以参考下面 .clang-format 是用来配置代码格式化规则的文件,主要用于 Clang-Format 工具。以下是 .clang-format 文件中的一些常用设置: 1. 基础设置 Language: Cpp # 指定语言 (C, C, Java, JavaScript, etc…

reids基础

数据结构类型 String setnx //设置key不存在,则添加成功 setex name 10 jack // key 10s失效,自动删除 hash hset hget list 按添加数据排序 lpush //左侧插入 rpush //右侧插入 set 不重复 sadd //添加…

IDEA优雅debug

目录 引言一、断点分类🎄1.1 行断点1.2 方法断点1.3 属性断点1.4 异常断点1.5 条件断点1.6 源断点1.7 多线程断点1.8 Stream断点 二、调试动作✨三、Debug高级技巧🎉3.1 watch3.2 设置变量3.3 异常抛出3.4 监控JVM堆大小3.5 数组过滤和筛选 引言 使用ID…

android 性能分析工具(04)Asan 内存检测工具

1 Asan工具简介 1.1 Asan工具历史背景 AddressSanitizer(ASan)最初由Google开发,并作为LLVM项目的一部分。ASan的设计目的是帮助开发者检测并修复内存错误,如堆栈和全局缓冲区溢出、使用已释放的内存等,这些问题可能…

论文 | Learning to Transfer Prompts for Text Generation

1. 总结与提问 论文摘要总结: 论文提出了一种创新的PTG(Prompt Transfer Generation)方法,旨在通过迁移提示的方式解决传统预训练语言模型(PLM)在数据稀缺情况下微调的问题。通过将一组已在源任务中训练好…