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

news2024/11/20 9:43:28

目录

​编辑

往期精彩内容:

前言

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

1.1 导入数据

1.2 CEEMDAN分解

1.3 数据集制作与预处理

2 基于Pytorch的CEEMDAN + CNN-LSTM 预测模型

2.1 定义CEEMDAN + CNN-LSTM预测模型

2.2 设置参数,训练模型

3 模型评估与可视化

3.1 结果可视化

3.2 模型评估

代码、数据如下:


往期精彩内容:

时序预测: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博客

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,以提高时间序列数据的预测性能。

模型整体结构:数据集一共有天气、温度、湿度、气压、风速等九个变量,使用CEEMDAN算法对风速序列进行分解,然后合并所有的分量和原始数据集变量,形成一个加强的特征输入,通过滑动窗口制作数据集,利用多变量来预测风速。先通过CNN进行卷积池化操作提取特征变量的空间特征,增加维度,缩短序列长度,然后再送入LSTM层提取时序特征,,实现CNN-LSTM的预测模型。

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

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

LSTF(Long Sequence Time-Series Forecasting)问题是指在时间序列预测中需要处理长序列的情况。在实际应用中,时间序列可能会包含非常大量的数据点,在这种情况下,传统的时间序列预测模型可能会遇到一些挑战,因为处理长序列时会出现一些问题,例如:

  • 长期依赖性: 随着时间序列数据的增长,模型需要能够捕捉长期的依赖关系和趋势。

  • 计算复杂性: 针对长序列进行训练和预测通常需要更多的计算资源和时间。

  • 内存消耗: 长序列通常需要大量的内存来存储数据和模型参数,这可能会导致内存耗尽或者性能下降的问题。

在处理LSTF问题时,选择合适的窗口大小(window size)是非常关键的。选择合适的窗口大小可以帮助模型更好地捕捉时间序列中的模式和特征,为了提取序列中更长的依赖建模,本文把窗口大小提升到96,运用CNN-LSTM模型来充分提取序列中的特征信息。

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

1.1 导入数据

1.2 CEEMDAN分解

1.3 数据集制作与预处理

先合并原始数据变量和分解的分量,按照9:1划分训练集和测试集

制作数据集

2 基于Pytorch的CEEMDAN + CNN-LSTM 预测模型

2.1 定义CEEMDAN + CNN-LSTM预测模型

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

2.2 设置参数,训练模型

50个epoch,MSE 为0.0002787,多变量特征CEEMDAN + CNN-LSTM预测效果良好,加入CEEMDAN分解后,多变量预测效果提升明显,性能优越,适当调整模型参数,还可以进一步提高模型预测表现。

注意调整参数:

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

  • 调整LSTM层数和维度数,增加更多的 epoch (注意防止过拟合)

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

3 模型评估与可视化

3.1 结果可视化

3.2 模型评估

代码、数据如下:

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spring Aop原理

Aop概述 Spring 中 Aop的理解: AOP:将那些与业务无关,却与业务模块所共同调用的逻辑(例如事务处理,日志管理,权限管理等) 封装成一个可重用的模块,这个模块被称为"切面",便于减少系统的重复代码…

立体声耳机功率放大器电路D7000,静态电流低且电源纹波抑制比高

立体声耳机功率放大器电路-D7000,静态电流低,电源纹波抑制比高,内置节电模式开关和静噪开关,主要应用于便携式视盘播放器(DISCMAN),便携式迷你播放器(MD),Disc-Man,MP3 播放器,CD-ROM以及其它便携式Disc风扇马达驱动器等领域。 二…

C#,入门教程(20)——列表(List)的基础知识

上一篇: C#,入门教程(19)——循环语句(for,while,foreach)的基础知识https://blog.csdn.net/beijinghorn/article/details/124060844 List顾名思义就是数据列表,区别于数据数组(arr…

windows系统下docker软件中使用ubuntu发行版本的linux系统

1.软件下载 官网下载地址 下载安装之后,再去微软商店下载wsl软件,可以直接用,或者也可以使用命令行拉取(下面会讲) 2.在docker里面创建容器的两种方法 2.1.命令行创建 前言:输入 winr 打开命令行进行下面…

USB Redirector本地安装并结合内网穿透实现远程共享和访问USB设备

文章目录 前言1. 安装下载软件1.1 内网安装使用USB Redirector1.2 下载安装cpolar内网穿透 2. 完成USB Redirector服务端和客户端映射连接3. 设置固定的公网地址 前言 USB Redirector是一款方便易用的USB设备共享服务应用程序,它提供了共享和访问本地或互联网上的U…

【PUSDN】MySQL数据库建表规范【企业级】

鸣谢 本文有www.pusdn.com | PUSDN提供技术支持 数据库命名规范 数据库对象的命名要能做到见名识意,并且最后不要超过32个字符 所有数据库对象名称禁止使用mysql保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来) 禁止使用SELECT * 必须使用SELECT <…

如何压缩照片大小?快速解决照片文件过大的问题!

