时序预测 | Matlab实现SO-CNN-GRU蛇群算法优化卷积门控循环单元时间序列预测

news2024/10/7 20:27:02

时序预测 | Matlab实现SO-CNN-GRU蛇群算法优化卷积门控循环单元时间序列预测

目录

    • 时序预测 | Matlab实现SO-CNN-GRU蛇群算法优化卷积门控循环单元时间序列预测
      • 预测效果
      • 基本介绍
      • 程序设计
      • 参考资料

预测效果

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

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

基本介绍

时序预测 | Matlab实现SO-CNN-GRU蛇群算法优化卷积门控循环单元时间序列预测,运行环境Matlab2020b及以上。优化正则化率、学习率、隐藏层单元数。
1.Matlab实现SO-CNN-GRU蛇群算法优化卷积门控循环单元时间序列预测;
2.单变量时间序列预测;
3.多指标评价,评价指标包括:R2、MAE、MSE、RMSE等,代码质量极高;
4.鲸鱼算法优化参数为:学习率,隐含层节点,正则化参数;
5.excel数据,方便替换,运行环境2020及以上。

程序设计

  • 完整源码和数据获取方式1:私信博主回复Matlab实现SO-CNN-GRU蛇群算法优化卷积门控循环单元时间序列预测
  • 完整程序和数据下载方式2(订阅《组合优化》专栏,同时获取《组合优化》专栏收录的任意8份程序,数据订阅后私信我获取): Matlab实现SO-CNN-GRU蛇群算法优化卷积门控循环单元时间序列预测,专栏外只能获取该程序。
%%  获取最优种群
   for j = 1 : SearchAgents
       if(fitness_new(j) < GBestF)
          GBestF = fitness_new(j);
          GBestX = X_new(j, :);
       end
   end
   
%%  更新种群和适应度值
   pop_new = X_new;
   fitness = fitness_new;

%%  更新种群 
   [fitness, index] = sort(fitness);
   for j = 1 : SearchAgents
      pop_new(j, :) = pop_new(index(j), :);
   end

%%  得到优化曲线
   curve(i) = GBestF;
   avcurve(i) = sum(curve) / length(curve);
end

%%  得到最优值
Best_pos = GBestX;
Best_score = curve(end);

%%  得到最优参数
NumOfUnits       =abs(round( Best_pos(1,3)));       % 最佳神经元个数
InitialLearnRate =  Best_pos(1,2) ;% 最佳初始学习率
L2Regularization = Best_pos(1,1); % 最佳L2正则化系数
% 
inputSize = k;
outputSize = 1;  %数据输出y的维度  
%  参数设置
opts = trainingOptions('adam', ...                    % 优化算法Adam
    'MaxEpochs', 20, ...                              % 最大训练次数
    'GradientThreshold', 1, ...                       % 梯度阈值
    'InitialLearnRate', InitialLearnRate, ...         % 初始学习率
    'LearnRateSchedule', 'piecewise', ...             % 学习率调整
    'LearnRateDropPeriod', 6, ...                     % 训练次后开始调整学习率
    'LearnRateDropFactor',0.2, ...                    % 学习率调整因子
    'L2Regularization', L2Regularization, ...         % 正则化参数
    'ExecutionEnvironment', 'gpu',...                 % 训练环境
    'Verbose', 0, ...                                 % 关闭优化过程
    'SequenceLength',1,...
    'MiniBatchSize',10,...
    'Plots', 'training-progress');                    % 画出曲线

参考资料

