【MATLAB第54期】基于LSTM长短期记忆网络的多输入多输出滑动窗口回归预测模型

简介: 往期文章提到了对单列时间序列数据进行滑动窗口处理的思路,本文介绍如何对多输入多输出数据进行滑动窗口的思路。198行(代表198天),21列数据,其中前19列为变量,第20-21列为因变量。滑动窗口尺寸为7,即可认为前7天的变量作为输入,第7天的因变量作为输出。而样本数量也从原来的198变为192 ,因为前6组变量数据作为了历史样本。则输入的一组样本矩阵结构由20×1变成 20×7。往期第13期已实现多输入单输出滑动窗口回归预测。​输入数据样本 19×198。​转变后 192×19×7。

【MATLAB第54期】基于LSTM长短期记忆网络的多输入多输出滑动窗口回归预测模型

往期第13期已实现多输入单输出滑动窗口回归预测
本次在此代码基础上,新增多输出滑动窗口功能。
多输入单输出滑动窗口回归预测

一、实现效果

往期文章提到了对单列时间序列数据进行滑动窗口处理的思路,本文介绍如何对多输入多输出数据进行滑动窗口的思路。实现效果如下:

1.训练过程:
2023-07-09_173036.png

2.训练集拟合效果:
2023-07-09_173243.png

训练集输出变量1数据的RMSE为:0.087981
训练集输出变量1数据的MAPE为:-0.90458
训练集输出变量1数据的MAE为:0.066594
训练集输出变量1数据的R2为:0.21599
训练集输出变量2数据的RMSE为:0.98063
训练集输出变量2数据的MAPE为:0.034358
训练集输出变量2数据的MAE为:0.77383
训练集输出变量2数据的R2为:0.52585

2023-07-09_173339.png


3.测试集拟合效果:

2023-07-09_173408.png

测试集输出变量1数据的RMSE为:0.10677
测试集输出变量1数据的MAPE为:-0.88689
测试集输出变量1数据的MAE为:0.065214
测试集输出变量1数据的R2为:0.030359
测试集输出变量2数据的RMSE为:1.1881
测试集输出变量2数据的MAPE为:0.053303
测试集输出变量2数据的MAE为:0.99446
测试集输出变量2数据的R2为:0.31222

2023-07-09_173440.png

二、数据设置:

198行(代表198天),21列数据,其中前19列为变量,第20-21列为因变量。
前80%数据训练,后20%数据测试
(因变量数量可以更改)

三、滑动窗口处理:

滑动窗口尺寸为7,即可认为前7天的变量作为输入,第7天的因变量作为输出。
则输入的一组样本矩阵结构由20×1变成 20×7
而样本数量也从原来的198变为192 ,因为前6组变量数据作为了历史样本
​输入数据样本 19×198
​转变后 192×19×7
输出数据样本 2×198
​转变后 192×2

四、代码获取

后台私信回复“54期”可获得下载链接。

相关文章
|
2天前
|
算法
MATLAB|【免费】融合正余弦和柯西变异的麻雀优化算法SCSSA-CNN-BiLSTM双向长短期记忆网络预测模型
这段内容介绍了一个使用改进的麻雀搜索算法优化CNN-BiLSTM模型进行多输入单输出预测的程序。程序通过融合正余弦和柯西变异提升算法性能,主要优化学习率、正则化参数及BiLSTM的隐层神经元数量。它利用一段简单的风速数据进行演示,对比了改进算法与粒子群、灰狼算法的优化效果。代码包括数据导入、预处理和模型构建部分,并展示了优化前后的效果。建议使用高版本MATLAB运行。
|
2天前
|
机器学习/深度学习 数据可视化 PyTorch
使用Python实现深度学习模型:生成对抗网络(GAN)
使用Python实现深度学习模型:生成对抗网络(GAN)
18 3
|
4天前
|
Linux 开发工具
【项目--Hi3559A】如何在Hi3559A上运行自己的yolov3模型(修改类别、网络结构)
【项目--Hi3559A】如何在Hi3559A上运行自己的yolov3模型(修改类别、网络结构)
9 0
|
4天前
|
机器学习/深度学习 自然语言处理 网络安全
【pkuseg】由于网络策略组织下载请求,因此直接在github中下载细分领域模型medicine
【pkuseg】由于网络策略组织下载请求,因此直接在github中下载细分领域模型medicine
7 1
|
4天前
|
数据安全/隐私保护
地震波功率谱密度函数、功率谱密度曲线,反应谱转功率谱,matlab代码
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
|
4天前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)
|
4天前
|
算法 调度
面向配电网韧性提升的移动储能预布局与动态调度策略(matlab代码)
面向配电网韧性提升的移动储能预布局与动态调度策略(matlab代码)
|
4天前
|
算法 调度
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
|
4天前
|
运维 算法
基于改进遗传算法的配电网故障定位(matlab代码)
基于改进遗传算法的配电网故障定位(matlab代码)