独家原创 | 超强组合预测模型!

往期精彩内容:

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

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

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

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

风速预测(一)数据集介绍和预处理_风速数据在哪里下载-CSDN博客

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

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

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

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

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

风速预测(七)VMD-CNN-BiLSTM预测模型-CSDN博客

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

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

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

CEEMDAN +组合预测模型(CNN-LSTM + 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博客

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

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

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

多特征变量序列预测(11) 基于Pytorch的TCN-GRU预测模型-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博客

模型简介:

CEEMDAN +组合预测模型(BiGRU-GlobalAttention + XGBoost)

本文是对参考文献的复现加改进:

创新1:把基于注意力机制的GRU改进优化为基于全局注意力机制Global-Attention的双向递归神经网络

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

前言

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

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

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

1.1 导入数据

1.2 CEEMDAN分解

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

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

2 数据集制作与预处理

划分数据集

按照9:1划分训练集和测试集, 然后再按照前6后5划分分量数据设置滑动窗口大小为7,制作数据集

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

3 基于CEEMADN的BiGRU-GlobalAttention预测模型****

3.1 定义BiGRU-GlobalAttention网络模型

3.2 设置参数,训练模型

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

注意调整参数:

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

  • 调整注意力维度数,增加更多的 epoch (注意防止过拟合)

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

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

4 基于XGBoost的模型预测

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

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

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

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

5 结果可视化和模型评估

5.1 分量预测结果可视化

5.2 组合预测结果可视化

5.3 模型评估

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

6 代码、数据整理如下:

相关推荐
@心都8 分钟前
机器学习数学基础:29.t检验
人工智能·机器学习
9命怪猫10 分钟前
DeepSeek底层揭秘——微调
人工智能·深度学习·神经网络·ai·大模型
kcarly2 小时前
KTransformers如何通过内核级优化、多GPU并行策略和稀疏注意力等技术显著加速大语言模型的推理速度?
人工智能·语言模型·自然语言处理
Jackilina_Stone2 小时前
【论文阅读笔记】浅谈深度学习中的知识蒸馏 | 关系知识蒸馏 | CVPR 2019 | RKD
论文阅读·深度学习·蒸馏·rkd
倒霉蛋小马3 小时前
【YOLOv8】损失函数
深度学习·yolo·机器学习
MinIO官方账号3 小时前
使用 AIStor 和 OpenSearch 增强搜索功能
人工智能
补三补四3 小时前
金融时间序列【量化理论】
机器学习·金融·数据分析·时间序列
江江江江江江江江江3 小时前
深度神经网络终极指南:从数学本质到工业级实现(附Keras版本代码)
人工智能·keras·dnn
Fansv5873 小时前
深度学习-2.机械学习基础
人工智能·经验分享·python·深度学习·算法·机器学习
小怪兽会微笑4 小时前
PyTorch Tensor 形状变化操作详解
人工智能·pytorch·python