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

在线体验各类最新模型,更有模型 免费Token 额度领取!
立即体验
简介: 【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代码实现


相关文章
|
9月前
|
测试技术 Python
Python装饰器:为你的代码施展“魔法”
Python装饰器:为你的代码施展“魔法”
392 100
|
9月前
|
开发者 Python
Python列表推导式:一行代码的艺术与力量
Python列表推导式:一行代码的艺术与力量
606 95
|
10月前
|
开发者 Python
Python神技:用列表推导式让你的代码更优雅
Python神技:用列表推导式让你的代码更优雅
696 99
|
9月前
|
缓存 Python
Python装饰器:为你的代码施展“魔法
Python装饰器:为你的代码施展“魔法
518 88
|
9月前
|
监控 机器人 编译器
如何将python代码打包成exe文件---PyInstaller打包之神
PyInstaller可将Python程序打包为独立可执行文件,无需用户安装Python环境。它自动分析代码依赖,整合解释器、库及资源,支持一键生成exe,方便分发。使用pip安装后,通过简单命令即可完成打包,适合各类项目部署。
1510 68
|
9月前
|
数据可视化 大数据 关系型数据库
基于python大数据技术的医疗数据分析与研究
在数字化时代,医疗数据呈爆炸式增长,涵盖患者信息、检查指标、生活方式等。大数据技术助力疾病预测、资源优化与智慧医疗发展,结合Python、MySQL与B/S架构,推动医疗系统高效实现。
|
9月前
|
存储 Java 索引
(Python基础)新时代语言!一起学习Python吧!(二):字符编码由来;Python字符串、字符串格式化;list集合和tuple元组区别
字符编码 我们要清楚,计算机最开始的表达都是由二进制而来 我们要想通过二进制来表示我们熟知的字符看看以下的变化 例如: 1 的二进制编码为 0000 0001 我们通过A这个字符,让其在计算机内部存储(现如今,A 字符在地址通常表示为65) 现在拿A举例: 在计算机内部 A字符,它本身表示为 65这个数,在计算机底层会转为二进制码 也意味着A字符在底层表示为 1000001 通过这样的字符表示进行转换,逐步发展为拥有127个字符的编码存储到计算机中,这个编码表也被称为ASCII编码。 但随时代变迁,ASCII编码逐渐暴露短板,全球有上百种语言,光是ASCII编码并不能够满足需求
369 4
|
10月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
1627 102
|
10月前
|
数据采集 机器学习/深度学习 算法框架/工具
Python:现代编程的瑞士军刀
Python:现代编程的瑞士军刀
503 104
|
10月前
|
人工智能 自然语言处理 算法框架/工具
Python:现代编程的首选语言
Python:现代编程的首选语言
392 103

推荐镜像

更多