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

作品简介

导读.png

本期基于某风电功率数据集,提出一种Informer+TCN-SENet并行预测模型,在单步预测任务中预测效果提升明显!

● 数据集:某风电场风电功率数据集、电力数据集、风速数据集等

● 环境框架:python 3.9  pytorch 1.8 及其以上版本均可运行

● 单步预测模型分数:测试集 0.98

● 使用对象:论文需求、毕业设计需求者

● 代码保证:代码注释详细、即拿即可跑通。

我们同时提供基于多个数据集,在多个预测任务中,进行实验和对比,并提供详细的资料和解说文档,包括如何替换自己的数据集、参数调整教程,预测任务的替换等,代码逐行注释,参数介绍详细:

面包多.png

效果对比:

TCN 预测模型:

模型评估:

TCN模型评估.png

预测可视化:

TCN预测值.png

Informer + TCN-SENet 并行预测模型:

模型评估:

Informer + TCN-SENet.png

预测可视化:

预测拟合.png

1 模型创新点介绍

1.1 结合Informer和TCN-SENet的优势

  • Informer:擅长处理长时间序列,能够并行计算,提高了计算效率和预测性能。Informer在Transformer的基础上进行了改进,使其更适合时序数据,特别是具有长时间依赖的序列数据。
  • TCN-SENet:利用时间卷积网络(TCN)的一系列时间卷积层,这些卷积层可以有效地捕获不同时间尺度上的序列模式,在TCN的输出上应用SENet模块,用于学习和增强重要特征的表示,提高模型对关键信息的感知能力。

通过将这两种模型并行使用,可以更好地捕捉不同时间尺度上的模式,提高预测的准确性和鲁棒性。

封面.png


1.2 并行模型架构

并行使用Informer和TCN-SENet,通过两个分支并行学习,可以使模型在不同的时间尺度上进行信息提取和处理:

(1)Informer部分:

  • 主要用于捕捉全局时序模式,适合处理长时间序列数据。
  • 通过稀疏自注意力机制提高对远程时序依赖的捕捉能力。
  • 对输入数据进行全局特征提取。

informer架构.png


(2) TCN-SENet:

  • 主要用于捕捉局部空间模式,处理短期依赖性和序列数据的动态变化。
  • 使用 TCN 提供的卷积结构捕捉序列的短期动态。
  • SENet 模块增强特征通道的表示能力,通过自适应调整不同通道的重要性。
  • TCN-SE.png

这种架构能够更全面地捕捉时序数据的特征,提升模型的预测性能。


1.3 模型融合

将Informer和TCN-SENet的输出拼接在一起,通过一个全连接层融合不同模型的特征。这种融合方式使得模型能够同时利用Informer的全局信息提取能力和TCN-SENet的局部空间关系建模能力。


1.4 高效计算

Informer的使用大大提高了长时间序列的计算效率,同时TCN利用卷积操作的因果性和可并行性,通常比RNN更快,尤其在长序列的情况下。这种组合在保证高效计算的同时,提升了预测的精度和可靠性。


2 Informer 详解,三大创新点

2.1 概率 稀疏注意力机制( ProbSparse Self-attention)

概率稀疏自注意力是Informer模型中引入的一种稀疏自注意力机制。其核心思想是通过概率方法选择最重要的一部分注意力权重进行计算,而忽略那些对结果影响较小的权重。这种方法能够显著降低计算复杂度,同时保持较高的模型性能。


  • 稀疏自注意力:不同于标准 Transformer 的密集自注意力机制,Informer 引入了 ProbSparse Self-attention,通过概率抽样机制选择重要的 Q-K 对进行计算,减少了计算复杂度。
  • 效率提升:稀疏注意力机制显著降低了计算复杂度,从 O(L2⋅d) 降低到 O(L⋅log(L)⋅d),其中 L 是序列长度,d 是每个时间步的特征维度。


2.2 多尺度特征提取- 信息蒸馏

Informer的架构图并没有像Transformer一样在Encoder的左边标注来表示N个Encoder的堆叠,而是一大一小两个梯形。 横向看完单个Encoder(也就是架构图中左边的大梯形,是整个输入序列的主堆栈)。

梯形结构.png

Encoder的作用是Self-attention Distilling,由于ProbSparse自相关机制有很多都是 用V的mean填充的,所以天然就存在冗余的attention sorce ,因此在相邻的Attention Block之间应用卷积与池化来对特征进行下采样,所以作者在设计Encoder时,采用蒸馏的操作不断抽取重点特征,从而得到值得重点关注的特征图。

