CEEMDAN +组合预测模型(CNN-Transfromer + XGBoost)

news2025/2/22 8:28:06

注意:本模型继续加入 组合预测模型全家桶 ,之前购买的同学请及时更新下载!

 往期精彩内容:

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

VMD + CEEMDAN 二次分解,Transformer-BiGRU预测模型-CSDN博客

独家原创 | 基于TCN-SENet +BiGRU-GlobalAttention并行预测模型-CSDN博客

独家原创 | BiTCN-BiGRU-CrossAttention融合时空特征的高创新预测模型-CSDN博客

基于LSTM网络的多步预测模型_pytorch transformer-CSDN博客

基于1DCNN网络的多步预测模型-CSDN博客

高创新 | CEEMDAN + SSA-TCN-BiLSTM-Attention预测模型-CSDN博客

基于Transformer网络的多步预测模型-CSDN博客

独家原创 | 超强组合预测模型!-CSDN博客

基于TCN网络的多步预测模型-CSDN博客

基于CNN-LSTM网络的多步预测模型-CSDN博客

时空特征融合的BiTCN-Transformer并行预测模型-CSDN博客

组合预测模型思路:使用复杂模型去预测数据的分量特征,因为复杂模型参数量大,适合预测高频复杂分量特征,但是低频分量特征比较简单,要是还用复杂模型的话,就容易过拟合,反而效果不好,所以对于低频分量特征 我们采用简单模型(或者机器学习模型)去预测,然后进行预测分量的重构以实现高精度预测。

创新1:通过CNN卷积池化层降低序列长度,增加数据维度,然后再送入Transformer编码器层进行特征增强,利用多头注意力和其优越的网络结构融合空间特征和时域特征;

创新2:把 CEEMDAN 算法对时间序列分解后的分量通过样本熵的计算进行划分,再分别通过 CNN-Transfromer 模型 和 XGBoost 模型进行组合预测,来实现精准预测。

注意:此次产品,我们还有配套的模型讲解和参数调节讲解!

前言

本文基于前期介绍的电力变压器(文末附数据集),介绍一种综合应用完备集合经验模态分解CEEMDAN与组合预测模型(CNN-Transformer + XGBoost)的方法,以提高时间序列数据的预测性能。该方法的核心是使用CEEMDAN算法对时间序列进行分解,接着利用CNN-Transformer模型和XGBoost模型对分解后的数据进行建模,最终通过集成方法结合两者的预测结果。

电力变压器数据集的详细介绍可以参考下文:

电力变压器数据集介绍和预处理-CSDN博客

1 电力变压器数据CEEMDAN分解与可视化

1.1 导入数据

1.2 CEEMDAN分解

根据分解结果看,CEEMDAN一共分解出11个分量,然后通过计算每个分量的样本熵值进行分析。

样本熵是一种用于衡量序列复杂度的方法,可以通过计算序列中的不确定性来评估其复杂性。样本熵越高,表示序列的复杂度越大。

我们大致把前6个高样本熵值复杂分量作为CNN-Transformer模型的输入进行预测,后5个低样本熵值简单分量作为XGBoost模型的输入进行预测.

2 数据集制作与预处理

2.1 划分数据集

按照9:1划分训练集和测试集, 然后再按照前6后5划分分量数据。

在处理LSTF问题时,选择合适的窗口大小(window size)是非常关键的。选择合适的窗口大小可以帮助模型更好地捕捉时间序列中的模式和特征,为了提取序列中更长的依赖建模,本文把窗口大小提升到48,运用CCEMDAN-CNN-Transformer模型来充分提取前6个分量序列中的特征信息。

分批保存数据,用于不同模型的预测

3 基于CEEMADN的组合预测模型

3.1 定义CNN-Transformer网络模型

3.2 设置参数,训练模型

50个epoch,MSE 为0.002122,CNN-Transformer预测效果显著,模型能够充分提取时间序列的时序特征和空间特征,收敛速度快,性能优越,预测精度高,适当调整模型参数,还可以进一步提高模型预测表现。

注意调整参数:

  • 可以适当增加CNN层数和每层的维度,微调学习率;

  • 调整Transformer编码器层数、多头注意力头数、注意力维度数,增加更多的 epoch (注意防止过拟合)

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

保存训练结果和预测数据,以便和后面XGBoost模型的结果相组合。

4 基于XGBoost的模型预测

