threshold.mwd | R Documentation |
Applies hard or soft thresholding to multiple wavelet decomposition object mwd.object.
## S3 method for class 'mwd'
threshold(mwd, levels = 3:(nlevelsWT(mwd) - 1), type = "hard",
policy = "universal", boundary = FALSE, verbose = FALSE,
return.threshold = FALSE, threshold = 0, covtol = 1e-09,
robust = TRUE, return.chisq = FALSE,
bivariate = TRUE, ...)
mwd |
The multiple wavelet decomposition object that you wish to threshold. |
levels |
a vector of integers which determines which scale levels are thresholded in the decomposition. Each integer in the vector must refer to a valid level in the |
type |
determines the type of thresholding this can be " |
policy |
selects the technique by which the threshold value is selected. Each policy corresponds to a method in the literature. At present the different policies are " |
boundary |
If this argument is |
verbose |
if |
return.threshold |
If this option is |
threshold |
This argument conveys the user supplied threshold. If the |
covtol |
The tolerance for what constitutes a singular variance matrix. If smallest eigenvalue of the estimated variance matrix is less than |
robust |
If TRUE the variance matrix at each level is estimated using a robust method (mad) otherwise it is estimated using var(). |
return.chisq |
If TRUE the vector of values to be thresholded is returned. These values are a quadratic form of each coefficient vector, and under normal assumptions the noise component will have a chi-squared distribution (see Downie and Silverman 1996). |
bivariate |
this line is in construction |
... |
any other arguments |
Thresholding modifies the coefficients within a mwd.object
. The modification can be performed either with a "hard" or "soft" thresholding selected by the type argument.
Unless policy="single", the following method is applied. The columns of
mwd$D
are taken as coefficient vectors D_{j,k}
.
From these
\chi^2_{j,k}=D_{j,k} \cdot V_j^{-1}
.
D_{j,k}
is computed, where
V_j^{-1}
is the inverse of the estimated variance of the coefficient vectors in that level (j).
\chi^2_{j,k}
is a positive scalar which is to be thresholded in a
similar manner to univariate hard or soft thresholding.
To obtain the new values of D_{j,k}
shrink the vector by the
same proportion as was the corresponding \chi^2_{j,k}
term.
i
An object of class mwd
. This object contains the thresholded wavelet coefficients. Note that if the return.threshold
option is set to TRUE then the threshold values will be returned, or if return.chisq
the vector of values to be thresholded will be returned, rather than the thresholded object.
Version 3.9.6 (Although Copyright Tim Downie 1995-6).
POLICIES
If policy="single"
then univariate thresholding is applied to each element of D as in (Strela et al 1999).
The universal
threshold is computed using 2log(n) (See Downie & Silverman 1996) where n is the number of coefficient vectors to be thresholded.
The "manual
" policy is simple. You supply a threshold
value to the threshold argument and hard or soft thresholding is performed using that value
Tim Downie
accessC.mwd
, accessD.mwd
, draw.mwd
, mfirst.last
, mfilter.select
, mwd
, mwd.object
, mwr
, plot.mwd
, print.mwd
, putC.mwd
, putD.mwd
, summary.mwd
, wd
, wr.mwd
.
#
# Generate some test data
#
test.data <- example.1()$y
## Not run: ts.plot(test.data)
#
# Generate some noisy data
#
ynoise <- test.data + rnorm(512, sd=0.1)
##
# Plot it
#
## Not run: ts.plot(ynoise)
#
# Now take the discrete multiple wavelet transform
# N.b. I have no idea if the default wavelets here are appropriate for
# this particular examples.
#
ynmwd <- mwd(ynoise)
## Not run: plot(ynwd)
# [1] 2.020681 2.020681 2.020681 2.020681 2.020681 2.020681 2.020681
#
# Now do thresholding. We'll use the default arguments.
#
ynmwdT <- threshold(ynmwd)
#
# And let's plot it
#
## Not run: plot(ynmwdT)
#
# Let us now see what the actual estimate looks like
#
ymwr <- wr(ynmwdT)
#
# Here's the estimate...
#
## Not run: ts.plot(ywr1)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.