[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/915945.html

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

相关文章

相机成像之3A算法的综述

3A算法是摄像机成像控制技术中的三大自动控制算法。随着计算机视觉的迅速发展,该算法在摄像器材领域具有广泛的应用和前景。 那么3A控制算法又是指什么呢? (1)AE (Auto Exposure)自动曝光控制 (2)AF (Auto Focus)自动聚焦控制 (3)AWB (Auto White Balance)自动白平衡控…

【数据库】连接查询

1 内连接查询 select 学员信息表.* 学员成绩表.* from 学员信息表 inner join 学员成绩表 on 学员信息表,学号 学员成绩表.学号; 2 左连接查询 select 学员信息表.*,学员成绩表.* from 学员信息表 left join 学员成绩表 on 学员信息表,学号 学员成绩表,学号&#xff1b; 3 右…

C++ LibCurl 库的使用方法

LibCurl是一个开源的免费的多协议数据传输开源库&#xff0c;该框架具备跨平台性&#xff0c;开源免费&#xff0c;并提供了包括HTTP、FTP、SMTP、POP3等协议的功能&#xff0c;使用libcurl可以方便地进行网络数据传输操作&#xff0c;如发送HTTP请求、下载文件、发送电子邮件等…

mysql mariadb 创建mysql mariadb用户,登录报错

mysql mariadb 创建energy普通用户&#xff0c;登录mysql报错 &#xff1a;access denied GRANT REPLICATION CLIENT,PROCESS,SELECT ON *.* TO mysqld_exporter% identified by 123;解决办法&#xff1a; 登录mysql 查看用户表 mysql -uroot -pPote123 select user,host,pa…

线程面试题-2

1、一般用什么作为HashMap的key? 一般用Integer、String 这种不可变类当 HashMap 当 key&#xff0c;而且 String 最为常用。 因为字符串是不可变的&#xff0c;所以在它创建的时候 hashcode 就被缓存了&#xff0c;不需要重新计算。这就是HashMap 中的键往往都使用字符串的原…

【vue3】vite工具创建vue3项目,遇到的坑及解决办法

1、在对应文件夹下执行npm create vite 报错如下&#xff1a; 解决步骤可看这篇文章&#xff1a;npm install报错 -&#xff1e; npm ERR! Unexpected token ‘.‘ 报错解决办法 主要是因为我的nvm版本是1.1.7&#xff0c;版本太低&#xff0c;里面没有集成高版本node导致的 将…

基于swing的超市信息管理系统java jsp仓库进销存mysql源代码

本项目为前几天收费帮学妹做的一个项目&#xff0c;Java EE JSP项目&#xff0c;在工作环境中基本使用不到&#xff0c;但是很多学校把这个当作编程入门的项目来做&#xff0c;故分享出本项目供初学者参考。 一、项目描述 基于swing的超市信息管理系统 系统有1权限&#xff1…

〔016〕Stable Diffusion 之 模型工具箱和图片背景移除 篇

✨ 目录 🎈 下载插件🎈 基础使用界面🎈 高级使用界面🎈 下载背景移除插件🎈 移除插件使用🎈 下载插件 由于模型很多,而且底模也非常大,对于空间占用比较大,如果想缩小模型体积,可以使用模型工具箱插件该插件主要支持 模型的修剪、转换.safetensors格式、提取和…

Java“牵手”虾皮商品详情数据,根据商品ID获取虾皮(Shopee商品详情数据接口,虾皮API接口申请指南

虾皮&#xff08;shopee&#xff09;商城是一个跨境网上批发购物平台&#xff0c;售卖各类商品&#xff0c;包括服装、鞋类、家居用品、美妆产品、电子产品等。要获取虾皮商品详情数据&#xff0c;您可以通过开放平台的接口或者直接访问虾皮商城的网页来获取商品详情信息。以下…

vue 简单实验 数据更新

1.代码 <script src"https://unpkg.com/vuenext" rel"external nofollow" ></script> <div id"counter">Counter: {{ counter }} </div> <script> const Counter {data() {return {counter: 5}},mounted() {set…

从陌生到熟练使用string类

&#x1f388;个人主页:&#x1f388; :✨✨✨初阶牛✨✨✨ &#x1f43b;推荐专栏1: &#x1f354;&#x1f35f;&#x1f32f;C语言初阶 &#x1f43b;推荐专栏2: &#x1f354;&#x1f35f;&#x1f32f;C语言进阶 &#x1f511;个人信条: &#x1f335;知行合一 &#x1f…

基于nginx禁用访问ip

一、背景 网络安全防护时&#xff0c;禁用部分访问ip,基于nginx可快速简单实现禁用。 二、操作 1、创建 conf.d文件夹 在nginx conf 目录下创建conf.d文件夹 Nginx 扩展配置文件一般在conf.d mkdir conf.d 2、新建blocksip.conf文件 在conf.d目录新建禁用ip的扩展配置文…

关于LED电子显示屏幕的显示功能

因为LED显示屏的发光颜色和发光效率与制作LED的材料和工艺相关&#xff0c;目前广泛采用的有红、绿、蓝三种颜色的LED。这些LED的独特之处在于它们工作时需要的电压极低&#xff08;仅1.5-3V&#xff09;&#xff0c;能够主动发光&#xff0c;并且具有一定的亮度。这亮度可以通…

清醒和非快速眼动睡眠EEG微状态序列的频率分析

摘要 大多数脑电(EEG)微状态分析都是在清醒状态下进行数据采集&#xff0c;而现有的睡眠研究主要集中在空间微状态特性的变化以及相邻时间点之间的微状态转换上&#xff0c;睡眠状态下脑电微状态研究尚且不足。本研究旨在对清醒和非快速眼动(NREM)睡眠阶段的非平滑EEG微状态序…

Swift 周报 第三十四期

文章目录 前言新闻和社区iPhone Pro 要提价&#xff01;新款 iPhone 或会使用 USB-C 充电器&#xff0c;边框更薄与 App Store 专家会面交流让你的 App 和游戏在 visionOS 模拟器外更进一步 提案通过的提案正在审查的提案 Swift论坛推荐博文话题讨论关于我们 前言 本期是 Swif…

AutoSAR配置与实践(基础篇)3.4 BSW 的存储功能

AutoSAR配置与实践(基础篇)3.4 BSW 的存储功能 一、存储功能简介二、片内存储三、片外存储一、存储功能简介 分层和模块: 在内存栈中包含服务层(NvM)、抽象层(MemIf、EA、Fee、Ex EE Drv、Ex Fls Drv)、MCAL(SPI、EE Drv、Fls Drv)几个模块。 片内外存储: AutoSAR…

windows下nginx配置为服务

​ 1.下载winswx。 下载地址&#xff1a;winsw下载 2.解压后将其重命名为“nginx-service”,并将其放到nginx目录下。 3.新建一个文本文档内容如下&#xff1a;&#xff08;里面的路径根据自己的情况修改&#xff09; <service> <id>nginx</id> <name&…

内核编译机制

inux内核的编译主要过程&#xff1a;配置、编译、安装。 配置主要由Kconfig提供图形界面完成 编译主要基于Kbuild编译系统&#xff0c;执行make完成编译 安装主要也是基于Kbuild提供的脚本&#xff0c;然后执行make完成安装 Kconfig Kconfig用于内核的配置&#xff0c;mak…

PyQt5实操及问题记录

下载与配置 下载 下载使用pip install即可 pip install PyQt5 -i https://pypi.douban.com/simple pip install PyQt5-tools -i https://pypi.douban.com/simple配置 参考&#xff1a; https://blog.csdn.net/m0_57021623/article/details/123459038?ops_request_misc%257…

线程池一定需要了解的那些事

一、阿里Java开发规范&#xff0c;为啥禁止直接使用Executors创建线程池 newFixdThreadPool 及 singleThreadPool 中默认队列长度为 Integer.MAX_VALUE&#xff0c;如果线程执行比较耗时&#xff0c;执行任务的线程在队列中产生大量堆积&#xff0c;进而有导致虚拟机OOM 的风险…