fwtnp                 package:adlift                 R Documentation

_f_w_t_n_p

_D_e_s_c_r_i_p_t_i_o_n:

     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.

_U_s_a_g_e:

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

_A_r_g_u_m_e_n_t_s:

   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 '"stop"' - the first and last intervals have the first
          and last grid values (respectively) as outer endpoints.

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 intervals symmetric about the corresponding
          gridpoints; '"stop"' has the neighbouring intervals ending at
          the gridpoints; '"add"' has the neighbouring intervals having
          outer endpoints where the boundary intervals did.

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'.

_D_e_t_a_i_l_s:

     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.

_V_a_l_u_e:

       X: data vector of the grid used in the transform.

   coeff: vector of detail and scaling coefficients in the wavelet
          decomposition of the signal.

origlengths: vector of initial interval lengths corresponding to the
          gridpoints.

 lengths: vector of (updated) interval lengths at the end of the
          transform. This is of length 'nkeep'.

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).

neighbrs: a 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.

neighbours: the user-specified number of neighbours used in the
          prediction step of the transform.

 gamlist: a list of all the prediction weights used at each step of the
          transform.

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

schemehist: a vector of character strings indicating the type of
          regression used at each step of the transform.

interhist: a boolean vector indicating whether or not an intercept was
          used in the regression curve at each step.

 clolist: a 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'.

_A_u_t_h_o_r(_s):

     Matt Nunes (matt.nunes@bristol.ac.uk), Marina.Popa
     (Marina.Popa@bristol.ac.uk)

_S_e_e _A_l_s_o:

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

_E_x_a_m_p_l_e_s:

     #
     # 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.
     #

