EI级 | Matlab实现TCN-BiLSTM-Multihead-Attention多头注意力机制多变量时间序列预测

EI级 | Matlab实现TCN-BiLSTM-Multihead-Attention多头注意力机制多变量时间序列预测

目录

    • EI级 | Matlab实现TCN-BiLSTM-Multihead-Attention多头注意力机制多变量时间序列预测
      • 预测效果
      • 基本介绍
      • 程序设计
      • 参考资料

预测效果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

基本介绍

1.【EI级】Matlab实现TCN-BiLSTM-Multihead-Attention时间卷积双向长短期记忆神经网络融合多头注意力机制多变量时间序列预测;
多头自注意力层 (Multihead-Self-Attention):Multihead-Self-Attention多头注意力机制是一种用于模型关注输入序列中不同位置相关性的机制。它通过计算每个位置与其他位置之间的注意力权重,进而对输入序列进行加权求和。注意力能够帮助模型在处理序列数据时,对不同位置的信息进行适当的加权,从而更好地捕捉序列中的关键信息。在时序预测任务中,注意力机制可以用于对序列中不同时间步之间的相关性进行建模。
2.运行环境为Matlab2023a及以上;
3.data为数据集,输入多个特征,输出单个变量,考虑历史特征的影响,多变量时间序列预测,main.m为主程序,运行即可,所有文件放在一个文件夹;
4.命令窗口输出R2、MSE、RMSE、MAE、MAPE、MBE等多指标评价。

在这里插入图片描述

程序设计

  • 完整程序和数据获取方式:私信博主回复Matlab实现TCN-BiLSTM-Multihead-Attention多头注意力机制多变量时间序列预测获取。
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
%%  划分训练集和测试集
P_train = res(1: num_train_s, 1: f_)';
T_train = res(1: num_train_s, f_ + 1: end)';
M = size(P_train, 2);
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
P_test = res(num_train_s + 1: end, 1: f_)';
T_test = res(num_train_s + 1: end, f_ + 1: end)';
N = size(P_test, 2);
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
%%  数据归一化
[p_train, ps_input] = mapminmax(P_train, 0, 1);
p_test = mapminmax('apply', P_test, ps_input);
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[t_train, ps_output] = mapminmax(T_train, 0, 1);
t_test = mapminmax('apply', T_test, ps_output);
%%  相关指标计算
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
%  MAPE
maep1 = sum(abs(T_sim1 - T_train)./T_train) ./ M ;
maep2 = sum(abs(T_sim2 - T_test )./T_test) ./ N ;
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
disp(['训练集数据的MAPE为:', num2str(maep1)])
disp(['测试集数据的MAPE为:', num2str(maep2)])
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
%  RMSE
RMSE1 = sqrt(sumsqr(T_sim1 - T_train)/M);
RMSE2 = sqrt(sumsqr(T_sim2 - T_test)/N);
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
disp(['训练集数据的RMSE为:', num2str(RMSE1)])
disp(['测试集数据的RMSE为:', num2str(RMSE2)])

参考资料

[1] http://t.csdn.cn/pCWSp
[2] https://download.csdn.net/download/kjm13182345320/87568090?spm=1001.2014.3001.5501
[3] https://blog.csdn.net/kjm13182345320/article/details/129433463?spm=1001.2014.3001.5501

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

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

相关文章

特征变换1

编译工具:PyCharm 有些编译工具不用写print可以直接将数据打印出来,pycharm需要写print才会打印出来。 概念 1.特征类型 特征的类型:“离散型”和“连续型” 机器学习算法对特征的类型是有要求的,不是任意类型的特征都可以随意…

docker (简介、dcoker详细安装步骤、容器常用命令)一站打包- day01

