Learn R Programming

adlift (version 0.8-2)

fwtnp: fwtnp

Description

Performs the lifting transform on a signal with grid input and corresponding function values f. There is a unique correspondence between the grid values and the function values. Can also cope with length vector input instead of gridpoint vector input.

Usage

fwtnp(input, f, inputtype = "points", nkeep = 2, intercept = TRUE,
 initboundhandl = "reflect", updateboundhandl = "add", neighbours = 1,
 closest = FALSE, LocalPred = LinearPred)

Arguments

input
A vector of grid values. Can be of any length, not necessarily equally spaced.
f
A vector of function values corresponding to input. Must be of the same length as input.
inputtype
A character string, either "points" to specify that a gridpoint vector is inputted, or "lengths", when a vector of interval lengths is used as input.
nkeep
The number of scaling coefficients to be kept in the final representation of the initial signal. This must be at least two.
intercept
Indicates whether or not the regression curve includes an intercept.
initboundhandl
variable specifying how to handle the boundary at the start of the transform. Possible values are "reflect" - the intervals corresponding to the first and last datapoints are taken to have the respective grid values as midpoints; and "
updateboundhandl
variable specifying how the intervals are changed during the update step of the transform (PointsUpdate), when the removed point is on the boundaryy: "reflect" makes the neighbouring inter
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.
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 will be chosen.
LocalPred
The type of regression to be performed. Possible options are LinearPred, QuadPred, CubicPred, AdaptPred and AdaptNeigh.

Value

  • Xdata vector of the grid used in the transform.
  • coeffvector of detail and scaling coefficients in the wavelet decomposition of the signal.
  • origlengthsvector of initial interval lengths corresponding to the gridpoints.
  • lengthsvector of (updated) interval lengths at the end of the transform. This is of length nkeep.
  • lengthsremovevector of interval lengths corresponding to the points removed during the transform (in removelist).
  • pointsinindices 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.
  • removelista vector of indices into X of the lifted coefficients during the transform (in the order of removal).
  • neighbrsa list of indices into X. Each list entry gives the indices of the neighbours of the removed point used at that particular step of the transform.
  • neighboursthe user-specified number of neighbours used in the prediction step of the transform.
  • gamlista list of all the prediction weights used at each step of the transform.
  • alphalista list of the update coefficients used in the update step of the decomposition.
  • schemehista vector of character strings indicating the type of regression used at each step of the transform.
  • interhista boolean vector indicating whether or not an intercept was used in the regression curve at each step.
  • clolista boolean vector showing whether or not the neighbours were symmetrical (FALSE) about the removed point during the transform. This is NULL except when LocalPred=AdaptNeigh.

Details

Given $n$ points on a line, input, each with a corresponding env{f} value this algorithm computes a lifting transform of the (input,f) data. If lengths are inputted (inputtype="lengths"), then the gridpoints are taken to be the left endpoints of the intervals defined by the lengths inputted. Step One. Order the grid values so that corresponding intervals can be constructed. Step Two. Compute "integrals" for each point. For each point its integral is the length of the interval associated to the gridpoint. Step Three. Identify the point to remove as that with the smallest integral. Generally, we remove points in order of smallest to largest integral. The integrals of neighbours of removed points change at each step. Step Four(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 curve over the neighbours, unless an adaptive procedure is chosen. In this case, the algorithm adjusts itself. The difference between the removed point's f value and the prediction is computed: this is the wavelet coefficient for the removed point. The difference replaces the function value in the vector coeff at the removed point's location. In this way wavelet coefficients gradually overwrite (scaling) function values in coeff. Step Four(b). The integrals and the scaling function values (other coeff values) of neighbours of the removed point are updated. The values of the rest of the scaling coefficients are unaffected. Step Five. Return to step 3 but in the identification of a point to remove the updated integrals are used. The algorithm continues until as many points as desired are removed.

See Also

AdaptNeigh, AdaptPred, CubicPred, fwtnpmp, invtnp, LinearPred, QuadPred

Examples

Run this code
#
# Generate some one-dimensional data: 100 observations.
#
input <- runif(100)
f <- input^2 - 3*input
#
# Compute fwtnp function on this data
#
out <- fwtnp(input,f,LocalPred=AdaptPred,neighbours=2,closest=TRUE)
#
# That's it.
#

Run the code above in your browser using DataLab