fwtnpmp                package:adlift                R Documentation

_f_w_t_n_p_m_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', where f has multiple points,
     that is, more than one function value for (some of) the grid
     values.

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

     fwtnpmp(input, f, inputtype = "points", nkeep = 2, intercept = TRUE,
      initboundhandl = "reflect", updateboundhandl = "add", neighbours = 1,
      closest = FALSE, LocalPredmp = LinearPredmp, mpdet="ave")

_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.

LocalPredmp: The type of regression to be performed. Possible options
          are 'LinearPredmp', 'QuadPredmp', 'CubicPredmp',
          'AdaptPredmp' and 'AdaptNeighmp'.

   mpdet: how the mutiple point detail coefficients are computed. 
          Possible values are "ave", in which the multiple detail
          coefficients produced when performing the multiple
          predictions are averaged, or "min", where the overall minimum
          detail coefficient is taken.

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

     Given n points on a line, 'input', with multiple 'f' values, this
     algorithm computes a lifting transform of the ('input','f') data.

     Step One. Order the grid values so that corresponding intervals
     can be constructed, using the average function value at multiple
     points. 

     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 values of 'f' at
     the removed point are predicted using the specified regression
     curve over the neighbours, unless an adaptive procedure is chosen.
     In this case, the algorithm adjusts itself.  If the removed point
     has multiple point neighbours, the extra points are used in the
     regression.  The difference between the removed point(s) 'f' value
     and the prediction is computed: these are the wavelet coefficient
     for the removed point.  When the removed point is itself a
     multiple point, this will produce multiple detail coefficients at
     that point.  'mpdet' says how the final detail coefficient for
     that point is recorded (either averaged or the minimum).  The
     detail 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' and 'coefflist' 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.

coefflist: list of detail and scaling coefficients.  Should be the same
          as 'coeff', apart from possible multiple points at the
          scaling function values.

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

       g: a list desscribing the group structure (indices) of the
          initial function values.

      mp: a boolean vector of which of the groups are actually multiple
          points.

_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:

     'AdaptNeighmp', 'AdaptPredmp', 'CubicPredmp', 'fwtnp', 'invtnpmp',
     'LinearPredmp', 'QuadPredmp'

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

     #read in multiple point data...

     mcdata()

     out<-fwtnpmp(times,accel,LocalPredmp=AdaptPredmp,neighbours=2)
     out$coeff

     #these are the detail coefficients of the transform.

