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

【MATLAB第2期】源码分享#基于LSTM时间序列单步预测,含验证和预测未来

2022-09-28 22:03 作者:陆滁朴  | 我要投稿

1.运行环境

matlab2020a + cpu

2.数据说明

单列数据,2018/10~2018/12 共三个月,92个数据。

编辑

3.数据处理

样本标准化处理,其中,前85个数据作为训练样本,来验证后7个数据效果。最后预测未来7个数据。


numTimeStepsTrain = floor(85);%85数据训练 ,7个用来验证dataTrain = data(1:numTimeStepsTrain+1,:);% 训练样本dataTest = data(numTimeStepsTrain:end,:); %验证样本

4.LSTM参数设置


numHiddenUnits = 500;%隐含层神经元节点数 dropoutLayer(0.2)%丢弃层概率

5.运行过程

编辑切换为居中

根据训练效果RMSE误差图以及损失图,可在运行时降低训练次数,如设置为300,加快收敛。

6.运行结果

训练结果:

编辑

验证结果:

编辑

评价指标:

训练集数据的MAE为:2524.5837

验证集数据的MAE为:3277.468

训练集数据的MAPE为:0.3253

验证集数据的MAPE为:0.31752

训练集数据的RMSE为:3380.5039

验证集数据的RMSE为:3862.0957

原数据量级比较大,加上参数还需要打磨,所以误差显得比较大 。可以套用自己数据试试。

7.预测未来

编辑

展示代码:

调用函数以及案例数据放下面链接了,免费下载即可。

获取链接:

https://mianbaoduo.com/o/bread/mbd-Y5iZlptw

内容整理不易,求个关注,后续会持续分享机器学习相关的源代码。


获取链接

内容整理不易,求个关注,后续会持续分享机器学习相关的源代码。





【MATLAB第2期】源码分享#基于LSTM时间序列单步预测,含验证和预测未来的评论 (共 条)

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