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

回归预测 | MATLAB实现MPA-BiGRU海洋捕食者算法优化双向门控循环单元多输入单输出回归预测(多指标,多图)

回归预测 | MATLAB实现MPA-BiGRU海洋捕食者算法优化双向门控循环单元多输入单输出回归预测(多指标,多图)

目录

    • 回归预测 | MATLAB实现MPA-BiGRU海洋捕食者算法优化双向门控循环单元多输入单输出回归预测(多指标,多图)
      • 效果一览
      • 基本介绍
      • 程序设计
      • 参考资料

效果一览

1
2

在这里插入图片描述

基本介绍

MPA-BiGRU海洋捕食者算法优化双向门控循环单元的数据多变量回归/时间序列预测 可直接运行 Matlab语言
1.多变量单输出模型,也可替换为时间序列单列输入预测。评价指标包括:R2、MAE、RMSE和MAPE等,图很多,包括迭代曲线图、预测效果图,可完全满足您的需求~
2.海洋捕食者算法是近年提出的优化算法,具有寻优能力强,收敛速度快等特点,用的人还很少,也可替换为NGO、GOA等优化算法。
3.优化算法优化深度学习类模型运行较慢属正常现象,请耐心等待~
4.附赠测试数据 直接替换数据即可用 直接运行main一键出图 适合新手小白~

程序设计

  • 完整源码和数据获取方式:私信回复PSO-SDAE粒子群优化堆叠去噪自编码器多输入单输出回归预测(多指标,多图)
%%  清空环境变量
warning off             % 关闭报警信息
close all               % 关闭开启的图窗
clear                   % 清空变量
clc                     % 清空命令行%%  导入数据
res = xlsread('data.xlsx');%%  划分训练集和测试集
temp = randperm(103);P_train = res(temp(1: 80), 1: 7)';
T_train = res(temp(1: 80), 8)';
M = size(P_train, 2);P_test = res(temp(81: end), 1: 7)';
T_test = res(temp(81: end), 8)';
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);%%  仿真测试
t_sim1 = sim(net, p_train);
t_sim2 = sim(net, p_test);%%  数据反归一化
T_sim1 = mapminmax('reverse', t_sim1, ps_output);
T_sim2 = mapminmax('reverse', t_sim2, ps_output);%%  均方根误差
error1 = sqrt(sum((T_sim1 - T_train).^2) ./ M);
error2 = sqrt(sum((T_sim2 - T_test ).^2) ./ N);%%  相关指标计算
% 决定系数 R2
R1 = 1 - norm(T_train - T_sim1)^2 / norm(T_train - mean(T_train))^2;
R2 = 1 - norm(T_test -  T_sim2)^2 / norm(T_test -  mean(T_test ))^2;disp(['训练集数据的R2为:', num2str(R1)])
disp(['测试集数据的R2为:', num2str(R2)])% 平均绝对误差 MAE
mae1 = sum(abs(T_sim1 - T_train)) ./ M ;
mae2 = sum(abs(T_sim2 - T_test )) ./ N ;disp(['训练集数据的MAE为:', num2str(mae1)])
disp(['测试集数据的MAE为:', num2str(mae2)])% 平均相对误差 MBE
mbe1 = sum(T_sim1 - T_train) ./ M ;
mbe2 = sum(T_sim2 - T_test ) ./ N ;disp(['训练集数据的MBE为:', num2str(mbe1)])
disp(['测试集数据的MBE为:', num2str(mbe2)])

参考资料

[1] https://blog.csdn.net/kjm13182345320/article/details/129215161
[2] https://blog.csdn.net/kjm13182345320/article/details/128105718

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

相关文章:

  • selenium_webdriver自动化测试指南
  • 红米Note12Turbo解锁BL刷入PixelExperience原生ROM系统详细教程
  • NoSQL之Redis配置与优化(一)
  • Boost搜索引擎
  • 侧边栏的文章分类、热门文章和热门文章的展示(Go 搭建 qiucode.cn 之九)
  • LeetCode——贪心篇(二)
  • Linux find
  • UE4实现断线重连功能
  • nginx笔记
  • 动态库的制作和使用
  • AWS Glue Pyspark+Athena基础学习汇总
  • 智能合约安全新范式,超越 `require`和`assert`
  • 【ESP-S3-BOX-Lite花屏问题】:Github下载源码(出厂源码factory_demo)编译调试到ESP-S3-BOX-Lite中出现花屏现象
  • Redis集群3.2.11离线安装详细版本(使用Ruby)
  • Ansible自动化运维
  • MSTP + Eth-Trunk配置实验 华为实验手册
  • 滚动菜单 flutter
  • javaee springMVC数字类型转换之通过注解的方式
  • SQL中CASE的用法
  • 自己的碎碎念集合
  • 暂定名「码道功成:Coder启示录」
  • Apache HTTPD (CVE-2017-15715)换行解析漏洞复现
  • Spring Boot集成JasperReport生成文档
  • 02-Tomcat打破双亲委派机制
  • 怎么理解flink的异步检查点机制
  • SpringMVC <url-pattern/>解读
  • 大学毕业设计的益处:培养实践能力、深入专业领域、展示自信与建立联系
  • ChatGPT:概述Vue.js中data函数初始化和created钩子函数调用的顺序和问题解决方法
  • SpringBoot【基础篇】
  • Vuex - state 状态(获取和使用共享数据)