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

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

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

一、实现效果

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

1.训练过程:
【MATLAB第54期】基于LSTM长短期记忆网络的多输入多输出滑动窗口回归预测模型_第1张图片

2.训练集拟合效果:
【MATLAB第54期】基于LSTM长短期记忆网络的多输入多输出滑动窗口回归预测模型_第2张图片

训练集输出变量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

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


3.测试集拟合效果:

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

测试集输出变量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

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

二、数据设置:

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期”可获得下载链接。

你可能感兴趣的:(matlab,lstm,回归预测,多输入多输出,滑动窗口,长短期记忆网络,数据处理)