R语言小波分析wavelet.docxVIP

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
R语言小波分析wavelet.docx

6. 小波分析 wavelet analysis 自从学习过佛瑞艾尔变形和频率估计,作者对小波分析产生的兴趣,开始阅读一些相关的资料。同时发现正在给自己上数学课的David Walnut 教授是小波分析的泰山北斗。他写的这方面的教课书遍布全球。作者的心中又产生的无比的崇敬与羡慕,所以将当前世界最先进的小波分析技巧写出来与大家分享。 读过《R语言时间系列中文教程》都应该知道如何使用弗瑞艾尔变形估计频率。但必须假设,被估计的频率是始终存在于波动之中的。更经常的状况是在一整个波中某一频率只在这个波中的一小部分出现。使用弗瑞艾尔变形不可能监测到在某一时间点上的频率变化,因为它假设所估计的频率都是自始至终存在的。例如,下面的波中有一个很慢的频率是始终存在的,在中间部分突然出现了频率非常高的新波动,而且很快就消失了。这样的波动需要使用小波分析。 t=1:500 c1 = 2*cos(2*pi*t/150 + .6*pi) plot.ts(c1) t2= ifelse(t200 t300,t,0) c2=1*cos(2*pi*t2/10 + .6*pi) par(new=T) plot.ts(c2) par(new=F) 例如心电图是有来测量人心脏跳动的手段,心脏的各个组成部分不是同时不停的工作的,在一个心房收缩的过程中某些的心房是休息的。所以在心电图上来看,微小的波动是突然出现仅仅持续很短的时间就消失了,像这样的微小波动就要使用小波分析来捕捉。 心电图是医生进行临床诊断的方法之一,通过阅读心电图医生可以推测病人的心脏是正常的还是哪里出现的毛病。接下来我们要介绍使用小波分析计算机智能进行自动诊断,也就是说我们积累了很多人的心电图数据通过小波分析将心电图的特色提取出来。这些特色将告诉我们病人的心脏是正常的还是有状况。通过这些心电图的数据我们可以建立一个数学模型,当有一个新的病人进来我们就可以对他的心电图进行诊断。 这里使用的数据也是网上的数据,有600行,每一行代表着一个波动,虽然这些波动不是心电图的波动,但我们把它全当做心电图的波动来使用,只是为了介绍概念。(A) Downward Trend. (B) Cyclic. (C) Normal. (D) Upward Shift. (E) Upward Trend. (F) Downward Shift. 从上面的贴图可以看到波动分为6种,第一种是向下型,第二种是循环型,第三种是正常型,第四种是向上移动型,第五种是向上型,第六种是向下移动型。 在数据中,1到100 行为第一型,101 到200 行为第二型,以此类推。 # extracting DWT coefficients (with Haar filter) library(wavelets) feature-NULL mydata - read.table(/ml/databases/synthetic_control/synthetic_control.data,header=F, sep=) #mydata - read.table(C://Users//User//Desktop//R Language//Wavelet//synthetic_control.data,header=F, sep=) for (i in 1:nrow(mydata)) { a - t(mydata[i,]) wt - dwt(a, filter=haar, boundary=periodic) feature - rbind(feature, unlist(c(wt@W,wt@V[[wt@level]]))) } feature - as.data.frame(feature) 上面的命令是用来读取数据提取小波分析数据特色的,所使用的程序包叫做WAVELETS。 数据是通过使用read.table 命令直接读取一个因特网的连接。上面的FOR 循环是从1循环到600 ,也就是对于每一行的数据都要执行FOR 循环的命令。其中 最关键的命令为DWT 命令(离散小波),这个命令把每一行波动进行小波分析并且提出其中的特色。其中我们使用的是其中HAAR 小波,BOUNDARY 的设置为PERIODIC 也就是循环的。RBIND 命令只是把所有的特色困绑在一起存储于FEATURE 变量中。最后一句的命令是将生成的FEATURE矩阵转化为DATA.FRAME 对象可做下面的使用。这里是上面一部分代码运行的贴图 # set class labels into categorical values classId - c(rep(1,100), rep(2,100), rep(3,100), rep(4,100), rep(5,100), rep(6

文档评论(0)

专注于电脑软件的下载与安装,各种疑难问题的解决,office办公软件的咨询,文档格式转换,音视频下载等等,欢迎各位咨询!

1亿VIP精品文档

相关文档