一、 为什么出现 Docker是基于Go语言实现的云开源项目。 Docker的主要目标是“Build,Ship and Run Any App,Anywhere”,也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的APP(可以是一个WEB应用或数据库应…

阿里云Arthas使用——通过watch命令查看类的返回值 捞数据出来

前言 Arthas 是一款线上监控诊断产品,通过全局视角实时查看应用 load、内存、gc、线程的状态信息,并能在不修改应用代码的情况下,对业务问题进行诊断,包括查看方法调用的出入参、异常,监测方法执行耗时,类…

交互思路之“大象冰箱”

前言 是时候往往会思考一些工作的方法论,每个设计师都都自己搭建方法论的思路,笔者更擅长巨像化的设计思路,今天就介绍一个设计思路:如何把大象装进冰箱里? 来源 这个思路来源于宋丹丹与赵本山合作的小品“送水工”…

计算机体系结构----指令系统(二)

本文仅供学习,不作任何商业用途,严禁转载。绝大部分资料来自----计算机系统结构教程(第二版)张晨曦等 计算机体系结构----指令系统(二) 2.1 指令系统结构的分类2.2 寻址方式2.3 MIPS 指令系统结构2.3.1 MIPS的寄存器2.3.2 MIPS的…

PLC:200smart(13-16章)

PLC:200smart 第十三章2、带参子程序3、将子程序设置成库文件 第十三章 项目ValueValue主程序MAIN一个项目只能有一个,循环扫描子程序SBR_0项目中最多有128个,只有在调用时 才执行(子程序可以嵌套其他子程序,最多八层…

SSD-FTL算法学习总结1

SSD核心技术:FTL算法。 1、什么是FTL? FTL是Flash Translation Layer(闪存转换层),完成主机(HOST)逻辑地址空间到闪存Flash物理地址空间的翻译,或者说映射(Mapping)。 FTL算法分成…

K3S环境搭建

中文官网https://docs.k3s.io/zh/更适合中国宝宝体质 k3s是轻量化的容器编排工具,跟k8s有一定区别,但是用法类似 名词差异: k8s master worker k3s server agent安装前修改/etc/hosts,使每一个节点都有一个名称,不允…

Linux常用命令----mkdir命令

文章目录 1. 基础概念2. 参数含义3. 常见用法4. 实例演示5. 结论 在Linux操作系统中,mkdir 命令是用来创建目录的基础命令。这个命令简单但极其强大,是每个Linux用户都应当熟悉的工具之一。以下是对mkdir命令的详细介绍,包括其参数含义、常见…

各种与梅洛相关的葡萄酒知识

梅洛葡萄是可以通过其松散的大浆果串来识别的,与赤霞珠葡萄相比,这种颜色的蓝色/黑色调更少,皮肤更薄,单宁更少。与赤霞珠相比,梅洛葡萄的糖含量往往更高,苹果酸含量较低。梅洛在寒冷的土壤中茁壮成长&…

App测试、H5测试及小程序测试

文章目录 前言一、App常见测试要点1.App功能测试1.1.App安装与卸载1.2.App升级测试1.3.App登陆测试1.4.离线测试1.5.触屏及操作测试1.6.App消息推送测试 2.AppUI界面测试3.App兼容性测试-适配/手机适配4.App中断测试5.App网络测试6.App安全测试7.App性能测试8.App测试与web测试…

实战中jrtplib发送rtp包,时间戳处理大坑

系列文章目录 文章目录 系列文章目录前言一、jrtp是什么?大坑是什么?二、发送rtp over udp码流包,卡顿,跳帧问题三、jrtp源码得到结论总结前言 一、jrtp是什么?大坑是什么? RTP 是目前解决流媒体实时传输问题的最好办法,如果需要在Linux平台上进行实时流媒体编程,可以…

关于实验室招生的一些吐槽

最近在帮实验室招生,面试了很多保研的学生。 我自己也是保研生,清楚一路走来不容易。但是最后还是没收多少学生。 太多学生受应试教育的影响,觉得前进的方向一定是有一个模板的,要有GPA,要有竞赛,要有科研…

4进制思路。。。。。。。。

猪猪 Hanke 特别喜欢吃烤鸡(本是同畜牲,相煎何太急!)Hanke 吃鸡很特别,为什么特别呢?因为他有 1010 种配料(芥末、孜然等),每种配料可以放 11 到 33 克,任意烤…

GPU逻辑管线

文章目录 前言一、渲染流水线二、英伟达显卡简化概念图(GPU)1、我们的Shader会调用英伟达提供的 API2、调用API后,把Shader用到的指令存储在Pushbuffer中3、然后图元分配器,会把 模型数据 和 Shader 指令传入GPU中4、这个SM是每个…

【开源存储】OpenZFS文件系统部署实践

一、前言 参考文档: ZFS源码:Github ZFS部署文档:ZFS-WiKi、ZFS-freebsd OpenZFS 是一个高级文件系统和卷管理器,最初是为 Solaris 开发的,现在由 OpenZFS 社区维护。 1、简介 ZFS是一种先进的现代文件系统&#xff…

Vue2学习笔记(事件处理)

事件的基本使用: 1.使用v-on:xxx 或 xxx 绑定事件,其中xxx是事件名;2.事件的回调需要配置在methods对象中,最终会在vm上;3.methods中配置的函数,不要用箭头函数!否则this就不是vm了&#xff1b…

修复电脑中缺失的VCRUNTIME140.dll文件的5个有效方法

vcruntime140.dll丢失5个修复方法与vcruntime140.dll是什么以及丢失对电脑的影响 引言: 在日常使用电脑的过程中,我们可能会遇到一些错误提示,其中之一就是“vcruntime140.dll丢失”。那么,什么是vcruntime140.dll?它…

如何搭建外网可访问的Serv-U FTP服务器,轻松远程共享文件!

目录 1. 前言 2. 本地FTP搭建 2.1 Serv-U下载和安装 2.2 Serv-U共享网页测试 2.3 Cpolar下载和安装 3. 本地FTP发布 3.1 Cpolar云端设置 3.2 Cpolar本地设置 4. 公网访问测试 5. 总结 1. 前言 科技日益发展的今天,移动电子设备似乎成了我们生活的主角&am…

hutool的bug之 DateUtil.endOfDay(DateUtil.date())

hutool 工具类DateUtil 使用时谨慎 DateUtil.endOfDay 得到的时间保存到数据时会增加一秒 首先比较下时间的long值: 这样就很明显的看出来,hutool工具类的date是毫秒位多了.999,保存到mysql 的时候,MySQL数据库对于毫秒大于500的数据进行…