【CEEMDAN-VMD-GRU】完备集合经验模态分解-变分模态分解-门控循环单元预测研究(Python代码实现)

简介: 【CEEMDAN-VMD-GRU】完备集合经验模态分解-变分模态分解-门控循环单元预测研究(Python代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥


🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。


⛳️座右铭:行百里者,半于九十。


📋📋📋本文目录如下:🎁🎁🎁


目录


💥1 概述


1.1 完备集合经验模态分解原理


1.2 变分 模 态 分 解


1.3 GRU


📚2 运行结果


🎉3 参考文献


🌈4 Python代码实现


💥1 概述

1.1 完备集合经验模态分解原理

早期的 EMD 方法具有较强的自适应性,能够有效地分解时间序列;但是,算法在运算过程中


容易出现模态混叠现象。EEMD 分解方法的思想是:在原始信号中加入白噪声[16],使极值点分布更均衡;最终分量在EMD 的基础上进行集成平均而得。但是,这种方法具有计算量大且重构时残留噪音大的缺陷。CEEMDAN 是 EEMD 的改进算法。该算法通过添加有限次数的自适应白噪声,解决了集合平均次数限制下的重构误差较大的问题。


1.2 变分 模 态 分 解

变分 模 态 分 解 ( variational mode decomposition,VMD) 算法是由 Dragomiretskiy 等提出的一种自动自适应、非递归的信号处理方法。此算法克服了 EMD 及其改进算法端点效应和模态分量


混叠的问题,可以将非稳定性、非线性且复杂度高的信号分解为多个相对平稳的子序列,在求解过


程中可自适应匹配最佳中心特征,极大程度地迎合高频率复杂信号的分解。


1.3 GRU

循环神经网络(Recurrent neural network,RNN)是经典的神经网络之一。由于 RNN 隐藏层


在不同样本序列的同一个神经元之间存在记忆传递,因此 RNN 在处理时间序列的线性回归问题具有优势:即,可以将前一刻神经元受到的影响输送到下一次学习中。但是,传统的 RNN 在进行反向传播时,如果输入数据的序列比较长,就会出现梯度消失、梯度爆炸等问题。


长短期记忆网络(Long short term memory,LSTM)和 GRU 的优势,在于其通过“门”结构极大地避免梯度消失问题,可以有效地分析长期依赖关系。


LSTM 包含 3 个门结构:遗忘门,输入门、输出门[21]。GRU 在 LSTM 的基础上减少了单元中门的个数,化简了单元复杂度,因此其运行效果要好于 LSTM。GRU 是由更新门和重置门构成,其内部结构如图 1 所示。


05498822086d4ceb90383cd588c75e35.png


📚2 运行结果


bd79d8d96ca6408881319b2c9b47bca0.png


92e526c9c18e4d509da6fe17d5a9cff2.png

ef2807433c2b45e7857277d8d1d0162e.png

be998ff5da024c4090f972c771d2f50d.png

3accdd836c9e46c9bf2525a2b39ac4d0.png


部分代码:

# 7.Predict Co-IMF0 by matrix-input GRU
time0 = time.time()
df_vmd_co_imf0['sum'] = df_integrate_result['co-imf0']
co_imf0_predict_raw, co_imf0_gru_evaluation, co_imf0_train_loss = GRU_predict(df_vmd_co_imf0)
print('======Co-IMF0 Predicting Finished======\n', co_imf0_gru_evaluation)
time1 = time.time()
print('Running time: %.3fs'%(time1-time0))
co_imf0_predict_raw.plot(title='Co-IMF0 Predicting Result')
co_imf0_train_loss.plot(title='Co-IMF0 Training Loss')
# 8.Predict Co-IMF1 and Co-IMF2 by vector-input GRU
co_imf1_predict_raw, co_imf1_gru_evaluation, co_imf1_train_loss = GRU_predict(df_integrate_result['co-imf1'])
print('======Co-IMF1 Predicting Finished======\n', co_imf1_gru_evaluation)
time2 = time.time()
print('Running time: %.3fs'%(time2-time1))
co_imf1_predict_raw.plot(title='Co-IMF1 Predicting Result')
co_imf1_train_loss.plot(title='Co-IMF1 Training Loss')
co_imf2_predict_raw, co_imf2_gru_evaluation, co_imf2_train_loss = GRU_predict(df_integrate_result['co-imf2'])
print('======Co-IMF2 Predicting Finished======\n', co_imf2_gru_evaluation)
time3 = time.time()
print('Running time: %.3fs'%(time3-time2))
co_imf2_predict_raw.plot(title='Co-IMF2 Predicting Result')
co_imf2_train_loss.plot(title='Co-IMF2 Training Loss')


🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。


[1]金子皓,向玲,李林春,胡爱军.基于完备集合经验模态分解的SE-BiGRU超短期风速预测[J].电力科学与工程,2023,39(01):9-16.


[2]蒋富康,陆金桂,刘明昊,丰宇.基于CEEMDAN和CNN-LSTM的滚动轴承故障诊断[J].电子测量技术,2023,46(05):72-77.DOI:10.19651/j.cnki.emt.2210775.


🌈4 Python代码实现


相关文章
|
7天前
|
监控 算法 安全
内网桌面监控软件深度解析:基于 Python 实现的 K-Means 算法研究
内网桌面监控软件通过实时监测员工操作,保障企业信息安全并提升效率。本文深入探讨K-Means聚类算法在该软件中的应用,解析其原理与实现。K-Means通过迭代更新簇中心,将数据划分为K个簇类,适用于行为分析、异常检测、资源优化及安全威胁识别等场景。文中提供了Python代码示例,展示如何实现K-Means算法,并模拟内网监控数据进行聚类分析。
28 10
|
28天前
|
数据采集 数据可视化 数据挖掘
金融波动率的多模型建模研究:GARCH族与HAR模型的Python实现与对比分析
本文探讨了金融资产波动率建模中的三种主流方法:GARCH、GJR-GARCH和HAR模型,基于SPY的实际交易数据进行实证分析。GARCH模型捕捉波动率聚类特征,GJR-GARCH引入杠杆效应,HAR整合多时间尺度波动率信息。通过Python实现模型估计与性能比较,展示了各模型在风险管理、衍生品定价等领域的应用优势。
251 66
金融波动率的多模型建模研究:GARCH族与HAR模型的Python实现与对比分析
|
3月前
|
机器学习/深度学习 数据采集 算法
深入调查研究Scikit-learn
【11月更文挑战第11天】
75 1
|
4月前
|
安全 网络安全 文件存储
思科设备巡检命令Python脚本大集合
【10月更文挑战第18天】
145 1
思科设备巡检命令Python脚本大集合
|
4月前
|
存储 自然语言处理 数据处理
使用Python计算多个集合的交集详解
使用Python计算多个集合的交集详解
131 1
|
4月前
|
数据可视化 测试技术 Linux
基于Python后端构建多种不同的系统终端界面研究
【10月更文挑战第10天】本研究探讨了利用 Python 后端技术构建多样化系统终端界面的方法,涵盖命令行界面(CLI)、图形用户界面(GUI)及 Web 界面。通过分析各种界面的特点、适用场景及关键技术,展示了如何使用 Python 标准库和第三方库(如 `argparse`、`click`、`Tkinter` 和 `PyQt`)实现高效、灵活的界面设计。旨在提升用户体验并满足不同应用场景的需求。
|
4月前
|
存储 缓存 API
解密 Python 集合的实现原理
解密 Python 集合的实现原理
75 11
|
5月前
|
存储 API 索引
Python 的集合是怎么实现的?
Python 的集合是怎么实现的?
64 9
|
5月前
|
存储 索引 Python
Python常用数据结构——集合
Python常用数据结构——集合
85 3
|
5月前
|
存储 数据处理 Python
Python中的Set集合:高效数据处理的利器
Python中的Set集合:高效数据处理的利器
78 0

热门文章

最新文章

推荐镜像

更多