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

全新一区PID搜索算法+TCN-LSTM+注意力机制!PSA-TCN-LSTM-Attention多变量时间序列预测(Matlab)

全新一区PID搜索算法+TCN-LSTM+注意力机制!PSA-TCN-LSTM-Attention多变量时间序列预测(Matlab)

目录

    • 全新一区PID搜索算法+TCN-LSTM+注意力机制!PSA-TCN-LSTM-Attention多变量时间序列预测(Matlab)
      • 效果一览
      • 基本介绍
      • 程序设计
      • 参考资料

效果一览

在这里插入图片描述

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

基本介绍

1.基于PSA-TCN-LSTM-Attention的PID搜索算法优化时间卷积长短期记忆神经网络融合注意力机制多变量时间序列预测,要求Matlab2023版以上,自注意力机制,一键单头注意力机制替换成多头注意力机制;

2.输入多个特征,输出单个变量,考虑历史特征的影响,多变量时间序列预测;

3.data为数据集,main.m为主程序,运行即可,所有文件放在一个文件夹;

4.命令窗口输出R2、MSE、MAE、MAPE和RMSE多指标评价;

5.优化学习率,神经元个数,注意力机制的键值, 正则化参数。

一种新的元启发式优化算法–PID搜索算法,PID-based search algorithm (PSA)。该算法基于增量PID算法,通过不断调整系统偏差,使整个种群收敛到最优状态。该成果于2023年12月发表在中科院1区SCI期刊Expert Systems with Applications。
在这里插入图片描述

程序设计

  • 完整程序和数据下载私信博主回复全新一区PID搜索算法+TCN-LSTM+注意力机制!PSA-TCN-LSTM-Attention多变量时间序列预测(Matlab)。
%%  清空环境变量
warning off             % 关闭报警信息
close all               % 关闭开启的图窗
clear                   % 清空变量
clc                     % 清空命令行%%  导入数据
result = xlsread('data.xlsx');%%  数据分析
num_samples = length(result);  % 样本个数
or_dim = size(result, 2);      % 原始特征+输出数目
kim =  2;                      % 延时步长(kim个历史数据作为自变量)
zim =  1;                      % 跨zim个时间点进行预测%%  数据集分析
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);%%  数据平铺
P_train =  double(reshape(P_train, f_, 1, 1, M));
P_test  =  double(reshape(P_test , f_, 1, 1, N));t_train = t_train';
t_test  = t_test' ;%%  数据格式转换
for i = 1 : Mp_train{i, 1} = P_train(:, :, 1, i);
endfor i = 1 : Np_test{i, 1}  = P_test( :, :, 1, i);
end

参考资料

[1] https://blog.csdn.net/kjm13182345320/article/details/128163536?spm=1001.2014.3001.5502
[2] https://blog.csdn.net/kjm13182345320/article/details/128151206?spm=1001.2014.3001.5502

相关文章:

  • 怎么绕开华为纯净模式安装软件
  • 【C++】类和对象(下)
  • 多级侧边菜单(递归)
  • 汽车3d动画渲染选择哪个?选择最佳云渲染解决方案
  • 2025年营收1亿美元咨询代理机构的游戏策略:基于AIGC的无限可扩展业务
  • 默认成员函数的练习之实现日期类
  • Linux 学习笔记(十六)—— 重定向与缓冲区
  • Growthly Quest 增长工具:助力 Web3 项目实现数据驱动的增长
  • MySQL vs PostgreSQL:2024年深度对比与选择指南
  • 后端返回内容有换行标识,前端如何识别换行
  • 14.安卓逆向-frida基础-编写hook脚本2
  • 【Python】数据可视化之分布图
  • 在C#中实现WebSocket的单聊和分频道聊天
  • 域 缺省参数 函数重载 引用
  • 【Golang】Go语言中如何面向对象?
  • 【腾讯Bugly干货分享】从0到1打造直播 App
  • C++类的相互关联
  • canvas 绘制双线技巧
  • Fastjson的基本使用方法大全
  • FineReport中如何实现自动滚屏效果
  • HTTP那些事
  • java8 Stream Pipelines 浅析
  • Java教程_软件开发基础
  • js数组之filter
  • mockjs让前端开发独立于后端
  • spring学习第二天
  • vue从创建到完整的饿了么(18)购物车详细信息的展示与删除
  • 阿里云爬虫风险管理产品商业化,为云端流量保驾护航
  • 读懂package.json -- 依赖管理
  • 翻译 | 老司机带你秒懂内存管理 - 第一部(共三部)
  • 关于springcloud Gateway中的限流
  • 紧急通知:《观止-微软》请在经管柜购买!
  • 前端_面试
  • 双管齐下,VMware的容器新战略
  • 通过git安装npm私有模块
  • 微信如何实现自动跳转到用其他浏览器打开指定页面下载APP
  • 想写好前端,先练好内功
  • 一起参Ember.js讨论、问答社区。
  • 源码之下无秘密 ── 做最好的 Netty 源码分析教程
  • media数据库操作,可以进行增删改查,实现回收站,隐私照片功能 SharedPreferences存储地址:
  • 仓管云——企业云erp功能有哪些?
  • 选择阿里云数据库HBase版十大理由
  • ​sqlite3 --- SQLite 数据库 DB-API 2.0 接口模块​
  • ​二进制运算符:(与运算)、|(或运算)、~(取反运算)、^(异或运算)、位移运算符​
  • # centos7下FFmpeg环境部署记录
  • #70结构体案例1(导师,学生,成绩)
  • #我与Java虚拟机的故事#连载15:完整阅读的第一本技术书籍
  • #我与Java虚拟机的故事#连载17:我的Java技术水平有了一个本质的提升
  • (39)STM32——FLASH闪存
  • (ctrl.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“
  • (LLM) 很笨
  • (Redis使用系列) Springboot 在redis中使用BloomFilter布隆过滤器机制 六
  • (ZT)薛涌:谈贫说富
  • (二十六)Java 数据结构
  • (南京观海微电子)——示波器使用介绍