回归预测 | Matlab实现ESN回声状态网络的多输入单输出回归预测

news2025/1/18 21:11:05

回归预测 | Matlab实现ESN回声状态网络的多输入单输出回归预测

目录

    • 回归预测 | Matlab实现ESN回声状态网络的多输入单输出回归预测
      • 预测效果
      • 基本介绍
      • 程序设计
      • 参考资料

预测效果

在这里插入图片描述

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

基本介绍

1.Matlab实现ESN回声状态网络的多输入单输出回归预测(完整源码和数据);
2.数据集为excel,多输入单输出数据集,运行主程序main.m即可,其余为函数文件,无需运行;
3.命令窗口输出RMSE、MAPE、MAE、R2等评价指标;
4.运行环境Matlab2018b及以上;
5.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。

程序设计

  • 完整源码和数据获取方式资源处直接下载Matlab实现ESN回声状态网络的多输入单输出回归预测。
%%  清空环境变量
warning off             % 关闭报警信息
close all               % 关闭开启的图窗
clear                   % 清空变量
clc                     % 清空命令行

%%  数据归一化
[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);



%%  训练模型
net = esn_train(p_train, t_train, hidden, lr, Init, reg);

%%  预测
t_sim1 = esn_sim(net, p_train);
t_sim2 = esn_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);



%%  绘图
%% 测试集结果
figure;
plotregression(T_test,T_sim2,['回归图']);
figure;
ploterrhist(T_test-T_sim2,['误差直方图']);
%%  均方根误差 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;


% CSDN 机器学习之心

参考资料

[1] https://blog.csdn.net/kjm13182345320/article/details/128577926?spm=1001.2014.3001.5501
[2] https://blog.csdn.net/kjm13182345320/article/details/128573597?spm=1001.2014.3001.5501

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

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

相关文章

盲人安全过马路:科技赋能,独立出行不再难

作为一位资深记者,我长期关注特殊群体的生活现状与科技助力下的改善举措。今天,我要讲述的是盲人朋友在独立出行,尤其是过马路时面临的挑战,以及一款叫做蝙蝠避障的创新辅助应用如何通过实时避障与拍照识别功能,显著提…

Github仓库每日更新京东、淘宝、天猫各品类优惠券

1、⚠️ ⚠️ 每次都是最新的,不保留历史文档,每天批量更新 1 ~ 3 次,都是精选,钱难赚,屎难吃,能省则省,看到合适的及时上车。 2、Gitee仓库地址 和 Github仓库地址 同步更新。 3、…

一键智能改写文案怎么做,4个方法教你轻松搞定

文案在我们的生活中随处可见,所以文案的重要性也是很大的。而对于文案创作者来说,改写文案是工作中必不可少的任务。但人工手动改写文案是一件非常消耗时间与精力的工作,因此,一键智能改写文案成了创作者们最适合的方法&#xff0…

C++必修:从C到C++的过渡(下)

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:C学习 贝蒂的主页:Betty’s blog 1. 缺省参数 1.1. 缺省参数的使用 缺省参数是声明或定义函数时为函数的参数指定…

【Nginx】Nginx启动显示80端口占用问题的解决方案

目录 🌅1. 问题描述 🌊2. 解决方案 🌅1. 问题描述 在启动nginx服务的时候显示内容如下: sudo systemctl status nginx 问题出现原因: 根据日志显示,Nginx 服务启动失败,主要原因是无法绑定…

Oracle Linux 8.8 一键安装 Oracle 11GR2 RAC(231017)

前言 Oracle 一键安装脚本,演示 Oracle Linux 8.8 一键安装 Oracle 11GR2 RAC(231017)过程(全程无需人工干预):(脚本包括 ORALCE PSU/OJVM 等补丁自动安装) ⭐️ 脚本下载地址&…

热知识:更多团队采用3个及以上内部开发者平台

01 介绍 根据 Perforce Puppet 的一份新报告中,平台工程的采用已经在一些企业内看到了成效,78% 的受访者表示他们的组织拥有专门的平台团队至少三年了。 然而,这并不意味着这些组织只使用同一套工具。四分之三的调查参与者表示,他…

【笔记】头部比例知识

1.三庭五眼 三庭:颅骨-眼睛 五眼:发际线-眉心-鼻底-下巴 2.结构位置 耳朵底部尽量不要超过鼻子底部,耳朵最高点一般是在眉心。 眼睛可以简化为五边形或梯形,但上面的最高点和下面的最高的最好不要平行,而是连起来是…

