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

 往期精彩内容:

时序预测:LSTM、ARIMA、Holt-Winters、SARIMA模型的分析与比较-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博客

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

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

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

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

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

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

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

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

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

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

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

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

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

多特征变量序列预测 -TCN 预测模型-CSDN博客

前言

本文基于前期介绍的风速数据(文末附数据集),介绍一种基于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 的记忆性能进行进一步的序列建模和预测,能够高效的并行计算、有着较低的内存消耗、能够处理长期依赖关系和一定的灵活性。

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

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

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

1.1 导入数据

1.2 数据集制作与预处理

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

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

2.1 定义TCN预测模型

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

2.2 设置参数,训练模型

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

注意调整参数:

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

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

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

3 模型评估与可视化

3.1 结果可视化

3.2 模型评估

代码、数据如下:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/470326.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

学习vue3第八节(自定义指令 directive)

1、自定义指令的作用: 自定义指令是用来操作底层DOM的,尽管vue推崇数据驱动视图的理念,但并非所有情况都适合数据驱动。自定义指令就是一种有效的补充和拓展,不仅仅可用于定义任何DOM操作,并且是可以重复使用。 自定义…

[蓝桥杯 2020 省 AB3] 限高杆

分层图建图典题 #include<bits/stdc.h> using namespace std; using ll long long; #define int long long const int N 6e510; const int inf 0x3f3f3f3f; const int mod 1e97; int e[N],ne[N],w[N],h[N],idx; void add(int a,int b,int c){e[idx] b,ne[idx] h[a]…

DOcker搭建Rancher

简介 Rancher 是供采用容器的团队使用的完整软件堆栈。它解决了管理多个Kubernetes集群的运营和安全挑战&#xff0c;并为DevOps团队提供用于运行容器化工作负载的集成工具。 官网地址&#xff1a;https://www.rancher.cn/ 安装 拉取镜像 docker pull rancher/rancher:stab…

Kotlin中单例模式和Java的对比浅析

前言 单例模式&#xff0c;一直以来是我们在日常开发中最常用的一种设计模式&#xff0c;更是面试中非常重要&#xff0c;也非常容易被问到的问题。在日常开发中&#xff0c;大家常用的语言还是Java&#xff0c;但今天我给大家带来的是在Kotlin语言中&#xff0c;单例模式是怎…

【视觉语言大模型+LLaVA1.0】大语言模型视觉助手(视觉指令调优)GPT4-Vision丐版

官方资源汇总&#xff1a; 项目主页 || https://huggingface.co/liuhaotian 23.04.LLaVA1.论文: Large Language and Vision Assistant&#xff08;Visual Instruction Tuning) 23.10 LLaVA-1.5论文: Improved Baselines with Visual Instruction Tuning 23.11 LLaVA-Plus项目&…

基于python+vue智慧社区家政服务系统的设计与实现flask-django-nodejs

论文主要是对智慧社区家政服务系统进行了介绍&#xff0c;包括研究的现状&#xff0c;还有涉及的开发背景&#xff0c;然后还对系统的设计目标进行了论述&#xff0c;还有系统的需求&#xff0c;以及整个的设计方案&#xff0c;对系统的设计以及实现&#xff0c;也都论述的比较…

【Thread 线程】线程的方法与状态

SueWakeup 个人中心&#xff1a;SueWakeup 系列专栏&#xff1a;学习Java 个性签名&#xff1a;保留赤子之心也许是种幸运吧 本文封面由 凯楠&#x1f4f7; 友情赞助播出&#xff01; 目录 一个线程的生命周期 线程终止的原因 线程的方法 Thread 类的静态方法 1. 设置线程…

六、C#快速排序算法

简介 快速排序是一种常用的排序算法&#xff0c;它基于分治的思想&#xff0c;通过将一个无序的序列分割成两个子序列&#xff0c;并递归地对子序列进行排序&#xff0c;最终完成整个序列的排序。 其基本思路如下&#xff1a; 选择数组中的一个元素作为基准&#xff08;pivot…

第四百一十二回

文章目录 1. 概念介绍2. 思路与方法2.1 实现思路2.2 实现方法 3. 示例代码4. 内容总结 我们在上一章回中介绍了"给geolocator插件提交问题的结果"相关的内容&#xff0c;本章回中将介绍自定义标题栏.闲话休提&#xff0c;让我们一起Talk Flutter吧。 1. 概念介绍 我…

