【LSTM时序预测】基于matlab EMD结合LSTM风速数据预测【含Matlab源码 2051期】

news2024/11/25 16:53:49

⛄一、EMD-DELM简介

1 方法及原理
1.1 EMD基本原理

经验模态分解可基于数据本身,将复杂信号分解为一系列IMF和一个r(t),分解信号时,不需要预先设置任何基函数。因为这一特点,理论上EMD方法可预处理任何一种信号的数据,因此被广泛应用。

x(t)=∑fIMF,s+r(t) (1)

每个IMF分量都应满足以下2个特点:

(1)在整个时间范围内,局部极值点和过零点的数量必须相等或最多相差一个;

(2)在任何时间点,局部最大包络和局部最小包络的平均值必须为0。

IMF代表数据的固有振动模式。根据IMF的定义,IMF每个振动周期只有一个振动模式,不存在其他复杂波。作为混合序列的煤气消耗数据也可以分解为如式(1)所示的形式。分解后的IMF分量包含不同的局部特征信号。因此,利用EMD分解煤气消耗数据是可行的。

1.2 长短时记忆神经网络
LSTM在解决长时间序列相关性问题上具有独特优势,是深度学习中比较流行的方法。LSTM的内部结构由遗忘门、输入门、输出门和存储单元组成。由于其独特的“记忆”优势,LSTM网络得到了越来越广泛的应用。图1所示为LSTM的网络结构。
在这里插入图片描述
图1 LSTM结构

遗忘门决定了前一时刻的单元状态需要保留到当前时刻的程度。

f(t)=σ[Wfh(t-1)+Ufx(t)+bf] (2)

输入门分为两部分:Sigmoid层决定哪些信息需要更新,并输出为i(t);Tanh层创建候选向量c′(t)。最后,组合这2个向量来创建更新值。数学表达式为

i(t)=σ[Wih(t-1)+Uix(t)+bi] (3)

c′(t)=tanh[Wch(t-1)+Ucx(t)+bc] (4)

单元状态C(t)是遗忘门f(t)与上一时刻单元状态C(t-1)乘积和i(t)与a(t)乘积的和。

Ct=C(t-1)⨂f(t)+i(t)⨂a(t) (5)

输出门是输出到LSTM控制单元状态的当前输出值,由Sigmoid层和Tanh层两部分组成。

o(t)=σ[Woh(t-1)+Uox(t)+bo] (6)

h(t)=o(t)⨂tanh[C(t)] (7)

其中:σ为激活函数;Wf、Wi、Wc、Wo、Uf、Ui、Uc、Uo为权重;h(t-1)为前一个神经元的输出结果;bf、bi、bc、bo为偏置;⨂为元素乘法符号。

由于Tanh的导数大于Sigmoid函数的导数,Tanh激活函数通常用于解决RNN梯度消失问题。Sigmoid函数估计输入数据与先前隐藏状态的权重和激活,值在0~1之间,指示允许流入多少相关信息。各个门之间以特定的关系相互作用、过滤和保存信息。这种结构可以有效解决梯度消失问题。

⛄二、部分源代码

clc;clear;close all
%%
lstm=load(‘结果/lstm.mat’);%1
emd_lstm=load(‘结果/emd_lstm.mat’);%2
%% 1
disp(‘1-结果分析-lstm’)
result(lstm.true_value,lstm.predict_value)
fprintf(‘\n’)
%% 2
disp(‘2-结果分析-emd-lstm’)
result(emd_lstm.true_value,emd_lstm.predict_value)
fprintf(‘\n’)

%% 画图
figure
plot(lstm.true_value)
hold on;grid on
plot(lstm.predict_value)
plot(emd_lstm.predict_value)
legend(‘真实值’,‘lstm预测值’,‘emd-lstm预测值’)
title(‘各算法预测效果对比’)
ylabel(‘值’)
xlabel(‘测试集样本’)

