当前位置: 首页 > news >正文

EI级 | Matlab实现TCN-GRU-MATT、TCN-GRU、TCN、GRU多变量时间序列预测对比

EI级 | Matlab实现TCN-GRU-MATT、TCN-GRU、TCN、GRU多变量时间序列预测对比

目录

    • EI级 | Matlab实现TCN-GRU-MATT、TCN-GRU、TCN、GRU多变量时间序列预测对比
      • 预测效果
      • 基本介绍
      • 程序设计
      • 参考资料

预测效果

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

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

基本介绍

【EI级】Matlab实现TCN-GRU-MATT、TCN-GRU、TCN、GRU多变量时间序列预测对比
1.data为数据集,格式为excel,4个输入特征,1个输出特征,考虑历史特征的影响,多变量时间序列预测;
2.Mian1_TCN.m(时间卷积神经网络)、Mian2_GRU.m(门控循环单元)、Mian3_TCN_GRU.m(时间卷积门控循环单元)、Mian4_TCN_GRU_MATT.m(时间卷积门控循环单元融合多头注意力机制)为主程序文件,运行即可;
3.命令窗口输出R2、MAE、MAPE、MSE和RMSE,可在下载区获取数据和程序内容;
注意程序和数据放在一个文件夹,运行环境为Matlab2023a及以上。
多头自注意力层 (Multihead-Self-Attention):Multihead-Self-Attention多头注意力机制是一种用于模型关注输入序列中不同位置相关性的机制。它通过计算每个位置与其他位置之间的注意力权重,进而对输入序列进行加权求和。注意力能够帮助模型在处理序列数据时,对不同位置的信息进行适当的加权,从而更好地捕捉序列中的关键信息。在时序预测任务中,注意力机制可以用于对序列中不同时间步之间的相关性进行建模。

数据集:
在这里插入图片描述

程序设计

  • 完整程序和数据获取方式私信博主回复Matlab实现TCN-GRU-MATT、TCN-GRU、TCN、GRU多变量时间序列预测对比

% 训练集和测试集划分
outdim = 1;                                  % 最后一列为输出
num_size = 0.7;                              % 训练集占数据集比例
num_train_s = round(num_size * num_samples); % 训练集样本个数
f_ = size(res, 2) - outdim;                  % 输入特征维度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);%  参数设置
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] https://blog.csdn.net/kjm13182345320/category_11799242.html?spm=1001.2014.3001.5482
[2] https://blog.csdn.net/kjm13182345320/article/details/124571691

http://www.lryc.cn/news/304397.html

相关文章:

  • MongoDB文档插入
  • 涵盖5大领域的机器学习工具介绍
  • git修改及合并commit提交
  • 大型语言模型的语义搜索(一):关键词搜索
  • 无需统考可获双证的中国社科院-美国杜兰大学金融硕士
  • 编程笔记 Golang基础 024 映射
  • 基于springboot+vue的中小型医院网站(前后端分离)
  • Spring boot 实现监听 Redis key 失效事件
  • 振动样品磁强计
  • C语言标准库介绍:<string.h>
  • 大语言模型LangChain本地知识库:向量数据库与文件处理技术的深度整合
  • 展厅设计中都包含哪些分区与展示内容
  • 【k8s核心概念与专业术语】
  • 【stm32】hal库学习笔记-UART/USART串口通信(超详细!)
  • 通俗易懂理解GhostNetV1轻量级神经网络模型
  • P8630 [蓝桥杯 2015 国 B] 密文搜索
  • Electron实战之环境搭建
  • 【0259】inval.h/inval.c的理解
  • 力扣爆刷第77天--动态规划一网打尽打家劫舍问题
  • 深入理解C语言(5):程序环境和预处理详解
  • ESP8266智能家居(3)——单片机数据发送到mqtt服务器
  • lvm逻辑卷创建raid阵列(不常用)—— 筑梦之路
  • LayUI发送Ajax请求
  • 平时积累的FPGA知识点(10)
  • 使用Streamlit构建纯LLM Chatbot WebUI傻瓜教程
  • 电脑死机卡住怎么办 电脑卡住鼠标也点不动的解决方法
  • RAG 语义分块实践
  • 12 Autosar_SWS_MemoryMapping.pdf解读
  • 【Linux取经路】文件系统之缓冲区
  • 华为OD机试真题-查找接口成功率最优时间段-2023年OD统一考试(C卷)--Python3--开源