实现效果
左图为原始数据,右图为小波分析加显著性检测结果
所需包: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")