回归预测 | Matlab基于SO-ESN蛇群算法优化回声状态网络多输入单输出回归预测

news2024/11/17 2:00:57

回归预测 | Matlab基于SO-ESN蛇群算法优化回声状态网络多输入单输出回归预测

目录

    • 回归预测 | Matlab基于SO-ESN蛇群算法优化回声状态网络多输入单输出回归预测
      • 预测效果
      • 基本描述
      • 程序设计
      • 参考资料

预测效果

在这里插入图片描述

在这里插入图片描述

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

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

基本描述

1.蛇群算法(SO)优化回声状态网络做拟合回归预测,SO-ESN回归预测,多输入单输出模型(Matlab完整源码和数据)。
2.评价指标包括:R2、MAE、MSE、RMSE和MAPE等,代码质量极高,方便学习和替换数据。算法新颖小众,用的人很少,直接替换数据即可用 适合新手小白 注释清晰~
3.附赠excel测试数据 直接运行main一键出图~
4.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。
5.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

在这里插入图片描述

程序设计

  • 完整程序和数据获取方式资源处下载Matlab基于SO-ESN蛇群算法优化回声状态网络多输入单输出回归预测。
%%  参数设置
%%  优化算法
[Best_score,Best_pos, curve] = SO(pop, Max_iteration, lb, ub, dim, fun); 

%%  获取最优参数
bestc = Best_pos(1, 1);  
bestg = Best_pos(1, 2); 

%%  建立模型
cmd = [' -t 2 ', ' -c ', num2str(bestc), ' -g ', num2str(bestg), ' -s 3 -p 0.01 '];
model = svmtrain(t_train, p_train, cmd);

%%  仿真预测
[t_sim1, error_1] = svmpredict(t_train, p_train, model);
[t_sim2, error_2] = svmpredict(t_test , p_test , model);

%%  数据反归一化
T_sim1 = mapminmax('reverse', t_sim1, ps_output);
T_sim2 = mapminmax('reverse', t_sim2, ps_output);
T_sim1 =T_sim1';
T_sim2 =T_sim2';
%%  适应度曲线
figure;
plot(1 : length(curve), curve, 'LineWidth', 1.5);
title('适应度曲线', 'FontSize', 13);
xlabel('迭代次数', 'FontSize', 13);
ylabel('适应度值', 'FontSize', 13);
grid
set(gcf,'color','w')

%%  相关指标计算
%%  均方根误差
toc
%% 测试集结果
figure;
plotregression(T_test,T_sim2,['回归图']);
set(gcf,'color','w')
figure;
ploterrhist(T_test-T_sim2,['误差直方图']);
set(gcf,'color','w')
%%  均方根误差 RMSE
error1 = sqrt(sum((T_sim1 - T_train).^2)./M);
error2 = sqrt(sum((T_test - T_sim2).^2)./N);

%%
%决定系数
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;

%%
%均方误差 MSE
mse1 = sum((T_sim1 - T_train).^2)./M;
mse2 = sum((T_sim2 - T_test).^2)./N;
%%
%RPD 剩余预测残差
SE1=std(T_sim1-T_train);
RPD1=std(T_train)/SE1;

SE=std(T_sim2-T_test);
RPD2=std(T_test)/SE;
%% 平均绝对误差MAE
MAE1 = mean(abs(T_train - T_sim1));
MAE2 = mean(abs(T_test - T_sim2));
%% 平均绝对百分比误差MAPE
MAPE1 = mean(abs((T_train - T_sim1)./T_train));
MAPE2 = mean(abs((T_test - T_sim2)./T_test));

参考资料

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spring Security - 用户授权

1.用户授权介绍: 在SpringSecurity中,会使用默认的FilterSecurityInterceptor来进行权限校验。在FilterSecurityInterceptor中会从SecurityContextHolder获取其中的Authentication,然后获取其中的权限信息。判断当前用户是否拥有访问当前资源…

汉口银行IPO之路再添坎坷:多名股东甩卖股权,内控是“老大难”

撰稿|芋圆 近日,总部设在武汉的商业银行——汉口银行股份有限公司(以下简称“汉口银行”)的股权再现交易信息,先后“亮相” 上海联合产权交易所、北京产权交易所,出售股权的股东包括中国电信以及中国移动全资子公司等…

神经网络(五):U2Net图像分割网络

文章目录 一、网络结构1.1第一种block结构1.2第二种block结构1.3特征图融合模块1.4损失函数1.5总体网络架构1.6代码汇总1.7普通残差块与RSU对比 二、代码复现 参考论文:U2-Net: Going deeper with nested U-structure for salient object detection   这篇文章基于…

从销售到 AI 算法工程师 | 转行人工智能大模型(含面经裁员幸存指南)

我叫王东,90后,和大家分享一下我的人工智能转型之路。 农学毕业,投身互联网做销售 机遇难求,养殖梦碎 我是土生土长的农村人,小时候经常和小鱼小虾打交道,上大学的时候就选择了农学专业,想着…

qmt量化交易策略小白学习笔记第67期【qmt编程之获取ETF申赎清单】

qmt编程之获取ETF申赎清单 qmt更加详细的教程方法,会持续慢慢梳理。 也可找寻博主的历史文章,搜索关键词查看解决方案 --获取ETF申赎清单! 实盘或回测qmt,可关注博主咨询~ ETF申赎清单 提示 使用前需要调用xtdata.download_…

