基于爬行动物搜索RSA优化LSTM的时间序列预测
0 引言
基于LSTM进行时间序列预测方法简单有效。LSTM的出现为时间序列预测提供了一个新的研究方向。然而,与大部分网络模型一样,LSTM效果受其超参数设置的影响。为此,本文采用爬行动物搜索Reptile Search Algorithm (RSA)优化LSTM网络超参数,建立RSA-LSTM模型 , 实例验证表明 , RSA-LSTM 模型的预测效果明显提高。
1 原理
1.1 LSTM原理
1.2 爬行动物搜索算法
爬行动物搜索Reptile Search Algorithm (RSA)是由Laith Abualigah等人于 2020年提出的一种新的nature-inspired meta-heuristic optimizer,其灵感启发来源于鳄鱼在自然界中的社会行为,主要包含两个主要机制:包围机制、和狩猎机制。对这两种机制建立数学模型即提出了RSA算法。RSA算法是一种基于种群的无梯度方法,可以用来解决带特定约束的复杂或简单的优化问题。具体理论请参考文献《Reptile Search Algorithm (RSA): A novel nature-inspired meta-heuristic optimizer》
1.3 SMA优化LSTM原理
以最小化LSTM网络的误差为适应度函数,RSA的作用就是尽量去找一组最优超参数使得网络误差最小化。本文中LSTM的主要几个超参数分别是:学习率lr,batchsize,训练次数K,两个隐含层的节点数L1和L2。
2 代码实现
基于MATLAB2020b,进行模型搭建与优化。数据结构为时间序列,我们采用前n个时刻的值为输入,n+1时刻 的值为输出这样来进行滚动建模。
2.1 LSTM结果
2.2 RSA-LSTM结果
下图为不同超参数的变化曲线:
利用上述最优参数建立的RSA-LSTM模型结果为:
2.3 方法对比
3 结论
从以上分析可以看出,优化后的LSTM具有更好的精度。
基于爬行动物搜索RSA优化LSTM的时间序列预测相关推荐
- 基于Keras的LSTM多变量时间序列预测(北京PM2.5数据集pollution.csv)
基于Keras的LSTM多变量时间序列预测 传统的线性模型难以解决多变量或多输入问题,而神经网络如LSTM则擅长于处理多个变量的问题,该特性使 ...
- PSO优化LSTM做时间序列的预测,优化的是隐藏层单元数目,批处理大小,时间窗口大小
PSO优化LSTM做时间序列的预测,优化的是隐藏层单元数目,批处理大小,时间窗口大小,学习率等网络参数. ID:8288668442690309幸福生活
- python短期预测图_Python中利用长短期记忆模型LSTM进行时间序列预测分析
原文链接:http://tecdat.cn/?p=6663 此示例中,神经网络用于使用2011年4月至2013年2月期间的数据预测都柏林市议会公民办公室的能源消耗. 每日数据是通过总计每天提供的15分 ...
- 股票价格预测 | Python实现LSTM股票价格时间序列预测
股票价格预测 | Python实现LSTM股票价格时间序列预测 目录 股票价格预测 | Python实现LSTM股票价格时间序列预测 基本介绍 数据集 程序下载 总结 基本介绍 长短时记忆(LSTM) ...
- 【Matlab风电功率预测】EMD优化LSTM风电功率预测【含源码 1402期】
一.代码运行视频(哔哩哔哩) [Matlab风电功率预测]EMD优化LSTM风电功率预测[含源码 1402期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]曾 ...
- 【Matlab风电功率预测】粒子群算法优化LSTM风电功率预测【含源码 941期】
一.代码运行视频(哔哩哔哩) [Matlab风电功率预测]粒子群算法优化LSTM风电功率预测[含源码 941期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] ...
- TensorFlow搭建LSTM实现时间序列预测(负荷预测)
目录 I. 前言 II. 数据处理 III. 模型 IV. 训练/测试 V. 源码及数据 I. 前言 前面已经写过不少时间序列预测的文章: 深入理解PyTorch中LSTM的输入和输出(从input输 ...
- 组合预测 | MATLAB实现EMD-KPCA-LSTM、EMD-LSTM、LSTM多变量时间序列预测对比
组合预测 | MATLAB实现EMD-KPCA-LSTM.EMD-LSTM.LSTM多变量时间序列预测对比 目录 组合预测 | MATLAB实现EMD-KPCA-LSTM.EMD-LSTM.LSTM多 ...
- 基于GM(0,N)的时间序列预测R实现
基于GM(0,N)的时间序列预测R实现 本人新手数据分析师一枚,最近由于工作原因,需要使用灰色预测GM(0,N)模型进行预测分析,但是在网上搜基本没有搜到相关的R代码,只能自己根据灰色预测GM(0,N ...
最新文章
- NanoPi NEO Air使用十:自己编写驱动来控制LED
- 【深度学习】60题PyTorch简易入门指南,做技术的弄潮儿
- ARM 之四 各集成开发环境(IDE)说明(Keil、RVDS、ADS、DS-5、MDK)
- 使用ORM提取数据很容易! 是吗?
- jQuery向动态生成的内容添加事件响应(jquery live方法简介)
- asp.net下的“Eval()、XPath() 和 Bind() 这类数据绑定方法只能在数据绑定控件的上下文中使用。”错误的一个可能的成因...
- 箭头 运算符_论普通函数和箭头函数的区别以及箭头函数的注意事项和不适用场景...
- java生成密码字典
- 基于Springboot+websocket的web聊天项目(论文+程序设计源码+数据库文件)
- sap 流程图 退货销售订单_ERP系统:退货流程的解决方案
- 网络语言2019流行语C位解,最新骂人网络语言 2019网络骂人流行语大全
- 举个栗子!Tableau 技巧(152):横向对比堆叠柱形图的各部分占比
- 计算机暑期学校心得,暑期学校培训心得体会(通用12篇)
- js 解决Safari浏览器中实现支付宝网页支付无法拉取支付宝APP的问题
- SQL 注释语句 (--与/*...*/)
- 本科毕业论文-软件开发类-《基于Android端开关控制系统的设计与实现》-论文模板
- 为了让你在“口袋奇兵,最新Java高级面试题汇
- KT1025A蓝牙音频BLE芯片读取U盘和TF卡的TXT BIN文件串口输出
- 推荐一个很不错的桌面便笺工具magic notes
- 图解 先验概率,后验概率,似然函数,迹象/evidence(by 例子 老王开车)