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

目录

往期精彩内容:

前言

[1 风速 VMD 分解与可视化](#1 风速 VMD 分解与可视化)

[1.1 导入数据](#1.1 导入数据)

[1.2 VMD分解](#1.2 VMD分解)

[2 数据集制作与预处理](#2 数据集制作与预处理)

[3 基于Pytorch的VMD +CNN-BiLSTM 预测模型](#3 基于Pytorch的VMD +CNN-BiLSTM 预测模型)

[3.1 定义VMD +CNN-BiLSTM预测模型](#3.1 定义VMD +CNN-BiLSTM预测模型)

[3.2 设置参数,训练模型](#3.2 设置参数,训练模型)

[4 模型评估与可视化](#4 模型评估与可视化)

[4.1 结果可视化](#4.1 结果可视化)

[4.2 模型评估](#4.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风速预测模型-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博客

前言

本文基于前期介绍的风速数据(文末附数据集),先经过VMD分解,然后通过数据预处理,制作和加载数据集与标签,最后通过Pytorch实现VMD-CNN-BiLSTM模型对风速数据的预测,以提高时间序列数据的预测性能。风速数据集的详细介绍可以参考下文:

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

模型整体结构:使用VMD算法对风速序列进行分解,形成一个分量特征输入,通过滑动窗口制作数据集,来预测风速。通过CNN-BiLSTM模型提取分量空间、时域特征,然后再送入全连接层,实现高精度的预测模型。

1 风速 VMD 分解与可视化

1.1 导入数据

1.2 VMD分解

第一步, 模态选取

根据不同K值条件下, 观察中心频率,选定K值;从K=4开始出现中心频率相近的模态,出现过分解,故模态数 K 选为4。

第二步,风速数据VMD分解可视化

2 数据集制作与预处理

先划分数据集,按照8:2划分训练集和测试集

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

3 基于Pytorch的 VMD +CNN-BiLSTM 预测模型

3.1 定义VMD +CNN-BiLSTM预测模型

注意:输入风速数据形状为 64, 48, 4, batch_size=64,48代表序列长度(滑动窗口取值), 维度4维代表vmd分解出的4个分量特征。

3.2 设置参数,训练模型

50个epoch,MSE 为0.001636,VMD+CNN-BiLSTM模型预测效果良好,加入VMD分解后,序列预测效果提升明显,性能优越,适当调整模型参数,还可以进一步提高模型预测表现。

注意调整参数:

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

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

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

4 模型评估与可视化

4.1 结果可视化

4.2 模型评估

代码、数据如下:

相关推荐
织码weavecodes21 分钟前
织码在线教育系统--主观题 AI 智能阅卷:批量初评与教师复核如何协同
人工智能
Shockang7 小时前
llama.cpp 本地运行 9B 模型:部署、工具调用与微调数据
人工智能
Shockang7 小时前
n8n 智能体工作流实战:触发、工具、记忆与发布护栏
人工智能
冬奇Lab8 小时前
开源项目第241期:YuE2 —— 用符号乐谱当“白盒“接口的开源音乐生成模型,SongBench 超越 Suno v5/v6
人工智能
鶴哥只手遮天9 小时前
Spring AI 2.0.1 深度解析-第 14 章 MCP 服务端(上):注解式实现与工具来源
java·人工智能·开源
鶴哥只手遮天9 小时前
Spring AI 2.0.1 深度解析-第 15 章 MCP 服务端(下):三种协议形态、Streamable 传输与状态管理
java·人工智能·开源
鶴哥只手遮天9 小时前
Spring AI 2.0.1 深度解析-第 16 章 向量存储(上):`VectorStore` 接口体系、`BatchingStrategy`
java·人工智能·开源
鶴哥只手遮天9 小时前
Spring AI 2.0.1 深度解析-第 12 章 工具循环的流式形态、Usage 累加与扩展体系
java·人工智能·开源
鶴哥只手遮天9 小时前
Spring AI 2.0.1 深度解析-第 23 章 模型供应商实现:从 `OpenAiSetup` 到 Bedrock
java·人工智能·开源