网站建设公司选择标准,湖南招聘网,计算机应用技术专业,嘉兴网站建设电话#x1f4a5;#x1f4a5;#x1f49e;#x1f49e;欢迎来到本博客❤️❤️#x1f4a5;#x1f4a5; #x1f3c6;博主优势#xff1a;#x1f31e;#x1f31e;#x1f31e;博客内容尽量做到思维缜密#xff0c;逻辑清晰#xff0c;为了方便读者。 ⛳️座右铭欢迎来到本博客❤️❤️ 博主优势博客内容尽量做到思维缜密逻辑清晰为了方便读者。 ⛳️座右铭行百里者半于九十。 本文目录如下 目录 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 decompositionVMD) 算法是由 Dragomiretskiy 等提出的一种自动自适应、非递归的信号处理方法。此算法克服了 EMD 及其改进算法端点效应和模态分量
混叠的问题可以将非稳定性、非线性且复杂度高的信号分解为多个相对平稳的子序列在求解过
程中可自适应匹配最佳中心特征极大程度地迎合高频率复杂信号的分解。
1.3 GRU
循环神经网络Recurrent neural networkRNN是经典的神经网络之一。由于 RNN 隐藏层
在不同样本序列的同一个神经元之间存在记忆传递因此 RNN 在处理时间序列的线性回归问题具有优势即可以将前一刻神经元受到的影响输送到下一次学习中。但是传统的 RNN 在进行反向传播时如果输入数据的序列比较长就会出现梯度消失、梯度爆炸等问题。
长短期记忆网络Long short term memoryLSTM和 GRU 的优势在于其通过“门”结构极大地避免梯度消失问题可以有效地分析长期依赖关系。
LSTM 包含 3 个门结构遗忘门输入门、输出门[21]。GRU 在 LSTM 的基础上减少了单元中门的个数化简了单元复杂度因此其运行效果要好于 LSTM。GRU 是由更新门和重置门构成其内部结构如图 1 所示。 2 运行结果 部分代码
# 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(titleCo-IMF0 Predicting Result)
co_imf0_train_loss.plot(titleCo-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(titleCo-IMF1 Predicting Result)
co_imf1_train_loss.plot(titleCo-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(titleCo-IMF2 Predicting Result)
co_imf2_train_loss.plot(titleCo-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代码实现