时序预测 | MATLAB实现NGO-GRU北方苍鹰算法优化门控循环单元时间序列预测

时序预测 | MATLAB实现NGO-GRU北方苍鹰算法优化门控循环单元时间序列预测

目录

    • 时序预测 | MATLAB实现NGO-GRU北方苍鹰算法优化门控循环单元时间序列预测
      • 预测效果
      • 基本介绍
      • 程序设计
      • 参考资料

预测效果

在这里插入图片描述

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

基本介绍

MATLAB实现NGO-GRU北方苍鹰算法优化门控循环单元时间序列预测(完整源码和数据)
1.data为数据集,单变量时间序列。
2.MainNGOGRUTS.m为程序主文件,其他为函数文件无需运行。
3.命令窗口输出MAE、MSE、RMSEP、R^2、RPD和MAPE,可在下载区获取数据和程序内容。
4.北方苍鹰算法优化参数为学习率,隐藏层节点个数,正则化参数。
注意程序和数据放在一个文件夹,运行环境为Matlab2018及以上.

程序设计

  • 完整程序和数据下载方式(资源处直接下载):MATLAB实现NGO-GRU北方苍鹰算法优化门控循环单元时间序列预测
%% --------------LSTM优化----------------------
% 参数设置
SearchAgents = 5;  % 种群数量 
Max_iterations =10; % 迭代次数  lowerbound = [1e-10 0.0001 10 ];%三个参数的下限
upperbound = [1e-2 0.002 400 ];%三个参数的上限
dim = 3;%数量,即要优化的LSTM超参数个数fobj = @(x)fun(x,inputn_train,outputn_train,outputps);   %调用函数fun计算适应度函数值
%% 赋值; 
[Best_score,Best_pos,Convergence_curve]=NGO(SearchAgents,Max_iterations,lowerbound,upperbound,dim,fobj)    %% 北方苍鹰算法%得到最优参数
L2Regularization = Best_pos(1,1); % 最佳L2正则化系数
InitialLearnRate = Best_pos(1,2); % 最佳初始学习率
NumOfUnits  =abs(round( Best_pos(1,3)));   % 最佳隐藏层节点数%% ------------------利用优化参数重新训练预测----------------------------
% 数据输入x的特征维度
inputSize  = size(inputn_train,1);
% 数据输出y的维度
outputSize = size(outputn_train,1);%  设置网络结构
layers = [ ...sequenceInputLayer(inputSize)     %输入层,参数是输入特征维数Layer(NumOfUnits)        %学习层,隐含层神经元的个数dropoutLayer(0.2)                  %权重丢失率fullyConnectedLayer(outputSize)   %全连接层,也就是输出的维数regressionLayer];    %回归层,该参数说明是在进行回归问题,而不是分类问题% trainoption(lstm)
opts = trainingOptions('adam', ...      %优化算法'MaxEpochs',100, ...                %最大迭代次数'GradientThreshold',1,...           %梯度阈值,防止梯度爆炸'ExecutionEnvironment','cpu',...   %对于大型数据集合、长序列或大型网络,在 GPU 上进行预测计算通常比在 CPU 上快。其他情况下,在 CPU 上进行预测计算通常更快。'InitialLearnRate',InitialLearnRate, ...'LearnRateSchedule','piecewise', ...'LearnRateDropPeriod',120, ...'LearnRateDropFactor',0.2, ...   % 指定初始学习率 0.005,在 100 轮训练后通过乘以因子 0.2 来降低学习率。'L2Regularization', L2Regularization, ...       % 正则化参数'Verbose',false, ...         %如果将其设置为true,则有关训练进度的信息将被打印到命令窗口中。'Plots','training-progress'...   %构建曲线图,   若将'training-progress'替换为'none',则不画出曲线);   % 'MiniBatchSize',outputSize*30, ...%% -----------------预测结果-------------------------
%  数据格式转换train_DATA=output_train';    %训练样本标签
test_DATA= output_test'; %测试样本标签

参考资料

[1] https://blog.csdn.net/article/details/126072792?spm=1001.2014.3001.5502
[2] https://blog.csdn.net/article/details/126044265?spm=1001.2014.3001.5502

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

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

相关文章

接口测试——接口协议抓包分析与mock_L2

目录: 抓包工具charles抓包工具fiddler抓包工具证书配置app抓包实战练习接口测试实战练习 1.抓包工具charles 工具介绍 支持 SSL 代理支持流量控制支持重发网络请求,方便后端调试支持修改网络请求参数支持网络请求的截获并动态修改可以自动将 json 或…

探索Moonbeam路由流动性的强大功能

Moonbeam的GMP预编译作为MRL的接口,有助于将带有Token的消息从GMP协议(通过XCMP)传输到与Moonbeam链接的平行链。 为何是个重磅消息?因为这项技术使得将流动性从外部区块链转移到其他波卡平行链成为可能! 这里补充一…

Python 3.12.0 正式版即将发布!

导读Python 3.12.0 发布了第 2 个 RC 版本,也是最后一个 RC。正式版将于 2023 年 10 月 2 日星期一发布。 开发团队表示,进入候选版本阶段后,只接受经过 review 且修复明确错误的代码。RC2 是发现并修复重要问题的最后机会。 从该版本开始&a…

Mini Linux嵌入式设备服务器

Digi International推出了具有Digi Embedded Linux的Digi Connect ME 9210。Digi Embedded Linux是为在Digi嵌入式模块和微控制器上开发而优化的最新版本。高性能嵌入式开发服务器大约只有一对骰子大小,是嵌入式Linux上最小的。这使OEM可以在空间受限的设备中使用Li…

【产品运营】如何做好B端产品规划

