当前位置: 首页 > news >正文

【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);

单一的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期”即可获取下载方式。

http://www.lryc.cn/news/179674.html

相关文章:

  • 分类预测 | MATLAB实现SSA-FS-SVM麻雀算法同步优化特征选择结合支持向量机分类预测
  • 唤醒手腕 Matlab 游戏编程常用技术知识点详细教程(更新中)
  • 2023八股每日一题(九月份)
  • 分布式链路追踪--SkyWalking7.0.0+es7.0.0
  • web:[RoarCTF 2019]Easy Calc
  • 【Java每日一题】— —第十七题:杨辉三角(等腰三角形)。(2023.10.01)
  • Ubuntu20.04.1编译qt6.5.3版mysql驱动
  • Stm32_标准库_4_TIM中断_PWM波形_呼吸灯
  • 华为摄像头智能安防监控解决方案
  • The rise of language models
  • Windows下使用VS2010编译出带pdb可调试的FFmpeg库
  • 36.骑士周游算法及其基于贪心算法的优化
  • win安装vscode
  • 【图像分割】图像检测(分割、特征提取)、各种特征(面积等)的测量和过滤(Matlab代码实现)
  • Linux内核存在缺陷发行陷困境
  • 通过java向jar写入新文件
  • uni-app_消息推送_华为厂商_unipush离线消息推送
  • 单元测试框架-Pytest(简单学习)
  • 毛玻璃态卡片悬停效果
  • 【面试经典150 | 数组】除自身以外数组的乘积
  • uboot启动流程-涉及s_init汇编函数
  • 单例模式详解及5种实现方式 (设计模式 一)
  • 面试系列 - Java常见算法(一)
  • Sentinel学习(1)——CAP理论,微服务中的雪崩问题,和Hystix的解决方案 Sentinel的相关概念 + 下载运行
  • C#学习 - 表达式、语句
  • VirtualBox 进入虚拟机后,鼠标出不来了
  • 030-从零搭建微服务-消息队列(二)
  • Docker从认识到实践再到底层原理(九)|Docker Compose 容器编排
  • 操作EXCEL计算3万条数据的NDVI并填入
  • Linux服务器安装Anaconda 配置远程jupyter lab使用虚拟环境