欢迎光临散文网 会员登陆 & 注册

【MATLAB第4期】基于LSTM多输入多输出预测,含滑动窗口,预测未来,多步单步预测分析

2022-11-04 03:20 作者:陆滁朴  | 我要投稿


一、数据说明

本文总共1400个数据 。滑动窗口为12,预测步数为100(预测1301-1400数据). 多步预测值为3 。  

训练集输入样本数据格式: 1286*12 //  1286*12  输入   1286 *3输出

  • 即: 样本1: 1-12 个数据  → 预测 13-15

  • 样本2:2-13 个数据   →预测 14-16

  • 样本1286:1286-1297 个数据 →预测1298:1300

测试集输入样本格式 100*12   //  100*12 输入   100*3输出

  • 即: 样本1: 1289-1300 个数据  →  预测 1301-1303

  • 样本2:1290-1301 个数据   → 预测 1302-1304

  • 样本100:1388-1399 个数据  →  预测 1400-1402



二、多步预测分析

研究多步预测分别为1 / 2 /3时对应的预测效果

(解释说明:若为1时,前12个数据预测后第13步数据;若为2时,前12个数据预测后第14步数据;若为3时,前12个数据预测后第15步数据

单步逐步预测:YPred_1:取测试集预测结果中,100个样本中每个样本分别预测的第一个值即 (1289-1399)→1301-1400(第100次预测时,样本100:1388-1399 个数据  →  预测 1400

双步逐步预测:YPred_2:取测试集预测结果中,100个样本中每个样本分别预测的第二个值即 (1289-1399)→1302-1401(删去预测的第1401值) +YPred_1预测的第一个值 1301(第100次预测时,样本100:1388-1399 个数据  →  预测 1401

三步逐步预测:YPred_3:取测试集预测结果中,100个样本中每个样本分别预测的第三个值即(1289-1399)→ 1303-1402 (删去预测的第1401-1402值)+YPred_1预测的前两个值 1301-1302(第100次预测时,样本100:1388-1399 个数据  →  预测 1402

三、预测结果分析

YPred_1预测结果

  • MAE =    0.0659

  • RMSE =    0.0813

  • MAPE =    0.0073

  • R =    0.9779

YPred_2预测结果

  • MAE =    0.1013

  • RMSE =    0.1246

  • MAPE =    0.0112

  • R =    0.9483

YPred_3预测结果

  • MAE =    0.1452

  • RMSE =    0.1770

  • MAPE =    0.0161

  • R =    0.8956

四、结论

通过以上可以看出, 单步预测效果要比多步(间隔)预测好。

五、预测未来思路(目前这部分源码还没有案例,后期会更新)

我们可以增大多步预测数值,来预测未来结果 ,如前面所说 ,多步预测参数为3,滑动窗口为12时,可以通过输入1388-1399预测1400-1402 。那么输入1389-1400就可以预测到1403数据了 。

有两种思路: 第一种思路预测结果会较差,即用未来预测结果预测未来 ,即我用1390-1401(此时1401为预测结果)预测1402-1404, 1391-1402预测1403-1404……  这种思路缺点是会造成误差积累, 影响数据特征处理,最后会逐步趋于一条直线。

第二种思路预测结果,即调大多步预测值,一般适合数据量足够,且呈周期性变化,且数据趋势没有明显异常情况。如要预测未来20个值,除了调整滑动窗口,还可以增大多步预测值,如滑动窗口保持不变,多步预测设置为10 ,即我用1389-1400预测 1401-1420 ,一步到位。

第二种思路优点是短期预测结果会更接近现实,缺点是调参困难,如滑动窗口设置合理性, 以及无法预测超长期数据 ,比如总共1400数据,你想预测未来1000个数据,如果历史数据基本保持一个趋势还好, 但如果数据曲线比较复杂,就会导致训练样本数不够,或者说不具备代表性。

六、获取方式

【获取链接】     https://mbd.pub/o/bread/mbd-Y5uXm5tq

后续将在此链接永久更新预测未来的案例代码,以及自己调试参数的心得,拭目以待吧!

如果觉得本文对你有帮助的话,麻烦点个关注收藏,后期会出视频操作,对数据处理这块儿进行讲解。


【MATLAB第4期】基于LSTM多输入多输出预测,含滑动窗口,预测未来,多步单步预测分析的评论 (共 条)

分享到微博请遵守国家法律