r语言实现小波分析

实现效果

 

左图为原始数据,右图为小波分析加显著性检测结果

所需包:WaveletComp

一、安装并加载WaveletComp

install.packages('WaveletComp')

加载:

library('WaveletComp')

 

二、创造数据并执行小波分析及模拟

series.length = 6*128*24
x1 = periodic.series(start.period = 1*24, length = series.length)
x2 = periodic.series(start.period = 8*24, length = series.length)
x3 = periodic.series(start.period = 32*24, length = series.length)
x4 = periodic.series(start.period = 128*24, length = series.length)
x = x1 + x2 + x3 + x4

plot(ts(x, start=0, frequency=24), type="l", 
  xlab="time (days)", 
  ylab="hourly data", main="a series of hourly data with periods of 1, 8, 32, and 128 days")
     
my.data = data.frame(x=x)

my.wt = analyze.wavelet(my.data, "x", 
                        loess.span=0, 
                        dt=1/24, dj=1/20, 
                        lowerPeriod=1/4, 
                        make.pval=T, n.sim=10)

## Plot of wavelet power spectrum (with equidistant color breakpoints):  
wt.image(my.wt, color.key="interval", legend.params=list(lab="wavelet power levels"))
## Plot of average wavelet power:
wt.avg(my.wt, siglvl=0.05, sigcol="red")

 

 

  • 3
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
时间序列的小波分析 时间序列(Time Series)是地学研究中经常遇到的问题。在时间序列研究中,时域和频域是常用的两种基本形式。其中,时域分析具有时间定位能力,但无法得到关于时间序列变化的更多信息;频域分析(如Fourier变换)虽具有准确的频率定位功能,但仅适合平稳时间序列分析。然而,地学中许多现象(如河川径流、地震波、暴雨、洪水等)随时间的变化往往受到多种因素的综合影响,大都属于非平稳序列,它们不但具有趋势性、周期性等特征,还存在随机性、突变性以及“多时间尺度”结构,具有多层次演变规律。对于这类非平稳时间序列的研究,通常需要某一频段对应的时间信息,或某一时段的频域信息。显然,时域分析和频域分析对此均无能为力。 20世纪80年代初,由Morlet提出的一种具有时-频多分辨功能的小波分析(Wavelet Analysis)为更好的研究时间序列问题提供了可能,它能清晰的揭示出隐藏在时间序列中的多种变化周期,充分反映系统在不同时间尺度中的变化趋势,并能对系统未来发展趋势进行定性估计。 目前,小波分析理论已在信号处理、图像压缩、模式识别、数值分析和大气科学等众多的非线性科学领域内得到了广泛的应。在时间序列研究中,小波分析主要用于时间序列的消噪和滤波,信息量系数和分形维数的计算,突变点的监测和周期成分的识别以及多时间尺度的分析等。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值