EMD(经验模态分解)算法 二

该博客介绍了如何使用经验模态分解(EMD)算法对时间序列数据进行处理,通过调整`boundary`和`stoprule`参数观察不同分解结果。案例中展示了如何将分解的IMF和残差进行可视化,并生成合成图。实验涵盖了多种参数组合,包括`type2`到`type5`的停止规则和不同边界条件,以便理解参数变化对分解波形的影响。
摘要由CSDN通过智能技术生成

上次基本搞懂了怎么用各种滤波器,这次重点看看EMD的算法应用,怎么调参数以产生不同的分解波形。

# EMD经验模态分解
emd <- as.data.frame(emd(xt=diff(load[,"Load"]),boundary="wave",stoprule="type2")$imf)
dat <- cbind(dat,data.frame("EMD"=c(NA,cumsum(rowSums(emd[,3:6])))))
g <- melt(dat[,c("Time","EMD","Load")],id.vars="Time",na.rm=TRUE)
levels(g[,2]) <- c("EMD","Load")
plot.cycles(g,"EMD vs. Load")
emdff <- data.frame("Time"=dat[,"Time"],"EMD.Filter"=dat$EMD)
emdfilter = ggplot(data=emdff, aes(x = Time, y = EMD.Filter )) + geom_hline(yintercept=0,colour="red") + geom_line(aes(color = EMD.Filter)) + labs(y="EMD Filter")
emdfilter

案例中没有提到怎么绘制不同的IMF,下面开始尝试,参考EMD包的手册。

Usage
emd(xt, tt=NULL, tol=sd(xt)*0.1^2, max.sift=20, stoprule=“type1”,
boundary=“periodic”, sm=“none”, smlevels=c(1), spar=NULL, alpha=NULL,check=FALSE, max.imf=10, plot.imf=FALSE, interm=NULL, weight=NULL)

基础用法

emd <- emd(xt=load[,"Load"])

此方法会生成一个三维数组结果

1.imf为分解得到的特征模态函数
2.residue为余下的残差
3.nimf为特征模态函数的个数

可选参数

emd <-emd(xt
EMD经验模态分解算法是一种局部平稳性分解技术,用于将时间序列分解成若干个组成部分,每个部分中包含不同的时间尺度和不同频率的信息,以更好地描述时间序列的特征。该算法能够充分利用时间序列数据的内在特征结构,适用性广泛。在EMD分解实验中,可以通过导入PyEMD工具库,构建信号并提取IMFs(内禀模态函数)和剩余信号。通过绘制IMFs和剩余信号的瞬时频率,可以更好地理解时间序列的特征。\[1\]\[3\]该模型还可以结合机器学习相关算法如神经网络或支持向量回归(SVR)等进行时间序列预测,以提高预测的准确性。\[1\]\[2\] #### 引用[.reference_title] - *1* *2* [基于EMD经验模态分解算法Python程序](https://blog.csdn.net/qq_41728700/article/details/129288324)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Python-经验模态分解EMD)分解及测试用例](https://blog.csdn.net/weixin_41990278/article/details/123127868)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值