• 【MATLAB第78期】基于MATLAB的VMD-SSA-LSTM麻雀算法优化LSTM时间序列预测模型


    【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);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    单一的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];%上边界
    
    • 1
    • 2
    • 3
    • 4
    • 5

    最优隐藏单元数目为 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期”即可获取下载方式。

  • 相关阅读:
    win11怎么把c盘移到d盘?
    都说了别用BeanUtils.copyProperties,这不翻车了吧
    Java IO包之ByteArray和Filter的简介说明
    js 正则校验输入是否为空字符串
    C#通过Process调用Python脚本
    解决mybatis用Map返回的字段全变大写的问题
    虚拟机常用操作
    目标检测算法——YOLOv5/YOLOv7改进|结合涨点Trick之ASFF_Detect(自适应空间特征融合)
    成绩统计-蓝桥杯
    打造本地紧密链接的开源社区——KCC@长沙开源读书会&openKylin爱好者沙龙圆满举办...
  • 原文地址:https://blog.csdn.net/qq_29736627/article/details/133365502