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]