多特征变量序列预测(九)基于麻雀优化算法的CEEMDAN-SSA-BiGRU-Attention预测模型

news2024/11/17 1:59:21

目录

 往期精彩内容:

前言

1 多特征变量数据集制作与预处理

1.1 导入数据

1.2 CEEMDAN分解

1.3 数据集制作与预处理

2 麻雀优化算法

2.1 麻雀优化算法介绍

2.2 基于Python的麻雀优化算法实现

2.3 麻雀优化算法-超参数寻优过程

3 基于Pytorch的CEEMDAN + SSA-BiGRU-Attention 预测模型

3.1 定义CEEMDAN + SSA-BiGRU-Attention预测模型

3.2 设置参数,训练模型

4 模型评估与可视化

4.1 结果可视化

4.2 模型评估

代码、数据如下:


 往期精彩内容:

时序预测:LSTM、ARIMA、Holt-Winters、SARIMA模型的分析与比较-CSDN博客

风速预测(一)数据集介绍和预处理-CSDN博客

风速预测(二)基于Pytorch的EMD-LSTM模型-CSDN博客

风速预测(三)EMD-LSTM-Attention模型-CSDN博客

风速预测(四)基于Pytorch的EMD-Transformer模型-CSDN博客

风速预测(五)基于Pytorch的EMD-CNN-LSTM模型-CSDN博客

风速预测(六)基于Pytorch的EMD-CNN-GRU并行模型-CSDN博客

CEEMDAN +组合预测模型(BiLSTM-Attention + ARIMA)-CSDN博客

CEEMDAN +组合预测模型(CNN-LSTM + ARIMA)-CSDN博客

CEEMDAN +组合预测模型(Transformer - BiLSTM+ ARIMA)-CSDN博客

 CEEMDAN +组合预测模型(CNN-Transformer + ARIMA)-CSDN博客

多特征变量序列预测(一)——CNN-LSTM风速预测模型-CSDN博客

多特征变量序列预测(二)——CNN-LSTM-Attention风速预测模型-CSDN博客

多特征变量序列预测(三)——CNN-Transformer风速预测模型-CSDN博客

多特征变量序列预测(四)Transformer-BiLSTM风速预测模型-CSDN博客

多特征变量序列预测(五) CEEMDAN+CNN-LSTM风速预测模型-CSDN博客

多特征变量序列预测(六) CEEMDAN+CNN-Transformer风速预测模型-CSDN博客

多特征变量序列预测(七) CEEMDAN+Transformer-BiLSTM预测模型-CSDN博客

基于麻雀优化算法SSA的CEEMDAN-BiLSTM-Attention的预测模型-CSDN博客

基于麻雀优化算法SSA的CEEMDAN-Transformer-BiGRU预测模型-CSDN博客

多特征变量序列预测(八)基于麻雀优化算法的CEEMDAN-SSA-BiLSTM预测模型-CSDN博客

前言

本文基于前期介绍的风速数据(文末附数据集),介绍一种综合应用完备集合经验模态分解CEEMDAN与基于麻雀优化算法的SSA-BiGRU-Attention多特征变量序列预测模型,以提高时间序列数据的预测性能。

模型整体结构:数据集一共有天气、温度、湿度、气压、风速等九个变量,使用CEEMDAN算法对风速序列进行分解,然后合并所有的分量和原始数据集变量,形成一个加强的特征输入,通过滑动窗口制作数据集,利用多变量来预测风速。通过麻雀优化算法对SSA-BiGRU-Attention模型进行优化,提取加强后的特征,然后再送入全连接层,实现高精度的预测模型。

风速数据集的详细介绍可以参考下文:

风速预测(一)数据集介绍和预处理_风速预测时序数据-CSDN博客

1 多特征变量数据集制作与预处理

1.1 导入数据

1.2 CEEMDAN分解

1.3 数据集制作与预处理

先合并原始数据变量和分解的分量,按照9:1划分训练集和测试集

制作数据集

2 麻雀优化算法

2.1 麻雀优化算法介绍

麻雀优化算法(Sparrow Optimization Algorithm,简称SOA)是一种基于自然界麻雀行为特点的优化算法,它模拟了麻雀在觅食、迁徙和社交等行为中的优化策略。该算法在解决多种优化问题方面展现出了良好的性能。

麻雀优化算法的基本思想是通过模拟麻雀的觅食行为,不断优化搜索空间中的解。算法的过程可以分为觅食行为、迁徙行为和社交行为三个阶段。

1. 觅食行为(Foraging Behavior):麻雀在觅食时会选择距离较近且具有较高适应度的食物源。在算法中,解空间中的每个个体被看作是一个食物源,具有适应度评价值。麻雀通过选择适应度较高的个体来寻找更优的解。

