全部版块 我的主页
论坛 提问 悬赏 求职 新闻 读书 功能一区 经管百科 爱问频道
901 2
2022-04-01
求问,R中做小波去噪和小波重构用哪个包比较好啊?wavelets包中的idwt()函数可以重构,但是不能设置参数,在重构之前我想对小波系数进行去噪,应该怎么做呢?就是小波阈值去噪有没有什么包可以调用?谢谢大佬回复!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2022-5-4 19:02:53
小波系数去噪可以用wavethresh包,里面有去噪的函数,不过这个包中的小波分解不能设置分解层数
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2022-5-4 19:04:10
我自己根据无偏风险估计阈值编了个函数,可以进行小波系数去噪
for (j in 1:n) {
  for (i in names(DWT[[j]]@W)[1:length(names(DWT[[j]]@W))]) {
    DWTi <- DWT[[j]]@W[[i]]
    ni <- length(DWTi)
    factor <- median(abs(DWTi))/0.6745
    xi <- DWT[[j]]@W[[i]]/factor
    sxi <- sort(abs(xi))^2
    s <- cumsum(sxi) + ((ni - 1):0) * sxi
    risk <- (ni - (2 * (1:ni)) + s)/ni
    surethresh <- sqrt(sxi[order(risk)[1]])
    ###软阈值
    DWT[[j]]@W[[i]]<-sign(DWTi)*(abs(DWTi)-factor*surethresh)*(abs(xi) > surethresh)
   
  }
}
你可以参考一下
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群