时序预测 | MATLAB实现EEMD-GRU、GRU集合经验模态分解结合门控循环单元时间序列预测对比
时序预测 | MATLAB实现EEMD-GRU、GRU集合经验模态分解结合门控循环单元时间序列预测对比
目录
- 时序预测 | MATLAB实现EEMD-GRU、GRU集合经验模态分解结合门控循环单元时间序列预测对比
- 效果一览
- 基本介绍
- 模型搭建
- 程序设计
- 参考资料
效果一览






基本介绍
1.MATLAB实现EEMD-GRU、GRU时间序列预测对比;
2.时间序列预测 就是先eemd把原输入全分解变成很多维作为输入 , 再输入GRU预测 ;
3.运行环境Matlab2020b及以上,输出RMSE、MAPE、MAE等多指标对比,
先运行main1_eemd_test,进行eemd分解;再运行main2_gru、main3_eemd_gru;再运行main4_compare,两个模型对比。
程序乱码是由于Matlab版本不一致造成的,处理方式如下:先重新下载程序,如XXX.m程序出现乱码,则在文件夹中找到XXX.m,右击选择打开方式为记事本文本文档(txt),查看文档是否乱码,通常不乱码,则删除Matlab中的XXX.m的全部代码,将文本文档中不乱码的代码复制到Matlab中的XXX.m中。
模型搭建
EEMD-GRU (Ensemble Empirical Mode Decomposition - Gated Recurrent Unit) 是一种将 EEMD 和 GRU 结合起来进行时间序列预测的方法。EEMD 用于将原始时间序列分解成多个固有模态函数 (Intrinsic Mode Functions, IMFs),然后 GRU 用于对这些 IMFs 进行建模和预测。
EEMD 是一种数据分解方法,将时间序列分解成多个 IMFs 和一个残差项。IMFs 是具有不同频率和振幅特征的函数,可以表示原始时间序列的不同成分。GRU (Gated Recurrent Unit):GRU 是一种循环神经网络 (Recurrent Neural Network, RNN) 的变体,具有门控机制,可以捕捉时间序列中的长期依赖关系。GRU 通过门控单元来控制信息的流动和记忆的更新。
EEMD-GRU 时间序列预测过程:
a. 将原始时间序列进行 EEMD 分解,得到多个 IMFs 和一个残差项。
b. 将每个 IMF 作为 GRU 的输入序列,训练多个 GRU 模型,每个模型对应一个 IMF。
c. 对于每个 GRU 模型,使用历史时刻的输入序列预测下一个时刻的值。
d. 将每个 GRU 模型的预测结果加权求和,得到最终的时间序列预测结果。
EEMD-GRU 时间序列预测公式:
假设有 N 个 IMFs,第 i 个 IMF 的 GRU 模型表示为 GRU_i。
对于第 i 个 GRU 模型,其输入序列为 X_i = [x_i1, x_i2, …, x_iT],其中 x_ij 表示第 i 个 IMF 在时间 j 的值。
模型 GRU_i 的预测结果为 y_i = [y_i1, y_i2, …, y_iT],其中 y_ij 表示模型 GRU_i 在时间 j 的预测值。
最终的时间序列预测结果为 y = w_1 * y_1 + w_2 * y_2 + … + w_N * y_N,其中 w_i 表示第 i 个 GRU 模型的权重。
以上是 EEMD-GRU 时间序列预测的基本原理和公式,通过将 EEMD 的分解结果与 GRU 的建模能力相结合,可以更好地捕捉时间序列的特征和趋势,提高预测的准确性。
程序设计
- 完整程序和数据获取方式1:私信博主回复MATLAB实现EEMD-GRU、GRU集合经验模态分解结合门控循环单元时间序列预测对比,同等价值程序兑换;
- 完整程序和数据下载方式2(资源处直接下载):MATLAB实现EEMD-GRU、GRU集合经验模态分解结合门控循环单元时间序列预测对比;
%% 创建混合网络架构
% 输入特征维度
numFeatures = f_;
% 输出特征维度
numResponses = 1;
FiltZise = 10;
% layers = [...% 输入特征sequenceInputLayer([numFeatures 1 1],'Name','input')sequenceFoldingLayer('Name','fold')dropoutLayer(0.25,'Name','drop3')% 全连接层fullyConnectedLayer(numResponses,'Name','fc')regressionLayer('Name','output') ];layers = layerGraph(layers);layers = connectLayers(layers,'fold/miniBatchSize','unfold/miniBatchSize');%%
% 批处理样本
MiniBatchSize =128;
% 最大迭代次数
MaxEpochs = 500;options = trainingOptions( 'adam', ...'MaxEpochs',500, ...'GradientThreshold',1, ...'InitialLearnRate',optVars.InitialLearnRate, ...'LearnRateSchedule','piecewise', ...'LearnRateDropPeriod',400, ...'LearnRateDropFactor',0.2, ...'L2Regularization',optVars.L2Regularization,...'Verbose',false, ...'Plots','none');%% 训练混合网络
net = trainNetwork(XrTrain,YrTrain,layers,options);
desvio_estandar=std(x);
x=x/desvio_estandar;
xconruido=x+Nstd*randn(size(x));
[modos, o, it]=emd(xconruido,'MAXITERATIONS',MaxIter);
modos=modos/NR;
iter=it;
if NR>=2for i=2:NRxconruido=x+Nstd*randn(size(x));[temp, ort, it]=emd(xconruido,'MAXITERATIONS',MaxIter);temp=temp/NR;lit=length(it);[p liter]=size(iter);if lit<literit=[it zeros(1,liter-lit)];end;if liter<lititer=[iter zeros(p,lit-liter)];end;iter=[iter;it];[filas columnas]=size(temp);[alto ancho]=size(modos);diferencia=alto-filas;if filas>altomodos=[modos; zeros(abs(diferencia),ancho)];end;if alto>filastemp=[temp;zeros(abs(diferencia),ancho)];end;modos=modos+temp;end;
end;
its=iter;
modos=modos*desvio_estandar;
参考资料
[1] https://blog.csdn.net/kjm13182345320/article/details/129036772?spm=1001.2014.3001.5502
[2] https://blog.csdn.net/kjm13182345320/article/details/128690229
相关文章:
时序预测 | MATLAB实现EEMD-GRU、GRU集合经验模态分解结合门控循环单元时间序列预测对比
时序预测 | MATLAB实现EEMD-GRU、GRU集合经验模态分解结合门控循环单元时间序列预测对比 目录 时序预测 | MATLAB实现EEMD-GRU、GRU集合经验模态分解结合门控循环单元时间序列预测对比效果一览基本介绍模型搭建程序设计参考资料 效果一览 基本介绍 1.MATLAB实现EEMD-GRU、GRU时…...
学习笔记整理-JS-04-流程控制语句
文章目录 一、条件语句1. if语句的基本使用2. if else if多条件分支3. if语句算法题4. switch语句5. 三元运算符 二、循环语句1. for循环语句2. for循环算法题3. while循环语句4. break和continue5. do while语句 三、初识算法1. 什么是算法2. 累加器和累乘器3. 穷举法4. 综合算…...
stable-diffusion-webui 界面汉化
本教程通过安装 sd-webui-bilingual-localization 插件来达到汉化目的, 项目地址为:https://github.com/journey-ad/sd-webui-bilingual-localization 一、安装插件 先进入插件安装界面 在搜索栏搜索 zh_CN Localization 中文语言包, 项目地址: https://github.com/dtlnor/st…...
问道管理:信创概念走势活跃,恒银科技斩获四连板
信创概念9日盘中走势活泼,截至发稿,新晨科技、竞业达、恒银科技等涨停,宇信科技涨近10%,中孚信息涨近9%,华是科技、神州数码涨超7%。 新晨科技今天“20cm”涨停,公司昨日晚间公告,近来收到投标代…...
centos 7镜像(iso)下载图文教程(超详细)
声明:本教程为本人学习笔记,仅供参考 文章目录 前言一、阿里云镜像站下载centos 7 二、清华源下载centos 7小结 前言 声明:本教程为本人学习笔记,仅供参考 本教程将提供两种方式下载centos 7 系统镜像 1、阿里巴巴开源镜像站 2、…...
使用Druid,以jdbc方式配置多数据源
文章目录 背景示例代码(结合实际进行配置)总结 背景 当使用Spring Boot项目并需要多数据源时,你可以使用Druid连接池来配置和管理多个数据源。以下是一个示例的配置和代码,以说明如何实现多数据源: 示例代码…...
RabbitMQ基础(2)——发布订阅/fanout模式 topic模式 rabbitmq回调确认 延迟队列(死信)设计
目录 引出点对点(simple)Work queues 一对多发布订阅/fanout模式以登陆验证码为例pom文件导包application.yml文件rabbitmq的配置生产者生成验证码,发送给交换机消费者消费验证码 topic模式配置类增加配置生产者发送信息进行发送控制台查看 rabbitmq回调确认配置类验…...
2. VisionOS平台概述
Unity 对VisionOS的支持将 Unity 编辑器和运行时引擎的全部功能与RealityKit提供的渲染功能结合起来。Unity 的核心功能(包括脚本、物理、动画混合、AI、场景管理等)无需修改即可支持。这允许游戏和应用程序逻辑像任何其他 Unity 支持的平台一样在Vision…...
MySql存储过程详解
文章目录 存储过程1 介绍 基本语法创建:调用查看删除演示: 变量相关系统变量演示: 用户自定义变量局部变量 if语法参数介绍casewhilerepeatloop游标条件处理程序存储函数 存储过程 1 介绍 存储过程是事先经过编译并存储在数据库中的一段 SQL 语句的集合,调用存储过…...
CRM 系统实施风险分析
企业实施 CRM 系统将引起各个方面的巨大变化, CRM 系统实施项目中,有不 少成功的案例,也存在相当的风险,企业只有增强风险意识并积极防范,才有可能提高 CRM 实施成功的概率。 1.企业内部环境带来的风险 (…...
保持城市天际线(力扣)贪心 JAVA
给你一座由 n x n 个街区组成的城市,每个街区都包含一座立方体建筑。给你一个下标从 0 开始的 n x n 整数矩阵 grid ,其中 grid[r][c] 表示坐落于 r 行 c 列的建筑物的 高度 。 城市的 天际线 是从远处观察城市时,所有建筑物形成的外部轮廓。…...
电路综合原理与实践---T衰减与PI衰减的详细计算理论与设计仿真
电路综合原理与实践—T衰减与PI衰减的详细计算理论与设计仿真 最近要找工作在刷笔试题目,会刷到关于T衰减的理论计算问题,一直搞不明白怎么算的,搞明白之后给大家伙来分享一下。 基础理论可以参考:电阻衰减网络计算(P…...
1. 基于UDP的TFTP文件传输
1)tftp协议概述 简单文件传输协议,适用于在网络上进行文件传输的一套标准协议,使用UDP传输 特点: 是应用层协议 基于UDP协议实现 数据传输模式 octet:二进制模式(常用) mail:…...
django中使用bootstrap-datepicker时间插件
1、插件的下载 Bootstrap Datepicker是一款基 于Bootstrap框架的日期选择控件,可以方便地在Web应用中添加可交互的日期选择功能。Bootstrap Datepicker拥有丰富的选项和API,支持多种日期格式,可以自定义样式并支持各种语言。 Bootstrap Datepicker 依赖…...
《golang设计模式》第二部分·结构型模式-02-桥接模式(Bridge)
文章目录 1. 概念1.1 角色1.2 类图 2. 代码示例2.1 设计2.1 代码2.2 类图 1. 概念 客户端调用桥接接口实现原有功能和扩展功能的组合 1.1 角色 Implementor(实施者): 具体实施者的抽象,可以是一个接口。 Concrete Implementor&…...
【2023年11月第四版教材】《第4章-信息系统管理之管理要点(第四版新增章节)(第二部分)》
信息系统管理之管理要点(第四版新增章节)(第二部分) 2 管理要点2.1 数据管理能力成熟度评估模型DCMM详细表格简要表格 2.2 组织的管理成熟度2.3 能力模型2.4 智能运维能力框架2.5 安全保护等级 2 管理要点 2.1 数据管理能力成熟度…...
【算法——双指针】LeetCode 1089 复写零
千万不要被这道题标注着“简单”迷惑了,实际上需要注意的细节很多。 题目描述: 解题思路: 正序遍历,确定结果数组的最后一个元素所在的位置;知道最后一个元素的位置后倒序进行填充。 先找到最后一个需要复写的数 先…...
基于飞桨图学习框架实现的城市地点动态关系挖掘
李双利 飞桨开发者技术专家(PPDE),百度研究院商业智能实验室研究实习生,中国科学技术大学在读博士生。 主要进行时空数据挖掘和图深度学习的相关研究工作。曾获2021年百度研究院年度优秀实习生,有多篇基于飞桨完成的…...
3.1 Qt样式选择器
本期内容 3.1 样式选择器 3.1.1 Universal Selector (通用选择器) 3.1.2 Type Selector (类型选择器) 3.1.3 Property Selector (属性选择器) 3.1.4 Class Selector (类选择器) 3.1.5 ID Selector (ID选择器) 3.1.6 Descendant Selector (后裔选择器) 3.1.7 Chil…...
react钩子副作用理解
useEffect(() > { fetch(‘https://api.example.com/data’) .then(response > response.json()) .then(data > setData(data)); }, []); 怎么理解这个[] 在 React 中,useEffect 钩子用于处理副作用,比如数据获取、订阅、手动 DOM 操作等。useE…...
Flutter漫画阅读器终极指南:打造你的专属漫画世界
Flutter漫画阅读器终极指南:打造你的专属漫画世界 【免费下载链接】flutter_dmzj 动漫之家第三方Flutter客户端 项目地址: https://gitcode.com/gh_mirrors/fl/flutter_dmzj 动漫之家X是一款使用Flutter开发的跨平台第三方客户端,为漫画爱好者提供…...
nli-distilroberta-base生产环境:低延迟NLI服务在实时对话系统中的嵌入
nli-distilroberta-base生产环境:低延迟NLI服务在实时对话系统中的嵌入 1. 项目概述 nli-distilroberta-base是一个基于DistilRoBERTa模型的轻量级自然语言推理(NLI)服务,专门为生产环境优化设计。它能快速判断两个句子之间的逻辑关系,为实…...
毕业之家20+核心功能盘点:选题、大纲、初稿、降重、查重、排版、答辩全包了
在论文写作过程中,不知如何下笔、结构混乱、查重焦虑、格式繁琐是困扰大多数毕业生的主要问题。毕业之家(biye.com)正是针对这些痛点打造的一站式AI论文写作平台,覆盖从选题到答辩的全流程-6-8。 一、核心定位:专为毕…...
单片机课设避坑指南:用Proteus 8.0+AT89C51搞定超声波测距仿真(附完整源码)
单片机课设避坑指南:Proteus 8.0AT89C51超声波测距仿真实战 第一次用Proteus做超声波测距仿真时,我在实验室熬了三个通宵——SRF04模块死活测不出距离,LCD1602显示乱码,报警阈值设置总出错。如果你正在为课设发愁,这份…...
微信支付运营户 vs 基本户彻底搞懂:商家转账到零钱的资金流与账户权限实操指南
微信支付商户账户体系全解析:从资金流到权限设置的实战指南 第一次登录微信支付商户后台时,那些专业术语和复杂的资金流向是否让你感到手足无措?作为刚接手这项工作的财务或技术人员,理解运营户和基本户的区别就像学习一门新语言…...
1篇2章10节:介绍 CO-STAR 提示词工程框架
CO-STAR 框架的核心理念是将系统化目标管理的思路应用于提示词设计。框架由六大要素组成,通过系统化拆解,CO-STAR 帮助用户将复杂或多维任务转化为结构化、可控的提示词,提升 AI 理解和执行的准确性。CO-STAR 提示词工程框架在现代社会&#…...
收藏!后端转大模型开发1年,从CRUD麻木到眼里有光,小白也能参考的转行实录
做后端开发整整五年,说句实在话,日常工作几乎离不开CRUD的循环——增删改查反复敲,偶尔优化下接口响应速度、排查线上突发的bug,日子过得像精准运转的发条钟,安稳是真安稳,但越往后走,心里的恐慌…...
探索数据中的数学之美:PySR符号回归工具让复杂规律触手可及
探索数据中的数学之美:PySR符号回归工具让复杂规律触手可及 【免费下载链接】PySR High-Performance Symbolic Regression in Python and Julia 项目地址: https://gitcode.com/gh_mirrors/py/PySR 你是否曾面对海量数据却难以理解其中的内在规律?…...
Kandinsky-5.0-I2V-Lite-5s在AI Agent工作流中的应用:自动生成任务执行演示
Kandinsky-5.0-I2V-Lite-5s在AI Agent工作流中的应用:自动生成任务执行演示 1. 引言:当AI Agent遇上动态可视化 想象一下这样的场景:你的AI助手刚刚完成了一份复杂的数据分析报告,但它呈现给你的是一堆密密麻麻的数字和图表。作…...
GD32 USB从机硬件设计避坑指南:F303/E503的1.5K电阻和F4xx的VBUS直连到底怎么选?
GD32 USB从机硬件设计避坑指南:F303/E503的1.5K电阻和F4xx的VBUS直连到底怎么选? 在嵌入式硬件设计中,USB接口的实现往往看似简单,实则暗藏玄机。尤其是面对GD32不同系列芯片时,设计工程师常常陷入"1.5K上拉电阻…...
