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

作品简介

此代码已经继续加入单步预测(单变量、多特征变量、风速、电力负荷预测)全家桶:单步预测全家桶(单变量、多特征变量、风速、电力负荷预测) (mbd.pub)

多特征变量包括以下内容:

1.多特征变量序列 TCN 预测 (mbd.pub)

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

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

4.多特征变量序列预测(三)CNN-Transformer风速预测模型 (mbd.pub)

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

6.多特征变量序列预测(一)CNN-LSTM风速预测模型 (mbd.pub)

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

8.多特征变量序列预测-Transformer预测模型 (mbd.pub)

9.多特征变量序列预测-LSTM预测模型 (mbd.pub)

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

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

单变量包括以下内容:

1.VMD-CNN-Transformer预测模型 (mbd.pub)

2.VMD-CNN-BiLSTM预测模型 (mbd.pub)

3.基于Python时序预测:LSTM、ARIMA、Holt-Winters、SARIMA模型的分析与比较 (mbd.pub)

4.风速预测:基于EMD-LSTM的预测模型 (mbd.pub)

5.单步预测模型(三)CNN-GRU并行模型 (mbd.pub)

6.风速预测:EMD-Transformer模型 (mbd.pub)

7.单步预测模型(一)LSTM (mbd.pub)

8.风速预测:EMD-CNN-LSTM模型 (mbd.pub)

9.单步预测模型(二)CNN-LSTM模型 (mbd.pub)

10.风速预测:EMD-LSTM-Attention(基于Pytorch实现) (mbd.pub)

11.风速预测:EMD-CNN-GRU并行模型 (mbd.pub)

12.单步预测(八)CEEMDAN-TCN-Attention预测模型 (mbd.pub)

包括 风速数据, 以及已经生成制作好的风速数据集、标签集,对应代码均可以运行

TCN-GRU 预测模型, 有着更小的MSE, MAE,效果特别明显,提升显著!!

包括数据预处理的代码,和完整 TCN-GRU 模型预测代码、可视化代码

环境:python 3.9 Pytorch 1.8 以上

任何环境安装或者代码问题,请联系作者沟通交流,对于购买者,作者免费解决调试问题,关注微信公众号[建模先锋],联系作者;

导读.png

前言

本文基于前期介绍的风速数据( 文末附数据集 ),介绍一种基于TCN-GRU网络模型的多特征变量序列预测模型。TCN-GRU模型是一种结合了 Temporal Convolutional Network (TCN) 和 Gated Recurrent Unit (GRU) 的深度学习模型,用于时间序列预测任务。该模型结合了卷积神经网络的并行化计算和循环神经网络的记忆性能,能够有效地捕捉时间序列数据中的长期依赖关系,以提高时间序列数据的预测性能。


封面.png

模型整体结构:数据集一共有天气、温度、湿度、气压、风速等九个变量 ,通过滑动窗口制作数据集,利用多变量来预测风速。 通过TCN-GRU预测模型进提取特征后,再送入全连接层,实现高精度的预测模型。

1. TCN(Temporal Convolutional Network)是一种基于卷积神经网络的时间序列模型。它使用一维卷积层来捕捉时间序列数据中的局部和全局特征。通过多个卷积层和非线性激活函数的堆叠,TCN 可以有效地扩展感受野,捕捉不同时间尺度的信息。

2. GRU(Gated Recurrent Unit)是一种循环神经网络单元,用于处理序列数据。GRU 使用门控机制(门控单元)来控制信息的流动和记忆的更新。通过遗忘门、更新门和重置门,GRU 可以有效地捕捉序列数据中的长期依赖关系,并避免梯度消失或梯度爆炸的问题。

3. TCN-GRU 预测模型将 TCN 和 GRU 结合在一起。首先,通过 TCN 层对时间序列数据进行特征提取和表示学习。然后,将 TCN 的输出作为 GRU 的输入,利用 GRU 的记忆性能进行进一步的序列建模和预测,能够 高效的并行计算、有着较低的内存消耗、能够处理长期依赖关系和一定的灵活性。

风速数据集的详细介绍可以参考下文:

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

数据集.png


1 多特征变量数据集制作与预处理

1.1 导入数据

风速.png


1.2 数据集制作与预处理

先划分数据集,按照9:1划分训练集和测试集, 制作数据集

数据集制作.png


2 基于Pytorch的TCN-GRU 预测模型

2.1 定义TCN预测模型

模型定义.png

注意:输入风速数据形状为 [32, 7, 8], batch_size=32,7代表序列长度(滑动窗口取值), 维度8维代表挑选的8个变量的维度。

2.2 设置参数,训练模型

模型训练.png

50个epoch,MSE 为0.01438,多变量特征TCN-GRU预测效果良好,性能优越,适当调整模型参数,还可以进一步提高模型预测表现。


注意调整参数:

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


3 模型评估与可视化


3.1 结果可视化

可视化.png


3.2 模型评估

模型评估.png

面包多.png


创作时间: