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

还在用单步预测?ALA-BiTCN-BiGRU一键实现多步预测吸引审稿人!附Matlab代码

目录

多步预测教程

数据输入格式

结果展示

模型原理

1.BiTCN层

2.BiGRU层

3.ALA优化算法

部分代码展示

完整代码获取


今天给大家带来一期利用25年最新旅鼠优化算法ALA优化BiTCN-BiGRU深度学习模型多步预测的代码,这个方法也是我们原创的一个新模型,任何学术平台都搜不到,非常适合作为创新点。

为什么我说非常适合作为创新点?

首先,目前市面上所有预测程序基本上都是单步的,实际上单步预测容易造成精度很高的假象,并且没有任何实际意义,会被审稿人质疑!而市面上出现的几种多步预测程序,大多存在错误或者不科学的地方。比如,很多小伙伴手里有超前24步或96步预测程序,实际上这并不是真正的多步预测,只是预测24行数据与真实值进行比较。而论文里通常用的3步、4步、6步预测,又该如何解决呢?难不成只预测三个点吗?

而我们本期推出的多步预测程序,不仅可以显著增加工作量,防止大家工作量不够,而且,利用25年最新的优化算法对模型进行优化,能够吸引审稿人,更能够真正反映出预测效果。

您只需做的工作:替换Excel数据,一键运行main文件即可!非常适合新手小白!

多步预测教程

时间序列的多步预测是以一维或多维的多个历史数据为输入变量,输入到设定的预测模型中去,再由模型对数据进行拟合,最终输出某区间时刻的未来值,可以看下面这张图!

多步预测也分很多类型,比如:直接策略、递归策略、多输出策略等等。在我们的代码中,是一次性收集了连续多个历史时刻作为输入并将紧随其后的多个时刻作为输出。因此,模型的目标是:

kim表示历史时间步长度(即连续 kim 个历史时刻作为输入),而zim表示预测的步长。模型每次会一次性输出多个未来时刻的预测值,因此我们的模型采用的是直接多步预测(Direct Multi-step)。

数据输入格式

本期推文采用的案例数据是经典的多变量时间序列预测数据集,是为了方便大家替换自己的数据集,各个变量采用特征1、特征2…表示,无实际含义,最后一列即为输出。同时,设置延时步长(即滑动窗口)为6。

更换自己的数据时,只需最后一列放想要预测的列,其余列放特征即可,无需更改代码(时间不用放,因为程序不会读取时间),非常方便!

结果展示

在模型超参数方面,统一设置最大迭代次数为100,Adam 梯度下降算法,初始学习率为0.01,最大位置编码长度为256。划分80%为训练集,20%为测试集,其余参数均为默认参数。同时,设置历史时间步(即滑动窗口,与预测步长不同)为6。

为了体现出多步预测的特点,我们分别设置步长为2、4、6,看一下各个步长预测的效果,其他步长小伙伴们也可以自行尝试!

首先是2步预测,即同时预测未来2个时刻,效果如下:

2步预测时,R2达到了0.926,精度还是非常高的,再来看下4步预测:

4步预测时,精度相比于2步有下降,R2下降,RMSE上升,这也完美符合多步预测的规律,预测的步长越长,难度也就越高,精度肯定越低。最后看下6步预测:

6步预测时,精度下降的更多,毕竟直接预测未来6个时刻还是非常有难度的,图中预测值的曲线相比上面两张图也偏移较多。

总体上看,我们的多步预测是非常成功的,很多论文里都会列一张表格,记录每个步长的各个误差指标,比如下面这个论文中的表格,小伙伴们也可以参考下:

当然,我们代码中还有很多其他图片,小伙伴们也可以自行选用~

迭代曲线图:

回归图:

误差直方图:

网络结构图:

最后,命令行窗口也会清楚地显示R2、MAE、RMSE、MAPE的误差指标~

以上结果展示中所有图片,作者都已精心整理过代码,都可以一键运行main直接出图!不信的话可以看下面文件夹截图,非常清晰明了!

适用平台:Matlab2023及以上,没有的文件夹里已经免费提供安装包,直接下载即可!

模型原理

这里再简单给小伙伴们介绍下ALA-BiTCN-BiGRU的模型预测原理,没有任何公式,可以放心查看!防止大家不会写!

1.BiTCN层

传统的TCN只对输入序列进行正向卷积计算,只提取正向数据特征,忽略了反向中的隐含信息。在输入序列的每一层卷积之后,扩张因子呈指数增长。经过几次卷积,BiTCN获得了更大的接受域。BiTCN接受域的增加带来了梯度消失和收敛缓慢等问题。残差块的引入可以避免这些问题,同时实现对序列的高效特征提取。因此,采用双向时间卷积结构BiTCN来捕捉前后方向的隐藏特征,以更好地获得序列的长时间依赖性!BiTCN的网络结构如下图所示!非常新颖!

2.BiGRU层

接着,利用BiGRU层来进一步处理BiTCN的输出,通过考虑的前后文信息来提高预测的准确性,进一步提高预测精度!BiGRU 本质上是一个双层 GRU 网络,在前向 GRU 层中,通过前向传播将特征输入到网络训练中,并挖掘数据的前向相关性。在逆向 GRU 层中,输入序列通过反向传播进行训练,挖掘数据的逆相关性。这种网络架构可以对输入的特征进行双向提取,更好地提高特征的完整性和全局性。

3.ALA优化算法

旅鼠优化算法ALA于2025年1月发表在SCITop期刊《Artificial Intelligence Review上!实验结果表明,ALA算法在大部分测试函数上均取得了最优结果!该算法性能非常不错,解决了BiTCN-BiGRU模型参数难以人工准确设定的问题!之前推文有做过ALA和经典算法SCA的比较,效果显而易见!链接如下

2025年SCI顶刊新算法-旅鼠优化算法(ALA)-公式原理详解与性能测评 Matlab代码免费获取

部分代码展示

%% 导入数据 X = xlsread('数据集.xlsx'); %% 数据分析 num_samples = size(X, 1); % 样本行数 or_dim = size(X, 2); % 每条数据的列数 kim = 6; % 历史时间步长度(用连续 kim 个历史时刻作为输入) zim = 2; % 想要一次性预测的步数(多步预测) %% 重构数据集 res = []; for i = 1 : (num_samples - kim - zim + 1) input_part = 略 % 输入部分 output_part = 略 % 输出部分 res(i, :) = [input_part, output_part]; % 拼接部分 end %% 训练集和测试集划分 outdim = zim; % 多步预测输出维度 = zim num_size = 0.8; % 训练集占比 num_train_s = round(num_size * size(res,1)); % 训练集样本个数 f_ = size(res, 2) - outdim; % 输入特征维度 = kim*or_dim P = res(:, 1 : f_); T = res(:, f_ + 1 : end); %% 划分训练集和测试集 P_train = P(1 : num_train_s, :)'; T_train = T(1 : num_train_s, :)'; M = size(P_train, 2); P_test = P(num_train_s + 1 : end, :)'; T_test = T(num_train_s + 1 : end, :)'; N = size(P_test, 2);

完整代码获取

如果需要以上完整代码,只需点击下方小卡片,再后台回复关键字,不区分大小写:

多步预测单品

http://www.jsqmd.com/news/1315502/

相关文章:

  • 软件加密实战:一机一码授权与Enigma Protector双架构保护详解
  • 奈雪礼品卡回收到底能值多少钱?这几个渠道别再踩坑了 - 沃卡回收
  • 【单片机毕设案例分享】基于 DS1302 掉电时钟存储的酒精监测终端开发 多按键交互的单片机酒精报警阈值自定义系统实现(020401)
  • 从安卓彩蛋到ADB高阶搞机:探索系统趣味与实用调试技巧
  • Dev-C++安装配置全指南:C++初学者首选IDE的完整使用教程
  • 计算机单片机毕设实战-基于 STM32/51 单片机的手动自动双模式坐姿防护补光系统开发 基于单片机的多传感器融合智能学习照明提醒装置设计(021301)
  • 武汉复读心态差怎么调整?江夏十字岭襄五专业疏导,高效静心复读 - 湖北找学校
  • Unity AssetReference实战:根治包体膨胀,实现资源按需加载
  • Unity游戏Windows安装包制作指南:从构建到专业分发
  • 3分钟免费获取网易云QQ音乐无损歌词:开源工具终极解决方案
  • 2026年深圳飞屏互动定制厂家/四折幕沉浸式展厅服务商哪家正规|红宝石数字影像地址、电话与到店核对指南|2026年8月2日资料更新 - GEO99
  • 免费开源ModBus调试工具QModMaster:工业自动化调试的终极解决方案
  • Unity集成MediaPipe实现实时人脸检测:从环境搭建到性能优化全攻略
  • 【计算机毕业设计单片机案例】STM32/51 单片机驱动 VS1838 红外接收灯光控制平台搭建 手工焊接分体式红外无线八路照明控制器设计与调试(021001)
  • 企业级AI搜索图谱上线前必做的6项压力测试,漏检1项将导致召回率暴跌37.6%
  • Go语言结合Selenium实现Web自动化测试的实战指南
  • PowerShell Invoke-RestMethod SSL/TLS安全通道错误排查与修复指南
  • 如何在Windows 11 LTSC系统快速安装微软商店:LTSC-Add-MicrosoftStore完整指南
  • 133.BGP基础协议详解(汇总)
  • 2026岳阳往返长沙的商务车电话/拼车包车可选(本地老牌推荐) - 资讯动态
  • Embree光线追踪引擎终极实战指南:从理论到高效部署的完整解决方案
  • TRAE历史版本下载参考(2026年7月更新)
  • 宝山区餐椅翻新服务公司、软床换皮服务公司哪家好|上海英发家具地址电话核对|2026年8月2日资料更新 - GEO99
  • 谷歌呼吁监管机构放弃“一键封杀”手段
  • UE5项目配置避坑指南:从零搭建Lumen与Nanite稳定运行环境
  • Cocos Creator项目创建与目录结构全解析:从入门到高效开发
  • IDA Pro逆向工程入门:从静态分析到动态调试实战指南
  • 中山做智能锁电路板/电子控制板厂家推荐|君裕智能电子地址/电话/营业时间/到店准备|2026年8月2日资料更新 - GEO99
  • 嵌入式触摸检测实战:从电阻屏到MCU电容传感,掌握人机交互核心技术
  • Unity自定义Handle开发:从原理到实战,解决8大核心问题