独家原创 | CEEMDAN-CNN-GRU-GlobalAttention + XGBoost组合预测

往期精彩内容:

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

全是干货 | 数据集、学习资料、建模资源分享!

EMD变体分解效果最好算法------CEEMDAN(五)-CSDN博客

拒绝信息泄露!VMD滚动分解 + Informer-BiLSTM并行预测模型-CSDN博客

单步预测-风速预测模型代码全家桶-CSDN博客

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

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

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

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

半天入门!锂电池剩余寿命预测(Python)-CSDN博客

超强预测模型:二次分解-组合预测-CSDN博客

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

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

基于麻雀优化算法SSA的预测模型------代码全家桶-CSDN博客

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

独家原创 | SCI 1区 高创新预测模型!-CSDN博客

风速预测(八)VMD-CNN-Transformer预测模型-CSDN博客

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

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

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

全网最低价 | 全家桶持续更新!-CSDN博客

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

VMD + CEEMDAN 二次分解------创新预测模型合集-CSDN博客

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

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

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

独家首发 | 基于多级注意力机制的并行预测模型-CSDN博客

模型简介:

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

环境:python 3.9 pytorch1.8 及其以上

创新点:

创新1:通过CNN卷积池化层降低序列长度,增加数据维度,然后再送入GRU-GlobalAttention进行全局时域特征学习,提高了模型捕捉序列中的全局上下文信息的感知能力;

创新2:基于GlobalAttention优化的GRU网络,GlobalAttention是一种用于加强模型对输入序列不同部分的关注程度的机制。在 GRU 模型中,全局注意力机制可以帮助模型更好地聚焦于输入序列中最相关的部分,从而提高模型的性能和泛化能力。在每个时间步,全局注意力机制计算一个权重向量,表示模型对输入序列各个部分的关注程度,然后将这些权重应用于 GRU 输出的特征表示,通过对所有位置的特征进行加权,使模型能够更有针对性地关注重要的时域特征;

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

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

前言

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

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

电力变压器数据集介绍和预处理

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

1.1 导入数据

1.2 CEEMDAN分解

根据分解结果看,CEEMDAN一共分解出11个分量,然后通过计算每个分量的样本熵值进行分析。样本熵是一种用于衡量序列复杂度的方法,可以通过计算序列中的不确定性来评估其复杂性。样本熵越高,表示序列的复杂度越大。

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

2 数据集制作与预处理

2.1 划分数据集

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

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

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

3 基于CEEMADN的组合预测模型

3.1 定义CNN-GRU-GlobalAttention网络模型

3.2 设置参数,训练模型

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

注意调整参数:

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

  • 调整GRU层数、每层神经元个数、注意力维度数,增加更多的 epoch (注意防止过拟合)

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

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

4 基于XGBoost的模型预测

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

超强预测算法:XGBoost预测模型

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

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

5 结果可视化和模型评估

5.1 分量预测结果可视化

5.2 组合预测结果可视化

5.3 模型评估

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

6 代码、数据整理如下:

相关推荐
晓shuo5 分钟前
RT系列机器人详细介绍(BC-Z、RT-1、OMM、RT-Trajectory、Q-Transformer、RT-2、RT-X、RT-H)
人工智能·深度学习·机器人·transformer·具身智能
阿正的梦工坊12 分钟前
PyTorch中detach() 函数详解
人工智能·pytorch·python
讨厌编程但喜欢LLM的学院派18 分钟前
Pytorch中的CrossEntropyLoss
人工智能·pytorch·python
dwjf32122 分钟前
神经网络基础-神经网络搭建和参数计算
人工智能·深度学习·神经网络
封印师请假去地球钓鱼34 分钟前
AI大模型学习笔记|多目标算法梳理、举例
人工智能·算法
IT古董1 小时前
【机器学习】机器学习的基本分类-无监督学习-核密度估计(Kernel Density Estimation, KDE)
人工智能·学习·机器学习·分类
z千鑫2 小时前
【人工智能】通过ChatGPT、Claude与通义千问 API 实现智能语料知识图谱的自动化构建(详细教程)
人工智能·chatgpt·知识图谱
封印师请假去地球钓鱼2 小时前
AI大模型学习笔记|神经网络与注意力机制(逐行解读)
人工智能·深度学习·神经网络
知来者逆2 小时前
MSciNLI—— 针对科学自然语言推理任务提出的多样化数据集用于训练语言模型和大规模语言模型建立基线
人工智能·深度学习·机器学习·语言模型·自然语言处理·大语言模型
cnbestec2 小时前
GelSight Mobile™ 4.0软件发布:新增自动化图像拼接与2D测量功能
人工智能·科技·机器人·自动化·视觉检测