【MATLAB第54期】基于LSTM长短期记忆网络的多输入多输出滑动窗口回归预测模型
往期第13期已实现多输入单输出滑动窗口回归预测
本次在此代码基础上,新增多输出滑动窗口功能。
多输入单输出滑动窗口回归预测
一、实现效果
往期文章提到了对单列时间序列数据进行滑动窗口处理的思路,本文介绍如何对多输入多输出数据进行滑动窗口的思路。实现效果如下:
1.训练过程:
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
3.测试集拟合效果:
测试集输出变量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
二、数据设置:
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期”可获得下载链接。