传统机器学习模型 XGBoost 教程如下:

超强预测算法:XGBoost预测模型-CSDN博客

数据加载,训练数据、测试数据分组,5个分量,划分5个数据集

保存预测的数据,其他分量预测与上述过程一致,保留最后模型结果即可。

5 结果可视化和模型评估

5.1 分量预测结果可视化

5.2 组合预测结果可视化

5.3 模型评估

由分量预测结果可见,前6个复杂分量在CNN-Transformer预测模型下拟合效果良好,后5个简单分量在XGBoost模型的预测下,拟合程度特别好,组合预测效果显著!

代码、数据如下:

对数据集和代码感兴趣的,可以关注最后一行

# 加载数据
import torch
from joblib import dump, load
import torch.utils.data as Data
import numpy as np
import pandas as pd
import torch
import torch.nn as nn
# 参数与配置
torch.manual_seed(100)  # 设置随机种子,以使实验结果具有可重复性
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
 
#代码和数据集:https://mbd.pub/o/bread/mbd-ZZ6ZmJtq

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

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

相关文章

coveralls使用pytest进行本地测试时报错SyntaxError: invalid escape sequence \S

## 错误复现: git clone gitgithub.com:TheKevJames/coveralls-python.git cd coveralls-python poetry install poetry run pytest## 错误内容: ## 完整的打印信息 test session starts platform darwin -- Python 3.8.18, pytest-8.2.1, pluggy-1.5.…

【机器学习300问】104、残差网络是怎么起作用的?

残差网络(Residual Network,简称ResNet)诞生是为了解决深度神经网络的训练困难性问题。深度神经网络在图像分类等任务上取得了重大突破,但随着网络层数的增加,训练变得更加困难。 一、神经网络深度过深会出现…

与AI对话 --如何更好的使用AI工具

文章目录 与AI对话 --如何更好的使用AI工具1、认识AI工具:2、对话原则:3、提问步骤:4、AI可以学习什么?5、提问技巧:1、提出假设性问题:2、(鼓励引导式提问)跨学科思考:举个例子: 3、…

在Android中解析XML文件并在RecyclerView中显示

1. 引言 最近工作有解析外部xml文件在App中显示的需求&#xff0c;特来写篇文章记录一下&#xff0c;方便下次使用。 2. 准备工作 首先&#xff0c;在项目的AndroidManifest.xml文件中添加读取外部存储的权限声明。 <uses-permission android:name"android.permiss…

社交媒体数据恢复:百度贴吧

一、准备工作 请先确保您已登录百度账号&#xff0c;并熟悉百度贴吧的基本操作。 二、找回被系统删除的帖子 进入“我的”页面&#xff1a;在百度贴吧主页中&#xff0c;点击右下角的“我的”。 进入“我的帖子”页面&#xff1a;在个人中心页面中&#xff0c;点击“我的帖子…

生态农业:引领未来农业新篇章

生态农业&#xff0c;正以其独特的魅力和创新理念&#xff0c;引领着未来农业发展的新篇章。在这个充满变革的时代&#xff0c;我们需要更加关注农业的可持续发展&#xff0c;而生态农业正是实现这一目标的重要途径。 生态农业产业的王总说&#xff1a;生态农业强调生态平衡和可…

图形学初识--空间变换

文章目录 前言正文矩阵和向量相乘二维变换1、缩放2、旋转3、平移4、齐次坐标下总结 三维变换1、缩放2、平移3、旋转绕X轴旋转&#xff1a;绕Z轴旋转&#xff1a;绕Y轴旋转&#xff1a; 结尾&#xff1a;喜欢的小伙伴可以点点关注赞哦 前言 前面章节补充了一下基本的线性代数中…

2、C++简单程序设计:工具、数据类型与运算符

C简单编程 C编程工具程序开发基本概念程序工具VS界面简介项目创建项目调试帮助文档 C数据类型C程序基本结构C符号关键字标识符文字运算符分隔符空白 C数据类型基本数据类型常量变量符号常量 C运算符与表达式算术运算符关系运算符逻辑运算符位运算符赋值运算符杂项运算符C 中的运…

光伏设计有哪些工具可以使用?

在光伏系统的设计过程中&#xff0c;选择合适的工具对于提高设计效率、确保系统性能以及优化成本效益至关重要。以下是一些常用的光伏设计工具&#xff0c;它们在不同的设计阶段发挥着重要作用。 一、专业设计软件 专业设计软件是光伏系统设计的核心工具。这些软件提供了从初…