蒸馏层.png

  • 多尺度时间序列特征提取:Informer 通过多尺度的方式对不同时间粒度的特征进行建模,可以更好地捕捉时间序列中的多尺度依赖关系。
  • 信息蒸馏:引入了信息蒸馏机制,通过层次化的时间卷积池化层逐步缩减时间步长,提取不同尺度的特征,实现长时间依赖的高效建模。
  • 卷积降维:在编码器中使用1D卷积池化层进行降维,步长为2,使得序列长度减半,进一步减少计算复杂度。
  • 信息压缩:通过卷积池化层进行信息压缩,将长序列信息浓缩到较短的时间步长中,从而更高效地进行时序建模。


2.3 时间编码

Informer 在原始向量上不止增加了Transformer架构必备的PositionEmbedding(位置编码)还增加了与时间相关的各种编码:

  • 日周期编码:表示一天中的时间点。
  • 周周期编码:表示一周中的时间点。
  • 月周期编码:表示一个月中的时间点。


位置编码.png

在 LSTF 问题中,捕获远程独立性的能力需要全局信息,例如分层时间戳(周、月和年)和不可知时间戳(假期、事件)。


具体在这里增加什么样的GlobalTimeStamp还需要根据实际问题来确认,如果计算高铁动车车站的人流量,显然“假期”的时间差就是十分重要的。如果计算公交地铁等通勤交通工具的人流量,显然“星期”可以更多的揭示是否为工作日。


3 风电功率等数据集介绍

3.1 导入数据

数据集介绍.png


风电功率数据集一共35040个样本,15个特征,取前6000条数据进行可视化

1.png


3.2 数据集制作与预处理

数据集制作.png 详细介绍见提供的文档!

4 基于Informer-TCN-SENet的并行预测模型

4.1  定义Informer-TCN-SENet并行预测 网络模型

模型定义.png


4.2 设置参数,训练模型

训练过程可视化.png


50个epoch,MSE 为0.01283,Informer-TCN-SENet并行预测效果显著, 模型能够充分利用Informer的长时间依赖建模能力和TCN-SENet的空间依赖捕捉能力征,收敛速度快,性能优越,预测 精度高,适当调整模型参数,还可以进一步提高模型预测表现。


5 结果可视化和模型评估

5.1 预测结果可视化

预测拟合.png

5.2 模型评估

Informer + TCN-SENet.png

由预测结果可见,在Informer-TCN-SENet并行预测模型下拟合效果良好,通过这种设计,可以充分利用Informer和TCN-SENet的优势,实现高效且准确的时序预测,组合预测效果显著!


6 Informer-TCN-SENet并行模型调参攻略

在开发和调优基于Informer-TCN-SENet的并行预测模型时,调参是一个关键步骤。通过合理的参数调整,可以显著提升模型的性能。 详细教程见提供的文档!

6.1 模型架构参数

Informer部分

  • d_model: 模型的隐藏层维度。一般从128或256开始,逐步调整到512甚至更高。
  • n_heads: 注意力头的数量。常见值为4或8,可以根据隐藏层维度调整。
  • n_layers: Informer编码层、解码器的数量。一般设置为2-6层,更多层数可能提升模型的表达能力,但也增加了计算开销。

TCN-SENet部分

  • num_channels:每个TemporalBlock中的输出通道数,一般从32或64开始,根据需要调整。
  • kernel_size: 卷积核大小,一般设置为 3

6.2 训练参数

  • batch_size: 每次训练的批量大小。常见值为32、64或128,根据内存大小和模型复杂度调整。
  • learning_rate: 学习率。初始值一般为1e-3或1e-4,可以使用学习率调度器动态调整。
  • epochs: 训练的轮数。通常从50-100开始,根据模型的收敛情况调整。

6.2 正则化和优化器

  • dropout: Dropout率。常见值为0.1-0.3,用于防止过拟合。
  • weight_decay: 权重衰减系数。常见值为1e-4,用于L2正则化。
  • optimizer: 优化器。常用Adam或AdamW,可以尝试其他优化器如SGD。


有建模需求或论文指导的朋友请关注公众号,联系博主

点击下载:原文完整数据、Python代码

面包多.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. 关注微信公众[建模先锋],  回复”变压器“免费获取变压器数据集

创作时间: