【原创】一键实现CPO-BiTCN-BiGRU预测!24年顶级SCI算法优化!先用先发!直接替换Excel出图!

本文主要是介绍【原创】一键实现CPO-BiTCN-BiGRU预测!24年顶级SCI算法优化!先用先发!直接替换Excel出图!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

       声明:文章是从本人公众号中复制而来,因此,想最新最快了解各类智能优化算法及其改进的朋友,可关注我的公众号:强盛机器学习,不定期会有很多免费代码分享~

目录

数据介绍

模型介绍

1.BiTCN层

2.BiGRU层

3.基于CPO算法优化的BiTCN-BiGRU模型

创新点

构建BiTCN-BiGRU创新点在于:

使用CPO冠豪猪优化算法创新点在于:

结果展示

完整代码


         今天为大家带来一期CPO-BiTCN-BiGRU回归预测代码,采用2024年顶级SCI期刊《Knowledge-Based Systems》上刚出来的CPO优化算法进行优化!这个模型是作者独家原创的!完全可以当作创新点!任何学术平台都搜索不到,创新性极高!直接替换Excel数据即可用!

          特别需要指出的是,别说加了CPO优化算法,就算不加优化算法,我们学术平台上搜索BiTCN-BiGRU,也是完全搜索不到这个模型的!!!

知网平台:

WOS平台:

数据介绍

作者采用的案例数据是某地光伏功率数据,特征包括气温, 方位角, 云层不透明度, 露点温度, DHI(太阳散射辐射指数), DNI(太阳直接辐射指数), GHI(太阳总水平辐射), GTI(固定倾角辐射), GTI(跟踪倾角辐射), 大气可降水量, 相对湿度, 降雪深度, 地面气压, 高度10m风向, 高度10m风速, 天顶角,输出即为实际功率一列。

图片

在实际处理时,由于光伏白天不发电,因此作者把功率为0的行都删除了!同时,由于时间关系,作者这边只选取了2022年1月份31天的功率数据进行预测,如图所示。更换自己的数据时,只需最后一列放想要预测的列,其余列放特征即可,无需更改代码,非常方便!

模型介绍

1.BiTCN层

TCN由具有相同输入和输出长度的扩张因果卷积层组成,结合了CNN和RNN的优势。然而,传统的TCN只对输入序列进行正向卷积计算,只提取正向数据特征,忽略了反向中的隐含信息。因此,采用双向时间卷积结构BiTCN来捕捉前后方向的隐藏特征,以更好地获得功率序列的长时间依赖性!BiTCN的网络结构如下图所示!非常新颖!

2.BiGRU层

接着,利用BiGRU层来进一步处理BiTCN的输出,通过考虑时间序列的前后文信息来提高预测的准确性,进一步提高预测精度!整个模型的结构如下图所示:

3.于CPO算法优化的BiTCN-BiGRU模型

但是,BiTCN-BiGRU模型的参数太多了,为了避免人工调参的局限性与盲目性,本文提出了基于冠豪猪算法CPO优化的BiTCN-BiGRU模型。通过优化学习率,BiGRU的神经元个数,滤波器个数, 正则化参数四个参数提高其预测精度,减少人工调参。

冠豪猪优化器(Crested Porcupine Optimizer, CPO)是一种新型的元启发式算法(智能优化算法),该成果由Abdel-Basset等人于2024年1月发表在中科院1区SCI期刊Knowledge-Based Systems上,模拟了冠豪猪的各种防御行为,原文作者采用CEC2014、CEC2017和CEC2020三个CEC基准函数对CPO进行了验证,效果非常不错!

具体原理和测试效果请看这篇推文:

2024年新算法-冠豪猪优化算法(CPO)-公式原理详解与性能测评 附赠Matlab代码

适用平台:Matlab2022及以上,没有的可免费提供安装包!

创新点

构建BiTCN-BiGRU创新点在于:

1. 混合模型架构的设计创新

BiTCN-BiGRU模型的核心创新之一在于它将BiTCN和BiGRU两种网络架构融合在一起。TCN通过使用膨胀卷积和残差连接优化了传统卷积神经网络(CNN)在时间序列分析中的应用,提高了模型对长期数据依赖的捕捉能力。而BiGRU则在捕获时间序列的前后依赖关系方面表现出色,能够同时考虑过去和未来的信息。这种混合架构利用了两种方法的优点,既能处理复杂的时间依赖关系,又能提高模型对时间序列动态特征的适应能力。

2. 膨胀卷积和因果卷积的应用

在TCN部分,膨胀卷积的使用大大增加了模型的感受野,使其能够捕捉到更长期的依赖性,而不会显著增加参数数量或计算复杂度。此外,通过应用因果卷积,确保了模型在预测当前时间点的值时,只会使用到当前时间点之前的信息,有效防止了未来信息的泄露。这些技术的应用使得BiTCN-BiGRU模型在处理长序列时间数据时,能够更准确地预测未来的趋势和模式。

3. 双向学习机制的优化

BiGRU部分的双向学习机制是模型另一大创新点。通过在时间序列的正向和反向上分别应用GRU单元,模型能够综合利用过去和未来的信息进行预测。这种机制特别适合于处理那些在时间上具有双向依赖性的序列数据。结合TCN部分的长期依赖捕捉能力,BiTCN-BiGRU模型能够更全面地理解和预测时间序列数据的复杂动态。

4. 网络参数和结构的自动优化

在BiTCN-BiGRU模型的训练过程中,采用了优化算法(如CPO)自动调整网络参数,包括学习率、神经元数量、滤波器数量等。这种自动优化机制不仅减少了手动调参的工作量,还能根据数据特性调整模型结构,从而在不同的时间序列预测任务中达到最佳性能。

使用CPO冠豪猪优化算法创新点在于:

冠豪猪优化器刚刚于2024年1月发表在中科院1区顶级SCI期刊Knowledge-Based Systems上!实验结果表明,NRBO算法在大部分函数上均取得了最优结果!​你先用,你就是创新!

图片

之前推文有做过​CPO和23年新算法RIME的比较,效果显而易见!

结果展示

迭代曲线:

由于时间关系,这里只跑了6次,实际使用时可跑更多次取得更好的效果!

训练集预测结果:

测试集预测结果:

可以看到,预测值非常贴近实际曲线,甚至可以说是完美一致!

线性拟合图:

误差直方图:

模型结构图:

预测结果指标:

完整代码

点击下方小卡片,后台回复关键字,不区分大小写:

CXYHB

其他更多需求或想要的代码均可点击下方小卡片后后台私信,看到后会秒回~

这篇关于【原创】一键实现CPO-BiTCN-BiGRU预测!24年顶级SCI算法优化!先用先发!直接替换Excel出图!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


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

相关文章

SpringBoot使用ffmpeg实现视频压缩

《SpringBoot使用ffmpeg实现视频压缩》FFmpeg是一个开源的跨平台多媒体处理工具集,用于录制,转换,编辑和流式传输音频和视频,本文将使用ffmpeg实现视频压缩功能,有需要的可以参考... 目录核心功能1.格式转换2.编解码3.音视频处理4.流媒体支持5.滤镜(Filter)安装配置linu

在Spring Boot中实现HTTPS加密通信及常见问题排查

《在SpringBoot中实现HTTPS加密通信及常见问题排查》HTTPS是HTTP的安全版本,通过SSL/TLS协议为通讯提供加密、身份验证和数据完整性保护,下面通过本文给大家介绍在SpringB... 目录一、HTTPS核心原理1.加密流程概述2.加密技术组合二、证书体系详解1、证书类型对比2. 证书获

Druid连接池实现自定义数据库密码加解密功能

《Druid连接池实现自定义数据库密码加解密功能》在现代应用开发中,数据安全是至关重要的,本文将介绍如何在​​Druid​​连接池中实现自定义的数据库密码加解密功能,有需要的小伙伴可以参考一下... 目录1. 环境准备2. 密码加密算法的选择3. 自定义 ​​DruidDataSource​​ 的密码解密3

使用Python实现Windows系统垃圾清理

《使用Python实现Windows系统垃圾清理》Windows自带的磁盘清理工具功能有限,无法深度清理各类垃圾文件,所以本文为大家介绍了如何使用Python+PyQt5开发一个Windows系统垃圾... 目录一、开发背景与工具概述1.1 为什么需要专业清理工具1.2 工具设计理念二、工具核心功能解析2.

使用C#删除Excel表格中的重复行数据的代码详解

《使用C#删除Excel表格中的重复行数据的代码详解》重复行是指在Excel表格中完全相同的多行数据,删除这些重复行至关重要,因为它们不仅会干扰数据分析,还可能导致错误的决策和结论,所以本文给大家介绍... 目录简介使用工具C# 删除Excel工作表中的重复行语法工作原理实现代码C# 删除指定Excel单元

Java实现本地缓存的常用方案介绍

《Java实现本地缓存的常用方案介绍》本地缓存的代表技术主要有HashMap,GuavaCache,Caffeine和Encahche,这篇文章主要来和大家聊聊java利用这些技术分别实现本地缓存的方... 目录本地缓存实现方式HashMapConcurrentHashMapGuava CacheCaffe

SpringBoot整合Sa-Token实现RBAC权限模型的过程解析

《SpringBoot整合Sa-Token实现RBAC权限模型的过程解析》:本文主要介绍SpringBoot整合Sa-Token实现RBAC权限模型的过程解析,本文给大家介绍的非常详细,对大家的学... 目录前言一、基础概念1.1 RBAC模型核心概念1.2 Sa-Token核心功能1.3 环境准备二、表结

Python实现一键PDF转Word(附完整代码及详细步骤)

《Python实现一键PDF转Word(附完整代码及详细步骤)》pdf2docx是一个基于Python的第三方库,专门用于将PDF文件转换为可编辑的Word文档,下面我们就来看看如何通过pdf2doc... 目录引言:为什么需要PDF转Word一、pdf2docx介绍1. pdf2docx 是什么2. by

使用Python实现网页表格转换为markdown

《使用Python实现网页表格转换为markdown》在日常工作中,我们经常需要从网页上复制表格数据,并将其转换成Markdown格式,本文将使用Python编写一个网页表格转Markdown工具,需... 在日常工作中,我们经常需要从网页上复制表格数据,并将其转换成Markdown格式,以便在文档、邮件或

Python使用pynput模拟实现键盘自动输入工具

《Python使用pynput模拟实现键盘自动输入工具》在日常办公和软件开发中,我们经常需要处理大量重复的文本输入工作,所以本文就来和大家介绍一款使用Python的PyQt5库结合pynput键盘控制... 目录概述:当自动化遇上可视化功能全景图核心功能矩阵技术栈深度效果展示使用教程四步操作指南核心代码解析