KKVIEW远程控制 手机远程控制电脑

机远程控制电脑&#xff1a;实现跨设备便捷操作 随着科技的飞速发展&#xff0c;智能手机和电脑已成为我们日常生活中不可或缺的工具。有时&#xff0c;我们可能需要在不直接接触电脑的情况下对其进行操作&#xff0c;这时&#xff0c;手机远程控制电脑的技术就显得尤为重要。…

深入理解栈和队列(一):栈

个人主页&#xff1a;17_Kevin-CSDN博客 专栏&#xff1a;《数据结构》 一、栈的概念 栈&#xff08;Stack&#xff09;是一种特殊的线性表&#xff0c;它遵循后进先出&#xff08;Last-In-First-Out&#xff0c;LIFO&#xff09;的原则。栈可以被看作是一个只能在一端进行操作…

内网横向移动小结

windows Windows-Mimikatz 适用环境&#xff1a; 微软为了防止明文密码泄露发布了补丁 KB2871997&#xff0c;关闭了 Wdigest 功能。当系统为 win10 或 2012R2 以上时&#xff0c;默认在内存缓存中禁止保存明文密码&#xff0c;此时可以通过修改注册表的方式抓取明文&#xff…

selenium 元素定位攻略大全

一、By类单一属性定位 元素名称描述Webdriver APIidid属性driver.find_element(By.ID, "id属性值")namename属性driver.find_element(By.NAME, "name属性值")class_nameclass属性driver.find_element(By.CLASS_NAME, "class_name属性值")tag_na…

Angular进阶之八: Angular Animation在项目中的实践经验

使用 Angular 进行项目开发的程序员应该都很熟悉 Angular Animation。这是一个 Angular 原生的动画库&#xff0c;它可以替代或者辅助完成原本需要使用 css 的动画功能。 Angular 在国内的运用是很有限的&#xff0c;可借鉴的文档并不很丰富。尤其对于 Angular 动画模块的应用…

中间件-消息队列

消息队列基础知识 什么是消息队列 本处提到的消息队列是指各个服务以及系统组件/模块之间的通信&#xff0c;属于一种中间件。参与消息传递的双方称为生产者和消费者&#xff0c;生产者负责发送消息&#xff0c;消费者负责处理消息。 消息队列作用 通过异步处理&#xff0…

Node.js安装Vue3安装

文章目录 前言Node.js安装设置Node.js系统变量Vue3安装 前言 前端初学者注意&#xff1a;node.js 先安装后才能安装vue3&#xff0c;node.js在安装时会自动安装npm Node.js安装 安装包已上传CSDN,审核中 &#xff0c; 也可以nodejs官网下载 默认C盘&#xff0c;本人下载路径…

idea import的maven类报红

idea 报红/显示红色的原因 一般报红&#xff0c;显示红色&#xff0c;是因为 idea 在此路径下&#xff0c;找不到这个类。 找到是哪个 jar 包的类导致 idea 报红 点击报红的路径的上一层&#xff0c;进入jar 包。比如&#xff1a; import com.aaa.bbb.ccc.DddDto;这个 impo…

K8s-网络原理-上篇

引言 本文是学习《深入剖析K8s》网络原理部分的学习笔记&#xff0c;相关图片和案例可以从https://github.com/WeiXiao-Hyy/k8s_example获取&#xff0c;欢迎Star&#xff01; 网络基础 IP组成 IP地址由两部分组成&#xff0c;即网络地址和主机地址。网络地址表示其属于互联…

03.生命周期和工程化开发入门

一、Vue生命周期 思考&#xff1a;什么时候可以发送初始化渲染请求&#xff1f;&#xff08;越早越好&#xff09;什么时候可以开始操作dom&#xff1f;&#xff08;至少dom得渲染出来&#xff09; Vue生命周期&#xff1a;就是一个Vue实例从创建 到 销毁 的整个过程。 生命…

TikTok云手机是什么原理?

随着社交媒体的快速发展和普及&#xff0c;TikTok已成为全球最受欢迎的短视频平台之一&#xff0c;吸引了数以亿计的用户。在TikTok上&#xff0c;许多用户和内容创作者都希望能够更灵活地管理和运营多个账号&#xff0c;这就需要借助云手机技术。那么&#xff0c;TikTok云手机…
最新文章