fwtnppermC {CNLTreg}R Documentation

Forward complex wavelet lifting transform

Description

Performs the complex-valued lifting transform on a signal with grid x and corresponding function values f.

Usage

fwtnppermC(x, f, LocalPred = LinearPred, neighbours = 1, 
intercept = TRUE, closest = FALSE, nkeep = 2, 
mod = sample(1:length(x), (length(x) - nkeep), FALSE))

Arguments

x

A vector of grid values. Can be of any length, not necessarily equally spaced.

f

A vector of function values corresponding to x. Must be of the same length as x.

LocalPred

The type of regression to be performed in the prediction lifting step. Possible options are LinearPred, QuadPred, CubicPred, AdaptPred and AdaptNeigh.

neighbours

The number of neighbours over which the regression is performed at each step. If closest is FALSE, then this in fact denotes the number of neighbours on each side of the removed point.

intercept

Indicates whether or not the regression prediction includes an intercept.

closest

Refers to the configuration of the chosen neighbours. If closest is FALSE, the neighbours will be chosen symmetrically around the removed point. Otherwise, the closest neighbours (in distance) will be chosen.

nkeep

The number of scaling coefficients to be kept in the final representation of the initial signal. This must be at least two.

mod

Vector of length (length(x)-nkeep). This gives the trajectory for the lifting algorithm to follow, i.e. it gives the order of point removal.

Details

Given n points on a line, x, each with a corresponding envf value this function computes the complex-valued lifting transform of the (x,f) data. This is similar in spirit to the real-valued lifting transform in fwtnpperm, except that the algorithm constructs *two* orthogonally linked prediction filters, as in Section 2.2 of Hamilton et al. (2018). A summary of the procedure is as follows:

Step One. Compute "integrals" associated to each point, representing the intervals that each gridpoint x_i spans.

Then for each point index in the lifting trajectory mod,

Step Two(a). The neighbours of the removed point are identified using the specified neighbour configuration. The value of f at the removed point is predicted using the specified regression over the neighbours, unless an adaptive procedure is chosen. In this case, the algorithm chooses the regression which produces the minimal detail coefficient (in magnitude) from a range of regression types (see AdaptPred or AdaptNeigh for more information). In either case, the regression specifies a local filter of the function values over the neighbourhood, L.

Step Two(b). A second filter, M, is then constructed orthogonal to L, such that it has unit norm, see Hamilton et al. (2018) for more details.

The differences between the removed point's f value and the predictions using the two filters are computed, which constitute the real and imaginary parts of the complex-valued wavelet coefficient. This coefficient is then stored

Step Three. The integrals and the scaling function values (neighbouring coeffv values) are updated according to the filter L.

The algorithm continues until all points in mod are removed.

Value

coeff

matrix of detail and scaling coefficients in the wavelet decomposition of the signal; first column: real component, second column: imaginary component.

lengthsremove

vector of interval lengths corresponding to the points removed during the transform (in removelist).

pointsin

indices into X of the scaling coefficients in the wavelet decomposition. These are the indices of the X values which remain after all points in removelist have been predicted and removed. This has length nkeep.

removelist

a vector of indices into X of the lifted coefficients during the transform (in the order of removal).

gamlist

a list of all the prediction weights used at each step of the transform; each list entry is a matrix of two rows, corresponding to the filters L and M.

alphalist

a list of the update coefficients used in the update step of the decomposition.

W

The complex-valued lifting matrix associated to the transform.

reo

An index into the observations indicating a reordering to give 1:n. This is reported for convenience for other functions, and is not intended for use by the user.

coeffv

vector of complex-valued detail and scaling coefficients in the wavelet decomposition of the signal; contains the same information as coeff.

Ialpha

Vector of "irregularity degree" measures corresponding to each lifting step of the transform. Note that this is returned for convenience in other functions, and is not intended for use by the user.

Author(s)

Matt Nunes, Marina Knight

References

Hamilton, J., Knight, Nunes, M. A. and Fryzlewicz (2018) Complex-valued wavelet lifting and applications. Technometrics, 69 (1), 48-60, DOI 10.1080/00401706.2017.1281846.

For related literature on the lifting methodology adopted in the technique, see

Nunes, M. A., Knight, M. I and Nason, G. P. (2006) Adaptive lifting for nonparametric regression. Stat. Comput. 16 (2), 143–159.

Knight, M. I. and Nason, G. P. (2009) A 'nondecimated' wavelet transform. Stat. Comput. 19 (1), 1–16.

See Also

AdaptNeigh, AdaptPred, CubicPred, denoisepermC, denoisepermCh, LinearPred, orthpredfilters, QuadPred

Examples

    library(adlift)

    # construct an (irregular) observation grid
     x<-runif(256)

     #construct a signal
     f<-make.signal2("blocks",x=x)

     fwd<-fwtnppermC(x,f,LocalPred=AdaptPred,neigh=1,closest=FALSE)

     # have a look at the complex-valued coefficients and the removal trajectory:

     fwd$coeffv

     fwd$removelist	

[Package CNLTreg version 0.1-2 Index]