深圳罗湖做网站公司哪家好莒县建设局门户网站
【MATLAB第78期】基于MATLAB的VMD-SSA-LSTM麻雀算法优化LSTM时间序列预测模型
一、LSTM
data = xlsread('数据集.xlsx');%
[x,y]=data_process(data,15);%前15个时刻 预测下一个时刻
%归一化
[xs,mappingx]=mapminmax(x',0,1);x=xs';
[ys,mappingy]=mapminmax(y',0,1);y=ys';
%划分数据
n=size(x,1);
m=round(n*0.7);%前70%训练,对最后30%进行预测
options = trainingOptions('adam', ...'MaxEpochs',35, ...'ExecutionEnvironment' ,'cpu',...'GradientThreshold',1, ...'InitialLearnRate',0.001, ...'LearnRateSchedule','piecewise', ...'LearnRateDropPeriod',30, ...'LearnRateDropFactor',0.2, ...%指定初始学习率 0.005,在 125 轮训练后通过乘以因子 0.2 来降低学习率'L2Regularization',0.0001,...'Verbose',0);
 
单一的LSTM预测
 …………………………………………………………………………………………………………………………
 训练集误差指标:
 根均方差(RMSE):0.021219
 平均绝对误差(MAE):0.016203
 平均相对百分误差(MAPE):2.7615%
测试集误差指标:
 根均方差(RMSE):0.024491
 平均绝对误差(MAE):0.019084
 平均相对百分误差(MAPE):3.2038%

二、VMD-LSTM

 VMD-LSTM预测
 …………………………………………………………………………………………………………………………
 第1个分量建模
 第2个分量建模
 第3个分量建模
 第4个分量建模
 第5个分量建模
 第6个分量建模
 第7个分量建模
 第8个分量建模
 第9个分量建模
 训练集误差指标:
 根均方差(RMSE):0.019865
 平均绝对误差(MAE):0.014202
 平均相对百分误差(MAPE):2.3709%
测试集误差指标:
 根均方差(RMSE):0.01275
 平均绝对误差(MAE):0.011012
 平均相对百分误差(MAPE):1.8442%

三、VMD-SSA-LSTM
pop=5; % 麻雀数量
Max_iteration=5; % 最大迭代次数
dim=3; % 优化lstm的3个参数
lb = [40,40,0.001];%下边界
ub = [200,200,0.03];%上边界
 
最优隐藏单元数目为 144
 最优最大训练周期为 150
 最优初始学习率为 0.012689
 最优L2正则化系数为 149.8417
训练集误差指标:
 根均方差(RMSE):0.005728
 平均绝对误差(MAE):0.0044444
 平均相对百分误差(MAPE):0.77018%
测试集误差指标:
 根均方差(RMSE):0.005453
 平均绝对误差(MAE):0.004349
 平均相对百分误差(MAPE):0.74173%
 
四、代码获取
CSDN私信回复“第78期”即可获取下载方式。