在当今数字化时代&#xff0c;照片已经成为我们生活中不可或缺的一部分。无论是记录美好时刻&#xff0c;分享精彩瞬间&#xff0c;还是用于工作需求&#xff0c;我们都会遇到一种常见的问题 - 照片文件大小过大。这种情况下&#xff0c;我们需要找到一种方法来缩小照片的文件大…

AE修剪路径怎么用?

AE修剪路径怎么用?直线怎样做伸展动画呢&#xff1f;今天就教大家如何操作。 如图&#xff0c;让画面上的直线做伸展动画。 点击左下角的“添加”。 点击“修剪路径”。 文章源自设计学徒自学网-https://www.sx1c.com/38146.html 进度条移动到最开始&#xff0c;再点击左边结…

浅析企业微电网能效系统建设——安科瑞赵嘉敏

一 案例介绍 随着新型电力系统进程加快&#xff0c;新能源装机占比逐步提高&#xff0c;发电侧波动性、随机性导致可靠容量降低。加之极端天气带动负荷快速增长&#xff0c;造成电力供需紧张、电网尖峰负荷屡创新高&#xff0c;对现有能源供应带来巨大挑战。 国家电投五凌电力…

5.【CPP】内存管理(text段data段bss段||nwedelete底层实现||源码)

一.内存管理 1.如图 2.heap下面的空间 应用程序加载到内存中由操作系统完成对bss,data,text,stack加载&#xff0c;并在内存分配空间。在编译阶段已经确定分配了多少空间&#xff0c;属于静态分配。 而malloc等在程序运行时在堆上开辟空间则属于动态分配&#xff0c;需要手动f…

一网打尽 this,对执行上下文说 Yes

文章目录 全局环境下的 this上下文对象调用中的 thisbind/call/apply 改变 this 指向构造函数和 this箭头函数中的 this 指向this 优先级相关实现一个bind 函数 ✍创作者&#xff1a;全栈弄潮儿 &#x1f3e1; 个人主页&#xff1a; 全栈弄潮儿的个人主页 &#x1f3d9;️ 个人…

解读加密生态的未来:通过用户钱包画像分析预测市场趋势

作者&#xff1a;stellafootprint.network 加密生态领域变化莫测&#xff0c;但深入分析区块链数据&#xff0c;我们可以发现未来走势的线索。如果通过用户钱包画像分析&#xff0c;能够提前捕捉到这些信号&#xff0c;投资者是否能够抢占先机&#xff0c;领先市场&#xff1f…

Linux常用命令之vim、cat、grep

vim:编辑文件内容 cat&#xff1a;查看文件内容 grep:用于查找文件里符合条件的字符串 grep [-abcEFGhHilLnqrsvVwxy][-A<显示行数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文…

Virtual Box安装Kali Linux 虚拟机

一、Kali Linux —— 安装和配置 Kali Linux 是道德黑客最好的安全软件包之一&#xff0c;包含一组按类别划分的工具。它是一个开源的系统&#xff0c;其官方网页是https://www.kali.org。 一般来说&#xff0c;Kali Linux 可以作为操作系统安装在机器上。Kali Linux提供了更…

接口自动化神器 apin【 快速入门篇】

关于自动化测试&#xff0c;这些年经历了太多的坑&#xff0c;有被动的坑&#xff0c;也有自己主动挖的坑&#xff0c;在这里做了一些总结。 一、apin 介绍及安装 1、什么是 apin apin是一个无需写代码&#xff0c;就可以进行接口自动化测试的框架&#xff0c;只需要通过jso…

02章【JAVA编程基础】

变量与标识符 变量 数学名词&#xff1a;变数或变量&#xff0c;是指没有固定的值&#xff0c;可以改变的数。变量以非数字的符号来表达&#xff0c;一般用拉丁字母。变量是常数的相反。变量的用处在于能一般化描述指令的方式。计算机解释&#xff1a;变量就是系统为程序分配…

【Spring 篇】深入探索:Spring集成Web环境的奇妙世界

嗨&#xff0c;亲爱的小白们&#xff01;欢迎来到这篇有关Spring集成Web环境的博客。如果你曾对如何在Spring中构建强大的Web应用程序感到好奇&#xff0c;那么这里将为你揭示Web开发的神秘面纱。我们将用情感丰富、语句通顺的文字&#xff0c;以小白友好的方式&#xff0c;一探…

DBeaver SQL脚本执行配置

对生产环境数据迁移到测试环境时&#xff0c;单条执行可能时间过长、或者内存装不下。最快的方法是执行SQL脚本。 本地数据库客户端&#xff1a;DBeaver 该客户端是不自带脚本执行客户端的&#xff0c;如下图&#xff1a; mysql官网下载workbench&#xff0c;可以连通客户端执…

CDMP认证与CDGA/CDGP的区别有哪些?

&#x1f451;CDMP是DAMA国际组织的全英文考试 &#x1f308;CDGA和CDGP是DAMA中国主导&#xff0c;考试为中文考试。需要在规定的时间内报名后&#xff0c;参加线下笔试考试。 &#x1f44d;CDGA、CDGP证书和英文版的CDMP证书都是国际通用的&#xff0c;是数据管理领域专业的职…