负荷预测 | Matlab基于TCN-GRU-Attention单变量时间序列多步预测

目录

      • 效果一览
      • 基本介绍
      • 程序设计
      • 参考资料

效果一览

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

基本介绍

1.Matlab基于TCN-GRU-Attention单变量时间序列多步预测;
2.单变量时间序列数据集,采用前12个时刻预测未来96个时刻的数据;
3.excel数据方便替换,运行环境matlab2023及以上,展示最后96个时间步的预测对比图,评价指标MAE、MAPE、RMSE、MSE、R2;
4.程序语言为matlab,程序可出预测效果图,迭代优化图,相关分析图;
5.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。

TCN(Temporal Convolutional Network,时间卷积网络):TCN是一种卷积神经网络结构,专门用于处理时间序列数据。它通过堆叠一系列的1D卷积层和残差连接来捕捉时间序列中的长期依赖关系。每个卷积层的输出都会被送入下一个卷积层或者其他组件进行进一步处理。

GRU(Gated Recurrent Unit,门控循环单元):GRU是一种循环神经网络结构,用于处理序列数据。它通过门控机制来控制信息的流动和遗忘,从而更好地捕捉序列中的依赖关系。GRU模型可以将TCN的输出作为输入,并根据当前输入和前一个时间步的隐藏状态来生成下一个时间步的隐藏状态。

Attention(注意力机制):注意力机制用于加强模型对序列中不同位置的重要性的关注。通过计算每个时间步的注意力权重,模型可以自动学习并关注序列中最相关的部分。在TCN-GRU模型中,可以使用注意力机制来进一步提取和整合TCN和GRU的输出,以便更好地进行多步预测。

程序设计

  • 完整程序和数据获取方式:私信博主回复Matlab基于TCN-GRU-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);

%  格式转换
for i = 1 : M 
    vp_train{i, 1} = p_train(:, i);
    vt_train{i, 1} = t_train(:, i);
end

for i = 1 : N 
    vp_test{i, 1} = p_test(:, i);
    vt_test{i, 1} = t_test(:, i);
end
lgraph = connectLayers(lgraph,outputName,"flatten");
lgraph = connectLayers(lgraph,"flatten","gru1");
lgraph = connectLayers(lgraph,"flatten","flip3");
lgraph = connectLayers(lgraph,"gru1","concat/in1");
lgraph = connectLayers(lgraph,"gru2","concat/in2");


%  参数设置
options0 = trainingOptions('adam', ...                 % 优化算法Adam
    'MaxEpochs', 150, ...                            % 最大训练次数
    'GradientThreshold', 1, ...                       % 梯度阈值
    'InitialLearnRate', 0.01, ...         % 初始学习率
    'LearnRateSchedule', 'piecewise', ...             % 学习率调整
    'LearnRateDropPeriod',100, ...                   % 训练100次后开始调整学习率
    'LearnRateDropFactor',0.001, ...                    % 学习率调整因子
    'L2Regularization', 0.001, ...         % 正则化参数
    'ExecutionEnvironment', 'cpu',...                 % 训练环境
    'Verbose', 1, ...                                 % 关闭优化过程
    'Plots', 'none');                    % 画出曲线

参考资料

[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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

DNF手游攻略:萌新入坑大全!

玩DNF手游国服已经正式定档,离上线已经越来越近了,很多小伙伴对于装备打造以及附魔还不是特别了解。如果你还不知道装备要怎么附魔,不要担心,本篇攻略将为你全面解析全职业过渡和毕业附魔推荐。 ​ 一、物理职业附魔推荐 1. 武器…

渗透测试信息收集

一、渗透信息收集流程 渗透测试过程前期,需要大量的完善的网站业务信息收集工作,大致信息收集流程为 1、网站域名信息探测 2、网站子域信息探测 3、网站敏感信息收集 4、网站安全工具核实 5、网站旁站利用情况 6、网站业务资产梳理 二、网站域名信息探…

【行为型模式】策略模式

一、策略模式概述 策略模式(又叫政策Policy模式),属于对象行为模式下的:Strategy类提供了可插入式(Pluggable)算法的实现方案。 策略模式的定义-意图:定义一系列算法,将每一个算法封装起来,并让它们互相替换。策略模式…

.NET MVC API Swagger 自动生成API文档入坑

开发环境 Win10 VS2022 .NET8.0 1.从NuGet添加Swagger 在解决方案资源管理器中右键单击项目>管理 NuGet 包 将包源设置为“nuget.org” 确保启用“包括预发行”选项 在搜索框中输入“Swashbuckle.AspNetCore” 从“浏览”选项卡中选择最新的“Swashbuckle.AspNetCore”包&a…

OCCT几何内核开发-TopoDS_Shape

如果要基于OCCT几何内核搞建模算法,特别是想开发自己的算法,需要深刻理解拓扑与几何的关系、相关的数据结构,TopoDS_Shape、TopoDS_TShape、BRep_TFace、Tolerances等。 一个简单Box的数据结构 两个面缝合(Sewing)后的…

优惠券布局的最终方案------css属性mask

先贴图&#xff1a; 以上这些都是通过mask去实现出来&#xff1a; <!DOCTYPE html><html lang"zh-CN"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"&g…

【多模态检索】Coarse-to-Fine Visual Representation

快手文本视频多模态检索论文 论文&#xff1a;Towards Efficient and Effective Text-to-Video Retrieval with Coarse-to-Fine Visual Representation Learning 链接&#xff1a;https://arxiv.org/abs/2401.00701 摘要 近些年&#xff0c;基于CLIP的text-to-video检索方法…

FreeRTOS_day1

1.总结keil5下载代码和编译代码需要注意的事项 下载代码前要对仿真进行设置 勾选后代码会立刻执行 勾选后会导致代码不能执行 写代码的时候要写在对应的begin和end之间&#xff0c;否则会被覆盖 2.总结STM32Cubemx的使用方法和需要注意的事项 ①打开软件&#xff0c;新建工程…

初学python记录:力扣924. 尽量减少恶意软件的传播

题目&#xff1a; 给出了一个由 n 个节点组成的网络&#xff0c;用 n n 个邻接矩阵图 graph 表示。在节点网络中&#xff0c;当 graph[i][j] 1 时&#xff0c;表示节点 i 能够直接连接到另一个节点 j。 一些节点 initial 最初被恶意软件感染。只要两个节点直接连接&#x…

BK9535可替代BK9531 BEKEN博通 无线高品质语音发射传输芯片 提供开发资料

概 述 BK9531已经停产&#xff0c;厂家推出升级替代芯片BK9535 BK9535芯片是用于无线高品质语音发射传输的芯片&#xff0c;芯片覆盖频段范围为&#xff1a;V段&#xff08;160~270MHz&#xff09;、U段&#xff08;450~980MHz&#xff09;、1G频段&#xff08;980~1176MHz&a…

一款可自动跳广告的安卓App开源项目

开放权限有风险&#xff0c;使用App需谨慎&#xff01; gkd 基于 无障碍 高级选择器 订阅规则 的自定义屏幕点击 APP 功能 基于 高级选择器 订阅规则 快照审查, 它可以实现 点击跳过任意开屏广告/点击关闭应用内部任意弹窗广告, 如关闭百度贴吧帖子广告卡片/知乎回答底…

HarmonyOS开发案例:【智能煤气检测】

样例简介 智能煤气检测系统通过实时监测环境中烟雾浓度&#xff0c;当一氧化碳浓度超标时&#xff0c;及时向用户发出警报。在连接网络后&#xff0c;配合数字管家应用&#xff0c;用户可以远程配置智能煤气检测系统的报警阈值&#xff0c;远程接收智能煤气检测系统报警信息。…

华为再次布局新行业:合作伙伴已超前谋划,该领域将大有可为

华为布局新行业 华为向外界公布了一个重要信息&#xff1a;在过去的三年里&#xff0c;尽管受到美国的制裁&#xff0c;华为仍然成功地完成了超过13000个元器件的国产替代研发&#xff0c;以及4000多块电路板的迭代开发。 不仅在硬件领域取得了显著成就&#xff0c;在软件和生…

AutoMQ 登顶 Hacker News: 开源项目流量的第一桶金以及经验分享

01 事件回顾 2024 年 4 月 8 日中午&#xff0c;随着 AutoMQ 的一则简短的标题内容&#xff1a;Show HN: AutoMQ - A Cost-Effective Kafka Distro That Can Autoscale in Seconds[1] 成功登顶 Hacker News &#xff08;HN&#xff09; &#xff0c;我们迎来了大量优质、精准的…

为什么一开始不被看好的单片机,现在概括了所有数据产品行业?

这主要归因于技术和认知的局限。 在其发展初期&#xff0c;单片机的性能、存储容量以及开发工具都颇为有限&#xff0c;难以契合复杂应用的种种需求。彼时&#xff0c;许多人确实难以洞察到它的未来走向。 然而&#xff0c;时过境迁&#xff0c;人们逐步领悟到了单片机在各个…

密码学 | 椭圆曲线数字签名方法 ECDSA(下)

目录 10 ECDSA 算法 11 创建签名 12 验证签名 13 ECDSA 的安全性 14 随机 k 值的重要性 15 结语 ⚠️ 原文&#xff1a;Understanding How ECDSA Protects Your Data. ⚠️ 写在前面&#xff1a;本文属于搬运博客&#xff0c;自己留着学习。同时&#xff0c;经过几…

部署Zabbix代理服务器

目录 1.准备环境 2.设置 zabbix 的下载源 3.安装 zabbix 所需的数据库 3.1添加数据库用户&#xff0c;以及 zabbix 所需的数据库信息 3.2导入数据库信息 4.修改 zabbix-proxy 配置文件 5.启动 zabbix-proxy 6.在所有主机上配置 hosts 解析 7.在 Web 页面配置 agent 代…

市面上加密混淆软件的比较和推荐

引言 市面上有许多加密混淆软件可供开发者使用&#xff0c;但哪些软件是最好用的&#xff1f;哪些软件受到开发者的喜爱&#xff1f;本文将根据一次在CSDN上的投票结果&#xff0c;为大家介绍几款在程序员中普及度较高的加密软件。以下是投票结果&#xff0c;希望能对大家的选择…

什么是组网?如何远程组网?

在当今数字化时代&#xff0c;组网已成为企业提高工作效率、节省时间和成本的关键技术。组网是将多台计算机或其他网络设备连接起来&#xff0c;形成一个互联互通的网络系统。本文将概述组网的主要目的、实现方式及其价值&#xff0c;并深入分析远程组网策略。 1. 组网目的与价…

BK9531 BK9532上海博通BEKEN 提供开发资料

.概述 BK9531/BK9532 芯片是用于无线高品质语音传输的芯片组&#xff0c;包括发射芯片BK9531 和接收芯片 BK9532&#xff0c;每个芯片覆盖频段范围为&#xff1a;V 段160~270MHz 和 U 段500~980MHz。 BK9531/BK9532 采用数字调制和高性能音频 ADC 和 DAC&#xff0c;配合极低延…