Learn R Programming

WiSEBoot (version 1.4.0)

smoothTimeSeries: Threshold Wavelet Coefficients to Create Smooth Time Series

Description

This function takes a vector of an equally-spaced time series which is of length $T=2^J$ for a positive integer, $J$. The series is thresholded at all wavelet coefficient levels and a matrix is returned which contains each of the wavelet-smoothed series. Optionally, the user may plot none, one, or all of the wavelet smoothed series compared to the original input data.

This function is most useful for visualization of the data and primarily used within the WiSE bootstrap methodology.

Usage

smoothTimeSeries(X, wavFam = "DaubLeAsymm", wavFil = 8, wavBC = "periodic", plotLevels = "none", ...)

Arguments

X
a vector containing an equally-spaced data series. The vector must be of length $T=2^J$ for some integer, $J>3$, contain no missing values, and be numeric. If the data is a single-row or column matrix, it must be input to this function as a vector.
wavFam
wavelet family. Allowed values are "DaubLeAsymm" and "DaubExPhase" -- Daubechies Least Asymmetric and Daubechies Extremal Phase. This is the family used within the wavethresh package.
wavFil
wavelet filter number. Allowed values are integers between 4 and 10 when wavFam="DaubLeAsymm" or integers between 1 and 10 when wavFam="DaubExPhase". These correspond to the number of vanishing moments of the wavelet. This is the filter.number used within the wavethresh package.
wavBC
wavelet boundary condition. Allowed values are "periodic" and "symmetric". This is the bc used within the wavethresh package.
plotLevels
plotting option. Allowed values are "none", "all", or an integer between 0 and $J-1$.
...
additional graphical arguments. See plot, plot.default.

Value

a matrix containing the smooth series. The column names represent the smooth-level of the data series. The first column contains the original input data. The second column contains the wavelet smooth which sets only the finest level of coefficients to 0 (i.e. $J0+1=J-1$). The last column contains the smooth which sets all mother wavelet coefficients to 0 (i.e. $J0+1=0$). Notice, the column names should help indicate the smooth level. The matrix rows contain the ordered observations.

Details

To smooth the series to the $J0=j$ level, all wavelet coefficients at levels $j+1$ and finer are set to 0. The reverse wavelet transformation is performed upon the thresholded coefficients to obtain each smooth data series. This method produces smooth data series for $J0+1$ in {$0, 1, ..., J-1$}. Note, when $J0+1=0$, this indicates that ALL filter wavelet coefficients have been set to 0.

If "all" plots are requested, all possible smooth series are plotted against the original input data within one graphical device. This is recommended for users trying to visualize the level of smoothing needed in their data. Note, $J0+1$ corresponds to the first fine level of coefficients which is set entirely to 0.

The wavelet options are only those allowed within the wavethresh package. Please see the documentation for wavethresh for further explanation of these quantities.

See Also

To obtain data series of the appropriate length: padVector.

Documentation regarding the wavelet transform: wavethresh-package

Examples

Run this code
##Visualize data smoothing on the AIRS 60E data
data(CM20N20S60E)
AIRS <- as.vector(CM20N20S60E[ ,1])
padAIRS <- padVector(AIRS)$xPad
smoothAIRS <- smoothTimeSeries(padAIRS, plotLevels="all")

Run the code above in your browser using DataLab