产品规划是基于当下掌握的多维度信息,为追求特定目的,而制定的产品资源投入计划。 产品规划是基于当下掌握的多维度信息(客户需求、市场趋势、竞争对手、竞争策略等),为追求特定目的(商业增长、客户满意等&…

SSM - Springboot - MyBatis-Plus 全栈体系(十三)

第三章 MyBatis 一、MyBatis 简介 1. 简介 MyBatis 最初是 Apache 的一个开源项目 iBatis, 2010 年 6 月这个项目由 Apache Software Foundation 迁移到了 Google Code。随着开发团队转投 Google Code 旗下, iBatis3.x 正式更名为 MyBatis。代码于 2013 年 11 月迁…

一文教你如何配置路由策略

【微|信|公|众|号:厦门微思网络】 微思-课程介绍 组网需求 如图1所示,某公司的部门A和部门B相距较远,Router_1和Router_6分别作为这两个部门的出口设备,AS 100内部使用OSPF作为IGP。现要求: 通过部署BGP,使…

每日一练 | 华为认证真题练习Day115

1、FEC(Forwarding Equivalence Class)转发等价类,是一组具有某些共性的数据流的集合;FEC可以根据地址进行划分,但是不能根据业务类型、QoS等要素进行划分。 A. 对 B. 错 2、关于OSI参考模型中网络层的功能说法正确的是? A. OS…

阿里云服务器共享型和企业级独享有什么区别?

阿里云ECS云服务器共享型和企业级有什么区别?企业级就是独享型,共享型和企业级云的主要区别CPU调度模式,共享型是非绑定CPU调度模式,企业级是固定CPU调度模式,共享型云服务器在高负载时计算性能可能出现波动不稳定&…

PHP自动识别采集何意网址文章正文内容

在做PHP采集内容时,用过querylist采集组件,但是这个插件采集页面内容时,都必须要写个采集选择器。这样比较麻烦,每个文章页面都必须指定一条采集规则 。就开始着手找一个插件可以能自动识别任意文章url正文内容并采集的&#xff0…

Python:Django框架的Hello wrold示例

Django是Python的目前很常用的web框架,遵循MVC设计模式。 以下介绍如何安装Django框架,并生成最简单的项目,输出Hello world。(开发工具VScode) 一、安装Django 在VScode终端控制台执行以下指令安装Django python install django 如果要查…

前端新轮子Nue,号称替代Vue、React和Svelte

新的简约前端开发工具集Nue.js 于周三发布。在 Hacker News 上介绍它时,前端开发者和Nue.js 的创作者Tero Piirainen表示,它是 React、Vue、Next.js、Vite、Svelte 和 Astro 的替代品。他在 Nue.js的 FAQ 中进一步解释说,它是为网站和响应式用…

Chrome获取RequestId

Chrome获取RequestId 参考:https://help.aliyun.com/zh/redis/how-do-i-obtain-the-id-of-a-request 在浏览器页面按下F12键,打开开发者工具页面; 在开发者工具页面,单击Network(网络); 在playload(载荷)窗口中找到目…

Nginx代理victoriametrics集群配置

1,首先安装nginx yum install -y nginx 2,生成密钥文件 安装htpasswd工具 yum install -y httpd-tools 生成密钥文件,prometheus为用户名 htpasswd -c /etc/nginx/conf.d/passwd prometheus 3,修改nginx配置文件nginx.conf,增加如下内容 upstream vmselect {server 10.…

【新版】系统架构设计师 - 案例分析 - 架构设计<SOA与微服务>

个人总结,仅供参考,欢迎加好友一起讨论 文章目录 架构 - 案例分析 - 架构设计<SOA与微服务>例题1例题2例题3例题4 架构 - 案例分析 - 架构设计<SOA与微服务> 这里SOA与微服务的例题只对应找寻了几个&#x…

微信小程序 工具使用(HBuilderX)

微信小程序 工具使用:HBuilderX 一 HBuilderX 的下载二 工具的配置2.1 工具 --> 设置 --> 运行配置2.1.1 微信开发者工具路径2.1.2 node 运行配置 2.2 插件 工具 --> 插件安装2.2.1 下载插件 三 微信小程序端四 同步运行五 BUG5.1 nodemon在终端无法识别 一 HBuilderX…

ubuntu中的系统消息中显卡显示llvmpipe (LLVM 10.0.0, 256 bits)

这是我在使用ubuntu系统时出现的问题,网上搜到很多解决的办法,我是一顿操作,后来看到这位老哥的帖子解决了。 集Linux / Ubuntuwin10双系统安装记录(2):AMD核显驱动引发的问题 - 知乎上一篇中我们提到了 astroR2:Linux / Ubuntuw…

如何正确监测蓄电池健康?狠狠学到!

蓄电池在现代生活和工业中发挥着关键作用,它们为无数设备和系统提供了必要的电力支持。然而,蓄电池的性能和可靠性对许多应用至关重要。监控蓄电池状态和性能变得越来越重要,以确保它们在需要时始终可用。 为此,蓄电池监控系统应运…

LabVIEW开发具有栅极感应漏极电流的电荷泵

LabVIEW开发具有栅极感应漏极电流的电荷泵 由操作压力引起的接口陷阱一直是一个长期问题,因为它们会降低栅极电介质的质量,引起器件参数的不必要变化,例如导通状态电流、亚阈值摆幅、阈值电压和跨导。因此,表征界面疏水阀对于确保…

机器人过程自动化(RPA)入门 4. 数据处理

到目前为止,我们已经了解了RPA的基本知识,以及如何使用流程图或序列来组织工作流中的步骤。我们现在了解了UiPath组件,并对UiPath Studio有了全面的了解。我们用几个简单的例子制作了我们的第一个机器人。在我们继续之前,我们应该了解UiPath中的变量和数据操作。它与其他编…