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

往期精彩内容:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

注意:多特征变量序列预测-模型代码全家桶 更新了,之前购买的同学请及时更新下载

更新1:多特征变量序列 TCN 预测模型

更新2:多特征变量序列 TCN-GRU 预测模型

全网最低价,入门多特征变量序列最佳教程,模型创新度高,大家可以了解一下:(所有全家桶模型会不断加入新的模型进行更新!后续会逐渐提高价格,越早购买性价比越高!!!

前言

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

图片

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

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

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

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

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

风速预测(一)数据集介绍和预处理_noaa风速数据-****博客

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

1.1 导入数据

1.2 数据集制作与预处理

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

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

2.1 定义TCN-GRU预测模型

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

2.2 设置参数,训练模型

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

注意调整参数:

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

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

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

3 模型评估与可视化

3.1 结果可视化

3.2 模型评估

4 代码、数据整理如下:

上一篇:Modern Effective C++:Item 6 auto推导若非己愿,使用显式类型初始化惯用法


下一篇:大数据新视界 -- 大数据大厂之 Impala 性能优化:跨数据中心环境下的挑战与对策(上)(27 / 30)-引言: