赞
踩
Matlab实现LSTM长短期记忆神经网络时间序列预测未来(完整程序和数据)
1.Matlab实现LSTM长短期记忆神经网络时间序列预测未来;
2.运行环境Matlab2018及以上,data为数据集,单变量时间序列预测;
3.递归预测未来数据,可以控制预测未来大小的数目,适合循环性、周期性数据预测;
4.命令窗口输出R2、MAE、MAPE、MBE、MSE等评价指标;
%% 创建混合LSTM网络架构 % 输入特征维度 numFeatures = f_; % 输出特征维度 numResponses = 1; FiltZise = 10; % 创建"LSTM"模型 layers = [... % 输入特征 sequenceInputLayer([numFeatures 1 1],'Name','input') sequenceFoldingLayer('Name','fold') % LSTM特征学习 lstmLayer(50,'Name','lstm1','RecurrentWeightsInitializer','He','InputWeightsInitializer','He') % LSTM输出 lstmLayer(optVars.NumOfUnits,'OutputMode',"last",'Name','bil4','RecurrentWeightsInitializer','He','InputWeightsInitializer','He') dropoutLayer(0.25,'Name','drop3') % 全连接层 fullyConnectedLayer(numResponses,'Name','fc') regressionLayer('Name','output') ]; layers = layerGraph(layers); layers = connectLayers(layers,'fold/miniBatchSize','unfold/miniBatchSize'); %% LSTM训练选项 % 批处理样本 MiniBatchSize =128; % 最大迭代次数 MaxEpochs = 500; options = trainingOptions( 'adam', ... 'MaxEpochs',500, ... 'GradientThreshold',1, ... 'InitialLearnRate',optVars.InitialLearnRate, ... 'LearnRateSchedule','piecewise', ... 'LearnRateDropPeriod',400, ... 'LearnRateDropFactor',0.2, ... 'L2Regularization',optVars.L2Regularization,... 'Verbose',false, ... 'Plots','none'); %% 训练混合网络 net = trainNetwork(XrTrain,YrTrain,layers,options);
[1] https://blog.csdn.net/kjm13182345320/article/details/129036772?spm=1001.2014.3001.5502
[2] https://blog.csdn.net/kjm13182345320/article/details/128690229
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。