artificial.levels {liftLRD} R Documentation

artificial.levels

Description

This function splits the coefficients into levels according to either (i) increasing quantiles of the removed interval lengths or (ii) dyadic splitting relative to a fixed lowest scale

Usage

artificial.levels(y, rem, time, tail = TRUE, type = 1)

Arguments

 y a vector of the removed interval lengths (in the order of removelist). rem vector of indices of the removed points (from the output of the forward transform). time vector of observed times for the decomposed signal. tail a boolean variable indicating whether coarse levels with a small number of detail coefficients (less than 10 coefficients) should be combined. type an integer indicating which type of artificial levels to compute. If type==1, the "usual" artificial levels using quantiles of the scales; otherwise the levels are computed using quantiles being a multiplicative factor of a fixed number. See details for more information.

Details

The function computes the so-called artificial levels of a set of removed integrals and corresponding detail coefficients, to mimic the dyadic level splitting in a classical wavelet framework. Details on the "usual" quantile-based splitting can be found in artlev. If type==2 or type==3, the artificial levels are defined by intervals of the form [a0 2^j,a0 2^(j-1) ) as described in Jansen et al. (2009), with a0 = 0.5 for type==2 and set to the minimum sampling interval for type==3. The amalgamation of coarser artificial levels prevents variable energies at coarser scales affecting the predicted relationship between the wavelet scales and their corresponding energies.

Value

 p a list of the grouped indices of removelist (in decreasing group size) indicating thresholding groups.

Author(s)

Matt Nunes, Marina Knight

References

Jansen, M, Nason, G. P. and Silverman, B. W. (2009) Multiscale methods for data on graphs and irregular multidimensional situations. J. Roy. Stat. Soc. B 71, Part 1, 97–125.

Examples

#create test signal data
#
x<-runif(100)
y<-make.signal2("blocks",x=x)
#
#perform forward transform...
#