threshold.mwd           package:wavethresh           R Documentation

_U_s_e _t_h_r_e_s_h_o_l_d _o_n _a_n _m_w_d _o_b_j_e_c_t.

_D_e_s_c_r_i_p_t_i_o_n:

     Applies hard or soft thresholding to multiple wavelet
     decomposition object mwd.object.

_U_s_a_g_e:

     threshold.mwd(mwd, levels = 3:(mwd$nlevels - 1), type = "hard",
             policy = "universal", boundary = FALSE, verbose = FALSE,
             return.threshold = FALSE, threshold = 0, covtol = 1e-09, 
             robust = TRUE, return.chisq = FALSE,
             bivariate = TRUE, ...)

_A_r_g_u_m_e_n_t_s:

     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 'mwd' object supplied.
          This is usually any integer from 0 to 'nlevels'(wd)-1
          inclusive. Only the levels in this vector contribute to the
          computation of the threshold and its application. 

    type: determines the type of thresholding this can be "'hard'" or
          "'soft'".

  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
          "'universal'", "'manual'", "'single'". The policies are
          described in detail below. 

boundary: If this argument is 'TRUE' then the boundary bookeeping
          values are included for thresholding, otherwise they are not. 

 verbose: if 'TRUE' then the function prints out informative messages
          as it progresses. 

return.threshold: If this option is 'TRUE' then the actual _value_ of
          the threshold is returned. If this option is FALSE then a
          thresholded version of the input is returned.

threshold: This argument conveys the user supplied threshold. If the
          'policy="manual"' then 'value' is the actual threshold value.
          Any other 'policy' means that the 'threshold' value is
          ignored.

  covtol: The tolerance for what constitutes a singular variance
          matrix. If smallest eigenvalue of the estimated variance
          matrix is less than 'covtol' then it is assumed to be
          singular and no thresholding is done at that level. Note: do
          not confuse 'covtol' with 'cvtol' an argument in
          'threshold.wd'.

  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

_D_e_t_a_i_l_s:

     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 chisq_j,k=D_j,k . 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). Chisq_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 chisq_j,k term.

_V_a_l_u_e:

     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.

_R_E_L_E_A_S_E:

     Version 3.9.6 (Although Copyright Tim Downie 1995-6).

_S_e_e _A_l_s_o:

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

_E_x_a_m_p_l_e_s:

     #
     # Generate some test data
     #
     #test.data <- example.1()$y 
     #ts.plot(test.data)
     #
     # Generate some noisy data
     #
     #ynoise <- test.data + rnorm(512, sd=0.1)
     ##
     # Plot it
     #
     #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 example. 
     #
     #ynmwd <- mwd(ynoise)
     #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
     #
     #plot(ynmwdT)
     #
     # Let us now see what the actual estimate looks like
     #
     #ymwr <- wr(ynmwdT)
     #
     # Here's the estimate... 
     #
     #ts.plot(ywr1)