JDBC 事务

文章目录 准备数据JDBC操作事务API介绍案例代码小结 准备数据 # 创建一个表:账户表. create database day05_db; # 使用数据库 use day05_db; # 创建账号表 create table account(id int primary key auto_increment,name varchar(20),money double ); # 初始化数据…

如何管理自己的工作任务和时间

在当今快节奏的工作环境中,有效地管理工作任务和时间是取得成功和保持工作生活平衡的关键。以下是一些实用的方法,可以帮助你更好地掌控自己的工作。 一、明确工作任务 1、制定任务清单 每天开始工作前,列出当天需要完成的所有任务。可以使用…

PWA(Progressive web APPs,渐进式 Web 应用)

文章目录 引言I 什么是 PWA功能特性II Web 应用清单引言 PWA 是 Google 于 2016 年提出的概念,于 2017 年正式落地,于 2018 年迎来重大突破,全球顶级的浏览器厂商,Google、Microsoft、Apple 已经全数宣布支持 PWA 技术。 PWA 目的是通过各种 Web 技术实现与原生 App 相近…

Java读取YAML文件

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「storm…

基于注意力机制的图表示学习:GRAPH-BERT模型

人工智能咨询培训老师叶梓 转载标明出处 图神经网络(GNNs)在处理图结构数据方面取得了显著的进展,但现有模型在深层结构中存在性能问题,如“悬挂动画问题”和“过平滑问题”。而且图数据内在的相互连接特性限制了大规模图输入的并…

三天搞了7000,AI绘本副业赚钱新途径,抓住绘本创业,轻松开启副业

**项目简介:**这个项目的原理是利用AI文本工具来编写绘本故事脚本、人物描述及场景设定,完成整个绘本内容的创作。接着,使用百度翻译将文本翻译成英文,并在MJ软件上输入关键词生成相应的图片。随后,将这些图片上传至Pi…

《我的世界:地下城》风灵月影修改器使用指南 —— 掌控冒险,轻松畅游

对于热爱《我的世界:地下城》并寻求更加个性化游戏体验的玩家来说,风灵月影修改器提供了一个强大而便捷的辅助工具。 以下简要步骤将指导你如何安全高效地利用此修改器,让你的探险之旅如虎添翼。 1.下载与安装: 首先&#xff0c…

ESP32 入门笔记02: ESP32-C3 系列( 芯片ESP32-C3FN4) (ESP-IDF + VSCode)

ESP32-C3 系列的 芯片 / 模组 / 开发板 ESP32-C3-DevKitM-1是乐鑫一款搭载 ESP32-C3-MINI-1 或 ESP32-C3-MINI-1U 模组的入门级开发板(内置 ESP32-C3FH4 或 ESP32-C3FN4 芯片)。 板上模组大部分管脚均已引出至两侧排针,可根据开发实际需求&a…

Android平台RTMP推送模块的设计意义

为什么要做RTMP推送 RTMP是一种广泛使用的流媒体传输协议,它允许视频和音频数据在互联网上实时、高效地传输。实现RTMP推送功能,主要是为了满足以下需求: 实时性要求:RTMP协议具有低延迟的特点,适合用于需要实时交互的…

大数据毕业设计选题推荐-租房数据分析系统-Hive-Hadoop-Spark

✨作者主页:IT研究室✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

LVS-DR实战案例,实现四层负载均衡

环境准备:三台虚拟机(NET模式或者桥接模式) 192.168.88.200 (web1)(安装nginx服务器作为测试) 192.168.88.201 (服务器)(用于部署lvs-dr) 192.168.88.202 (web2)…

Ubuntu20.04 安装汉语拼音后重启登入黑屏

在虚拟机上装了一个Ubuntu用来学C,默认没有安装中文输入。于是按照网上教程装了几个汉语包。切换输入法的时候突然死机,重启登入直接黑屏。百度后发现有不少老哥和我这个问题一模一样,按照他们的方法也终于整好了,虚惊一场。 解决…

axios proxy 和 httpsAgent 的使用差异案例详解

背景 因为 wadesk 开发了本地 http 服务,http 本地服务是运行在 electron-main 的纯 node 环境中的,这个之前探讨了 node 下怎么使用 fetch 时就提到了一个 https-proxy-agent 库,这次使用 axios,发现 axios 自带 proxy 配置项&a…

Ubuntu20.04中ros2 foxy版本安装gazebo,并运行小车运动demo

这里默认你安装好了ros2 foxy版本 sudo apt install gazebo11sudo apt install ros-foxy-gazebo-ros-pkgs建议把其他的包也安装了 sudo apt install ros-foxy-gazebo-*安装速度的话,比安装ros环境快多了。 此时,可以在/opt/ros/foxy/share目录下看到若…

NXP(恩智浦)—TJA1042TK/3 CAN收发器芯片详解

写在前面 本系列文章主要讲解NXP(恩智浦)—TJA1042TK/3 CAN收发器芯片的相关知识,希望能帮助更多的同学认识和了解NXP(恩智浦)—TTJA1042TK/3 CAN收发器芯片。 若有相关问题,欢迎评论沟通,共同…