独家原创 | CEEMDAN-Transformer-BiLSTM并行 + XGBoost组合预测

作品简介

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

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

1. Transformer:

  Transformer 是一种基于注意力机制的深度学习模型,广泛应用于自然语言处理任务。它通过自注意力机制(Self-Attention)来捕捉输入序列中不同位置之间的依赖关系,从而实现了对序列数据的有效建模。在预测任务中,Transformer可以帮助模型捕捉时域信号中不同时间步之间的复杂关联。

2. 双向长短期记忆网络(BiLSTM):

  双向长短期记忆网络是一种具有记忆单元和遗忘门的循环神经网络,可以有效地处理序列数据并捕捉序列中的长期依赖关系。通过同时考虑输入序列的过去和未来信息,BiLSTM可以更好地理解数据中的时序特征和变化趋势。

3. 模型结合:

  基于 Transformer-BiLSTM 的创新模型将 Transformer 和 BiLSTM 结合在一起,充分利用了两者的优势。Transformer 可以帮助模型捕捉全局的序列信息和复杂的依赖关系,而 BiLSTM 则可以更好地捕捉局部的时序特征和变化趋势。通过结合两种模型,创新模型可以在预测任务中取得更好的性能和效果 ,提高预测精度和效率。

4. 组合预测

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

导读.png


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

模型解读.png

前言

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


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

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

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

1.1 导入数据

油温数据.png


1.2 CEEMDAN分解

分解可视化.png

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


样本熵.png


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

2 数据集制作与预处理

2.1 划分数据集

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

数据制作.png

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


3 基于CEEMADN的组合预测模型

3.1  定义Transformer-BiLSTM并行预测 网络模型

模型结构.png


3.2 设置参数,训练模型

模型训练.png

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

注意调整参数:

  • 可以适当增加Transformer编码器层数和每层的维度,微调学习率;
  • 调整BiLSTM层数、每层神经元个数、注意力维度数,增加更多的 epoch (注意防止过拟合)
  • 可以改变滑动窗口长度(设置合适的窗口长度)

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

4 基于XGBoost的模型预测

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

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

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

XGBoost预测.png

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

5 结果可视化和模型评估

5.1 分量预测结果可视化

分量可视化.png


5.2 组合预测结果可视化

预测可视化.png

5.3 模型评估

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

模型分数.png

面包多.png


往期精彩内容:

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

风速预测(一)数据集介绍和预处理

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

多特征变量序列预测(11) 基于Pytorch的TCN-GRU预测模型

VMD + CEEMDAN 二次分解,CNN-LSTM预测模型

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

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

基于麻雀优化算法SSA的预测模型——代码全家桶

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

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

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

全网最低价 | 全家桶持续更新!

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

二次分解——创新模型预测全家桶

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

组合预测更新 | 超强组合预测模型!

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

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

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

多步预测系列 | LSTM、CNN、Transformer、TCN、串行、并行模型集合

END

1. 版权声明:原创不易,转载请注明转自微信公众号[建模先锋]

2. 喜欢的朋友可以点个关注,给文章点个“在看”,分享朋友圈或讨论群

3. 关注微信公众[建模先锋],  回复”变压器“免费获取变压器数据集

创作时间: