Learn R Programming

wavelets (version 0.2-6)

modwt: Maximal Overlap Discrete Wavelet Transform

Description

Computes the maximal overlap discrete wavelet transform coefficients for a univariate or multivariate time series.

Usage

modwt(X, filter="la8", n.levels, boundary="periodic", fast=TRUE)

Arguments

Value

  • Returns an object of class modwt, which is an S4 object with slots
  • WA list with element $i$ comprised of a matrix containing the $i$th level wavelet coefficients.
  • VA list with element $i$ comprised of a matrix containing the $i$th level scaling coefficients.
  • filterA wt.filter object containing information for the filter used in the decomposition. See help(wt.filter) for details.
  • levelAn integer value representing the level of wavelet decomposition.
  • n.boundaryA numeric vector indicating the number of boundary coefficients at each level of the decomposition.
  • boundaryA character string indicating the boundary method used in the decomposition. Valid values are "periodic" or "reflection".
  • seriesThe original time series, X, in matrix format.
  • class.XA character string indicating the class of the input series. Possible values are "ts", "mts", "numeric", "matrix", or "data.frame".
  • attr.XA list containing the attributes information of the original time series, X. This is useful if X is an object of class ts or mts and it is desired to retain relevant time information. If the original time series, X, is a matrix or has no attributes, then attr.X is an empty list.
  • alignedA logical value indicating whether the wavelet and scaling coefficients have been phase shifted so as to be aligned with relevant time information from the original series. The value of this slot is initially FALSE and can only be changed to TRUE via the align function, with the modwt object as input.
  • coeA logical value indicating whether the center of energy method was used in phase alignement of the wavelet and scaling coefficients. By default, this value is FALSE (and will always be FALSE when aligned is FALSE) and will be set to true if the modwt object is phase shifted via the align function and center of energy method.

Details

The maximal overlap discrete wavelet transform is computed via the pyramid algorithm, using pseudocode written by Percival and Walden (2000), p. 178. When boundary="periodic" the resulting wavelet and scaling coefficients are computed without making changes to the original series - the pyramid algorithm treats X as if it is circular. However, when boundary="reflection" a call is made to extend.series, resulting in a new series which is reflected to twice the length of the original series. The wavelet and scaling coefficients are then computed by using a periodic boundary condition on the reflected sereis, resulting in twice as many wavelet and scaling coefficients at each level.

References

Percival, D. B. and A. T. Walden (2000) Wavelet Methods for Time Series Analysis, Cambridge University Press.

See Also

dwt, wt.filter.

Examples

Run this code
# obtain the two series listed in Percival and Walden (2000), page 42
X1 <- c(.2,-.4,-.6,-.5,-.8,-.4,-.9,0,-.2,.1,-.1,.1,.7,.9,0,.3)
X2 <- c(.2,-.4,-.6,-.5,-.8,-.4,-.9,0,-.2,.1,-.1,.1,-.7,.9,0,.3)

# combine them and compute DWT
newX <- cbind(X1,X2)
wt <- dwt(newX, n.level=3, boundary="reflection", fast=FALSE)

Run the code above in your browser using DataLab