2. 迁徙行为(Migration Behavior):当麻雀在一个食物源周围搜索一段时间后,如果没有找到更优的解,它们会选择离开当前食物源,前往其他食物源继续寻找。在算法中,个体之间的位置信息会发生变化,以模拟麻雀的迁徙行为。

3. 社交行为(Social Behavior):麻雀在觅食时会通过与其他麻雀的交流来获取更多的信息,从而提高自己的觅食效率。在算法中,个体之间通过交换信息来改善自身的解,并且更新解空间中的最优解。

2.2 基于Python的麻雀优化算法实现

2.3 麻雀优化算法-超参数寻优过程

麻雀优化算法具有简单易实现、全局寻优能力和自适应性等特点,适用于解决组合优化问题。我们通过麻雀优化算法来进行SSA-BiGRU-Attention模型的超参数寻优。

通过设置合适的种群规模和优化迭代次数,我们在给定的超参数范围内,搜索出最优的参数。

3 基于Pytorch的CEEMDAN + SSA-BiGRU-Attention 预测模型

3.1 定义CEEMDAN + SSA-BiGRU-Attention预测模型

注意:输入风速数据形状为 [64, 7, 23], batch_size=64,7代表序列长度(滑动窗口取值),  维度23维代表挑选的8个变量和15个分量的维度。

3.2 设置参数,训练模型

50个epoch,MSE 为0.003032,多变量特征CEEMDAN + SSA-BiGRU-Attention预测效果良好,加入CEEMDAN分解后,多变量预测效果提升明显,性能优越,适当调整模型参数,还可以进一步提高模型预测表现。

注意调整参数:

  • 可以修改麻雀优化算法的种群规模和优化迭代次数;

  • 调整BiGRU层数、每层维度数和注意力维度数的参数搜索范围,增加更多的 epoch (注意防止过拟合)

  • 可以改变滑动窗口长度(设置合适的窗口长度)

4 模型评估与可视化

4.1 结果可视化

4.2 模型评估

代码、数据如下:

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

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

相关文章

【问题解决】| conda不显示指示前面的(base)无法在终端激活虚拟环境

1 遇到的问题 就是在安装好conda,配置好环境变量后 可以正常用conda的指令,如创建环境等等 但是不能激活新建的环境,我们知道同时也没有前面的小括号指示当前环境,也没有这个前面的(base) 2 解决方式 有一些方法如&#xff0c…

单片机烧录方式 -- IAP、ISP和ICP

目录 背景 1 什么是ICP 2 什么是ISP 3 什么是IAP 4 总结 背景 对于51单片机,我们使用STC-ISP上位机软件通过串口进行程序的烧写;对于STM32系列单片机,我们既可以通过串口烧写程序,也能通过JLink或是STLink进行程序的烧写&am…

Android Duplicate class 排除重复类

一、起因: 在迭代开发的时候,发现2个ijk很多类重复。但又2个库实现的功能是不一样,目前不能合并。但又想保留2个功能。需要排除其中一个库。 二、报错如何下图: 三、解决方法: 3.1 在terminal 也就是命令行处输入 …

fastAdmin表格列表的功能

更多文章,请关注:fastAdmin后台功能详解 | 夜空中最亮的星 FastAdmin是一款基于ThinkPHP5Bootstrap的极速后台开发框架。优点见开发文档 介绍 - FastAdmin框架文档 - FastAdmin开发文档 在这里上传几张优秀的快速入门图: 一张图解析FastAdmin中的表格列…

学不动系列-eslint

ESLint 介绍在最简单的项目使用eslint,包括eslint的vscode插件的使用,自动化格式代码,自动化修复代码,和webpack,vite的配合使用 单独使用 第一步:构建一个空项目 npm init -y 在根目录新建文件./src/app.js&#…

自学Python第十五天-常用的HTML解析工具:bs4、xpath、re

自学Python第十五天-常用的HTML解析工具:bs4、xpath、re BS4安装和引入开始使用find_all() 方法获取标签find() 方法获取标签select() 方法获取标签,css 选择器从标签中获取数据 XPathxpath 基础xpath 语法规则lxml 模块xpath() 方法 REmatch() 方法sear…

上拉电阻与下拉电阻、电容的作用

上拉电阻与下拉电阻 在单片机电路中,上拉电阻和下拉电阻都是常见的电路元件,它们在数字电路设计中扮演着重要的角色。它们的作用如下: 1. **上拉电阻**: - **作用**:当一个引脚没有外部信号时,上拉电阻…

本届挑战赛季军方案:基于图网络及LLM AGENT的微服务系统异常检测和根因定位方法

aiboco团队荣获本届挑战赛季军。该团队来自亿阳信通。 方案介绍 本届挑战赛采用开放式赛题,基于建行云龙舟运维平台的稳定性工具和多维监控系统,模拟大型的生活服务APP的生产环境,提供端到端的全链路的日志、指标和调用链数据。参赛队伍在组…

92. 递归实现指数型枚举 刷题笔记

思路 dfs 考虑选或者不选每个位置 用0表示未考虑 1表示选 2表示不选 用u表示搜索状态 u>n时 已经搜到底层了 需要输出当前方案 遍历 如果选了则输出 #include<iostream> using namespace std; int n; const int N16; int st[N]; void dfs(int u){ //u来记…

nginx------------缓存功能 (六)

一、http 协议反向代理 &#xff08;一&#xff09;反向代理示例:缓存功能 缓存功能可以加速访问&#xff0c;如果没有缓存关闭后端服务器后&#xff0c;图片将无法访问&#xff0c;缓存功能默认关闭&#xff0c;需要开启。 ​ proxy_cache zone_name | off; 默认off #指明调…

nginx之重写功能 模块指令 防盗链

一 重写功能 rewrite Nginx服务器利用 ngx_http_rewrite_module 模块解析和处理rewrite请求&#xff0c; 此功能依靠 PCRE(perl compatible regular expression)&#xff0c;因此编译之前要安装PCRE库&#xff0c;rewrite是 nginx服务器的重要功能之一&#xff0c;重写功…

【IO流】缓冲流

缓冲流 1. 概述2. 作用3. 字节缓冲流3.1 构造方法3.2 代码示例 4. 字符缓冲流4.1 构造方法4.2 特有方法4.3 代码示例4.3.1 readline()方法示例4.3.2 newline()方法示例 5. 字节缓冲流提高效率的原理6. 注意事项 文章中的部分照片来源于哔站黑马程序员阿伟老师处&#xff0c;仅用…

html2canvas + JsPDF.js 导出pdf分页时的问题

问题描述 前一段时间 实现了html2canvas jspdf.js 导出pdf的功能 项目当时没有测试做完就先搁置 最近项目要上线发现分页时问题 这篇文章记录一下之前的bug import html2canvas from html2canvas; import JsPDF from jspdf export function savePdf(el, title) {html2canva…

Keepalived双机热备——Haproxy搭建web群集

一、认识keepalived keepalived是一个开源的软件&#xff0c;用于实现高可用性和负载均衡。它主要用于在多个服务器之间提供故障转移和负载均衡的功能。keepalived可以监控服务器的状态&#xff0c;并在主服务器发生故障时自动将备份服务器切换为主服务器&#xff0c;以确保服…

2024.2.28 网络

思维导图 整理面试题 1、什么是回调函数 答&#xff1a;将函数作为参数传到另一个函数里面&#xff0c;当那个函数执行完之后&#xff0c;再执行传进去的这个函数。这个过程就叫做回调。 2、结构体和共用体的区别 答&#xff1a;结构体的每个成员都会分配内存&#xff0c;…

快讯|Tubi 更新内容库重新定义自己

在每月一期的 Tubi 快讯中&#xff0c;你将全面及时地获取 Tubi 最新发展动态&#xff0c;欢迎&#x1f31f;星标关注【比图科技】&#xff0c;一起成长变强&#xff01; Tubi 更新内容库&#xff0c;重新定义自己 Tubi 近日宣布为数千万用户免费提供备受观众喜爱、获奖无数的…

anaconda指定目录创建环境无效/环境无法创建到指定位置

已经设置目录到D盘 创建环境时还是分配到C盘 可能是指定位置没有开启读写权限&#xff0c;如我在这里安装到了anaconda文件夹&#xff0c;则打开该文件夹的属性->安全->编辑 allusers下的权限全都打勾

android开发电子书,android基础编程

内存泄漏是什么&#xff1f; 内存泄漏即 ML &#xff08;Memory Leak&#xff09; 指 程序在申请内存后&#xff0c;当该内存不需再使用 但 却无法被释放 & 归还给 程序的现象 内存泄漏有哪些情况&#xff0c;对应的解决方案&#xff1f; 内存泄漏的原因归根到底就是当需…

redis-RedisTemplate.opsForGeo 的geo地理位置及实现附近的人的功能

redis内部使用的是 zset 数据结构存储&#xff0c;如下 import cn.huawei.VideoApplication; import cn.huawei.domain.Jingqu; import cn.huawei.service.JingquService; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired…

【Java程序设计】【C00321】基于Springboot的在线租房和招聘平台(有论文)

基于Springboot的在线租房和招聘平台&#xff08;有论文&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的在线租房和招聘平台&#xff0c;本系统有管理员、用户、房东以及公司四种角色&#xff1b; 管理员&#xff1a;首页、个人中心…