手撕sql面试题:根据分数进行排名,不使用窗口函数

分享一道面试题: 有一个分数表id 是该表的主键。该表的每一行都包含了一场考试的分数。Score 是一个有两位小数点的浮点值。 以下是表结构和数据: Create table Scores ( id int(11) NOT NULL AUTO_INCREMENT, score DECIMAL(3,2), PRIMARY KEY…

redis中的缓存穿透问题

缓存穿透 缓存穿透问题: 一般请求来到后端,都是先从缓存中查找数据,如果缓存中找不到,才会去数据库中查询数据。 而缓存穿透就是基于这一点,不断发送请求查询不存在的数据,从而使数据库压力过大&#xff…

java-springboot 01 手写springboot

01.springboot 一般都是一个父项目,而后子项目依赖父项目,保持依赖的版本相同 首先创建一个maven的父项目,由于idea更新,所以用Maven Archetype 来创建maven项目 具体的配置: 在已经创建的wzpWriteSpringboot的父mav…

低代码信创开发核心技术(四)动态元数据系统设计

一、概述 在当今快速发展的信息技术领域,动态元数据系统扮演着至关重要的角色。它不仅能够提供数据的描述信息,还能动态地适应业务需求的变化,从而提高系统的灵活性和可扩展性。构建一个动态元数据系统意味着我们可以在不重启系统的情况下&a…

HIL 测试

HIL是什么? 即硬件在环测试(Hardware-in-the-Loop Testing),是一种广泛应用于汽车电子控制系统领域的测试方法。它将实际的硬件(如ECU、传感器、执行器等)与模拟器件(如模型、仿真器等&#xf…

企业微信hook接口协议,根据用户id批量获取详细信息

根据用户id批量获取详细信息 参数名必选类型说明uuid是String每个实例的唯一标识,根据uuid操作具体企业微信 请求示例 {"uuid": "3240fde0-45e2-48c0-90e8-cb098d0ebe43","vids":[7881302555913738,1688853794914376] } 返回示例 {&…

内网穿透下的 wordpress 地址冲突问题与 https 下的后台登陆问题

内网穿透下的 wordpress 地址冲突问题与 https 下的后台登陆问题 内网穿透下的地址冲突https 登录管理后台总结 同步发布在个人笔记内网穿透下的 wordpress 地址冲突问题与 https 下的后台登陆问题 笔记记录解决两个 wordpress 相关问题 如果我们使用内网穿透把本地的 wordpre…

着手开发属于自己的第一个Intellij-platform plugin插件程序(三)

开发第一个插件 本节会从0开始构建一个简单的IDE插件,包括插件工程相关的配置。完成后的代码可当做插件开发的基础开发框架使用,这可大大节省新插件开发时工程的构建时间。本节旨在为了在正式学习开发Intellij平台插件之前使开发者对Intellij平台插件的开…

了解DNS洪水攻击

域名系统 (DNS) 服务器是互联网的“电话簿“;互联网设备通过这些服务器来查找特定 Web 服务器以便访问互联网内容。在互联网中,DNS 洪水是一种网络攻击方式。 DNS 洪水攻击是一种分布式拒绝服务 (DDoS) 攻击,攻击者用大量流量淹没某个域的 D…

高效一键改写文章,智能伪原创工具轻松搞定

在信息爆炸的时代,想要高效率的一键改写文章却是很多创作者都想了解的方法。然而在人工智能技术发展的今天,智能伪原创工具的出现,也正是成了广大创作者用来一键改写文章的好方法,因为它的优势,可以为大家轻松完成改写…

java 自动加密解密RequestBodyAdvice和RequestBodyAdvice

自定义注解 package com.han.annotation;import java.lang.annotation.*;Target({ElementType.METHOD,ElementType.TYPE}) Retention(RetentionPolicy.RUNTIME) Documented public interface SecretAnnotation {///是否加密默认falseboolean encode() default false;///是否解…

【Python-闭包】

Python-闭包 ■ 闭包特性■ 简单闭包■ 使用nonlocal关键字修改外部函数的值■ 使用闭包实现ATM小案例 ■ 闭包特性 ■ 简单闭包 def outer(logo):def inner(msg):print(f"<{logo}>{msg}<{logo}>")return innerfn1 outer("程序员") fn1(&quo…