irregwd
class object.## S3 method for class 'irregwd':
threshold(irregwd, levels = 3:(nlevelsWT(wd) - 1), type = "hard",
policy = "universal", by.level = FALSE, value = 0, dev = var, boundary = FALSE, verbose = FALSE, return.threshold = FALSE,
force.sure=FALSE, cvtol = 0.01, Q = 0.05, alpha=0.05, ...)
irregwd
object supplied. This is usually any inte"universal"
, "LSuniversal"
, "sure"
, "cv"
, FALSE
then a global threshold is computed on and applied to all scale levels defined in levels. If TRUE
a threshold is computed and applied separately to each scale level.policy="manual"
then value is the actual threshold value.var()
function. A poTRUE
then the boundary bookeeping values are included for thresholding, otherwise they are not.TRUE
then the function prints out informative messages as it progresses.TRUE
then the actual value of the threshold is returned. If this option is FALSE
then a thresholded version of the input is returned.TRUE
then the SURE
threshold is computed on a vector even when that vector is very sparse. If FALSE
then the normal SUREshrink procedure is followed whereby the universal threshold is used for sparse vectors of co"cv"
policy."fdr"
policy."op1"
and "op2"
policies.irregwd
. 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 rather than the thresholded object.irregwd
object and returns the coefficients in a modified irregwd
object. The thresholding step is an essential component of denoising. The basic idea of thresholding is very simple. In a signal plus noise model the wavelet transform of signal is very sparse, the wavelet transform of noise is not (in particular, if the noise is iid Gaussian then so if the noise contained in the wavelet coefficients). Thus since the signal gets concentrated in the wavelet coefficients and the noise remains "spread" out it is "easy" to separate the signal from noise by keeping large coefficients (which correspond to signal) and delete the small ones (which correspond to noise). However, one has to have some idea of the noise level (computed using the dev option in threshold functions). If the noise level is very large then it is possible, as usual, that no signal "sticks up" above the noise.
For thresholding of an irregularly spaced wavelet decomposition things are a little different. The original data are irregularly spaced (i.e. [x,y] where the $x_i$ are irregularly spaced) and even if one assumes iid error on the original data once this has been interpolated to a grid by the makegrid
function the interpolated data values are not independent. The irregwd
function computes the wavelet transform of the interpolated data but also computes the variance of each coefficient using a fast transform. This variance information is stored in the c component of irregwd
objects and this function, threshold.irregwd
, makes use of this variance information when thresholding each coefficient. For more details see Kovac and Silverman, 2000
Some issues to watch for:
[object Object],[object Object]
makegrid
, irregwd
, irregwd
object, accessc
,#
# See main examples of these functions in the help to makegrid
#
Run the code above in your browser using DataLab