⛄三、运行结果

在这里插入图片描述

⛄四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]翟慧,熊伟,李福进,杨杰.基于EMD-LSTM的冷轧煤气消耗量预测模型仿真[J].机床与液压. 2022,50(14)

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/100917.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Linux磁盘管理】

Linux磁盘管理 写在前面 在此强调一个 Linux 的核心机制就是一切皆文件。 I/O Ports 即I/O 设备地址,用来标识硬件对应的设备地址,来让操作系统以及 cpu 使用。 CPU 的核数不一定就是越多越好,由于CPU 协调之间的协调问题,可能性…

洛谷P1161 开灯

开灯 题目描述 在一条无限长的路上,有一排无限长的路灯,编号为 1,2,3,4,…1,2,3,4,\dots1,2,3,4,…。 每一盏灯只有两种可能的状态,开或者关。如果按一下某一盏灯的开关,那么这盏灯的状态将发生改变。如果原来是开,…

定时器/计数器中定时/计数初值的计算

寄存器TMOD是单片机的一个特殊功能寄存器,其功能是控制定时器/计数器T0、T1的工作方式。它的字节地址为89H,不可以对它进行位操作。 只能进行字节操作,即给寄存器整体赋值的方法设置初始值,如TMOD0x01。在上电和复位时&#xff0c…

中小型企业HR人力资源管理系统源码带使用手册和操作说明

【程序语言】:.NET 【数据库】:SQL SERVER 2008 【运行环境】:WINDOWSIIS 【其他】:前端bootstrap框架 运行环境 系统运行环境:ASP.NET 4.0/IIS 6.0/SQL Server2008,使用成熟稳定的Webform开发模式&…

【现代密码学原理】——期末复习(冲刺篇)

📖 前言:快考试了,做篇期末总结,都是重点与必考点。 博主预测考点: 计算题:RSA、Diffie-Hellman密钥交换、EIGamal 密钥交换、使用SHA-512算法,计算消息的Hash值、计算消息的HMAC 应用题&#…

1.cesium简介和环境搭建

目录 一、cesium介绍 cesium是什么? cesium能做什么? cesium的限制? cesium的好处是什么? 二、创建一个简单的cesium 安装node环境 下载cesiumSDK 部署cesium 三、补充说明 Documentation Sandcastle 一、cesium介绍 …

重点| 系统集成项目管理工程师考前50个知识点(7)

本文章总结了系统集成项目管理工程师考试背记50个知识点!!! 帮助大家更好的复习,希望能对大家有所帮助 比较长,放了部分,需要可私信!! 46、项目合同签订的注意事项: …

Hadoop实训1:Linux基本搭建和操作

目录 1、创建三台虚拟机 2、创建使用SSH远程连接 3、实现IP地址与主机名的映射 4、关闭和禁用防火墙 5、创建目录结构 6、压缩打包 7、安装软件包 安装jdk 安装mysql 8、创建脚本文件 9、运行脚本文件 11、远程拷贝文件 总结 1、创建三台虚拟机 序号虚拟机名称…

22.12.19打卡 Codeforces Round #839 (Div. 3) A~E

Dashboard - Codeforces Round #839 (Div. 3) - Codeforces 浑浑噩噩的一场, 被队友带飞 A 不解释 /* ⣿⣿⣿⣿⣿⣿⡷⣯⢿⣿⣷⣻⢯⣿⡽⣻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠸⣿⣿⣆⠹⣿⣿⢾⣟⣯⣿⣿⣿⣿⣿⣿⣽⣻⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣻⣽⡿⣿⣎⠙⣿⣞⣷⡌⢻…

Python -- 文件操作

目录 1.文件的打开与关闭 1.1 打开文件 1.2 关闭文件 2.文件的读取和写入 2.1 文件的读写 3.CSV文件的读写 3.1 CSV文件的写入 4.将数据写入 4.1 StingIO 4.2 BytesIO 5.练习:实现文件拷贝 6.序列化和反序列化 6.1 使用JSON实现列化 6.2 使用JSON实现…