2024 手机端使用现有网络资源在外网预览海康威视摄像头画面

一、适用场景 1、家有老人行动不便时&#xff0c;远离家乡的你&#xff0c;是否想了解一下老人的现状态&#xff08;如&#xff1a;老人是否摔倒爬不起来、是否遇到救助无人的环境&#xff09;。 2、天气炎热或寒冷的情况下&#xff0c;离出租房较远&#xff0c;身为出租房老板…

BU01板卡引脚

概述 BU01 是一款高速采集卡&#xff0c;主要用于高带宽数据采集及传输&#xff0c;应用领域多为数据中 心及数据采集领域。 端口提供60Gbps 传输带宽&#xff0c;可兼容2 个SFP万兆网口&#xff0c;和1 个40GE QSFP 光 口。和主机通信采用的是PCIE 2.0 x8 模式&#xff0c;最…

2024-5-29 石群电路-17

2024-5-29&#xff0c;星期三&#xff0c;17:26&#xff0c;天气&#xff1a;晴&#xff0c;心情&#xff1a;晴.今天又是阳光明媚的一天&#xff0c;没有什么特别的事情发生&#xff0c;给女朋友做了好吃的&#xff0c;吃了西瓜&#xff0c;加油学习&#xff0c;嘻嘻嘻~~~~ 今…

【CALayer-时钟练习-旋转 Objective-C语言】

一、好,接下来呢,我们要让它旋转出来, 1.让它先旋转起来啊,这根秒针,让它先转着, 把之前的代码复制粘贴一份,改个名字,叫:07-时钟练习(旋转) 旋转的话,我现在应该让它,一秒钟,旋转一次,一秒钟,旋转一次, 那么,这个时候,我们应该怎么样去做, 我现在这个是…

打造云计算时代的仿真软件

2024年5月25日&#xff0c;北京云道智造科技有限公司&#xff08;下称“云道智造”&#xff09;在深圳成功举办了2024新品发布会暨用户大会。来自全国各地的近500位客户和合作伙伴代表齐聚一堂&#xff0c;共同见证了云道智造新产品的隆重发布&#xff0c;交流分享了仿真领域的…

深入理解哈希加密:md5在保护用户数据中的应用

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、md5加密方法简介 二、md5加密方法的实现 示例代码&#xff1a; 三、md5加密方法在实际…

母亲的爱与妻子的爱,同为“爱“。不同感受!

母亲的爱与妻子的爱&#xff0c;虽然都是一个女人给予男人的爱&#xff0c;却有着本质的不同&#xff01; 天下父母对儿女的爱大多相同。在母亲眼中&#xff0c;儿女无论是多大年龄&#xff0c;无论你是否长大成人&#xff0c;也无论你做多大的官&#xff0c;有多么大的成就&am…

【ai】livekit服务本地开发模式2:模拟1个发布者

是一个会议用软件:LiveKit is an open source project that provides scalable, multi-user conferencing based on WebRTC. It’s designed to provide everything you need to build real-time video audio data capabilities in your applications.LiveKit’s server is wr…

现场辩论赛活动策划方案

活动目的&#xff1a; 技能竞赛中的辩论环节既可以考核员工的知识点&#xff0c;同时也可以考核员工业务办事能力&#xff0c;表达能力&#xff0c;是一种比较全面且较有深度的竞赛方式。 辩论赛细则&#xff1a; 1、时间提示 : 自由辩论阶段&#xff0c;每方使用时间剩…

【2024.5.29数据库MYSQL史上最详细基础学习汇总】

初识数据库 什么是数据库: DB的全称是database,即数据库的意思。数据库实际上就是一个文件集合,是一个存储数据的仓库,数据库是按照特定的格式把数据存储起来,用户可以对存储的数据进行增删改查操作; 什么是关系型数据库(SQL)? 关系型数据库是依据关系模型来创建的…

低代码开发难吗?

在软件开发的多样化浪潮中&#xff0c;低代码开发平台以其简化的编程模型&#xff0c;为IT行业带来了新的活力。作为一位资深的IT技术员&#xff0c;我对低代码开发平台的易用性和强大功能有着深刻的认识。今天&#xff0c;我将分享我对YDUIbuilder这一免费开源低代码平台的使用…