Spring Boot的单元测试

⭐️前言⭐️ 一个Spring项目是有很多个功能的,如果想要单独测试某一个功能是否逻辑正确,就不能只依靠启动类来将整个项目启动去进行测试,而是要通过单元测试的方法,来单独的测试某一个功能,这篇文章就来介绍单元测试…

MEC硬件加速技术分析

【摘 要】为了解决边缘机房的供电、散热以及承重能力有限,无法为MEC提供足够的计算资源的问题,分析了MEC在第三方应用,OVS和虚拟化用户面的性能瓶颈,提供硬件加速的方法。研究表明,通过上述方法,可突破MEC的性能和时延瓶颈,实现高性能、低时延,并兼顾性能、成本和开放…

稳踞三大价值高地!昆仑万维角逐AIGC“新大陆”

历史总是被前瞻者和实干家推动着加速前行。 15世纪,多艘探险船队从欧洲出发向着东方而去,开启群雄角逐的探索时代。他们在航行中不断发现新大陆,兴起无数的造富神话,也加速了全球贸易、信息等方面的交流,翻开一个全新…

Hadoop学习笔记——MapReduce

文章目录一、MapReduce概述1.1、MapReduce定义1.2、MapReduce优缺点1.2.1 优点1.2.2 缺点1.3、MapReduce核心思想1.4、MapReduce进程1.5、官方WordCount源码1.6、常用数据序列化类型1.7、MapReduce程序规范1.8、 WordCount案例实操1.8.1 本地测试1.8.2 提交到集群测试一、MapRe…

XiaoMi手机MIX 2S线刷固件和刷入Recovery、Root

mix 2s 固件下载地址 https://web.vip.miui.com/page/info/mio/mio/detail?postId4865868&app_versiondev.20051 miflash线刷工具下载地址 https://miuiver.com/miflash/ 安装miflash线刷工具 点击安装驱动 打开miflash 手机关机按音量下加开机键进入bootloader&#xf…

(Java)[NOIP2006 普及组] 明明的随机数

[NOIP2006 普及组] 明明的随机数一、题目描述二、输入格式三、输出格式四、样例输入五、样例输出六、正确代码(1)方法一(2)方法二(3)方法三七、思路与分析(1)题目分析(2&…

mysql基于Amoeba(变形虫)实现读写分离

一,Amoeba介绍 1、什么是amoeba? ​ Amoeba(变形虫)项目,专注 分布式数据库 proxy 开发。座落与Client、DB Server(s)之间。对客户端透明。具有负载均衡、高可用性、sql过滤、读写分离、可路由相关的query到目标数据库、可并发请求多台数据…

【数据结构】顺序表与线性表之ArrayList

目录 一、顺序表与线性表的概念 1、顺序表 2、线性表 二、Java里的集合类之ArrayList 1、ArrayList与顺序表 2、认识ArrayList 1.构造方法 2.常用方法 3.遍历ArrayList的几个方法 4.扩容机制 三、模拟实现ArrayList 1、字段 2、构造方法 3、常用方法 1.判满 2.判…

10.1、Django入门

文章目录预备知识MVC模式和MTV模式MVC模式MTV 模式Django框架Django框架简介Django框架的应用启动后台admin站点管理数据库迁移创建管理员用户管理界面本地化创建并使用一个应用bookapp预备知识 HTTP协议就是客户端和 服务器端之间数据传输的格式规范,格式简称为“…

教你搭建FTP文件共享服务器

一、什么是FTP FTP—文件传输协议(File Transfer Protocol,FTP)是用于在网络上进行文件传输的一套标准协议,它工作在 OSI 模型的第七层, TCP 模型的第四层, 即应用层, 客户在和服务器建立连接前…