wtthresh {treethresh}R Documentation

Compute optimal thresholding partition for a sequence of linked arrays

Description

This function carries out the joint thresholding algorithm described in section 5 of Evers and Heaton (2009). Though the function, in principle, can work any sequence of arrays, it is designed to work with blocks of wavelet coefficients. These can be extracted from an wd or imwd object using the function extract.coefficients.

Usage

wtthresh(data, beta, weights, control=list())

Arguments

data A list containing the arrays to be thresholded. The elements of the array have to be arrays of the same number of dimensions. The arrays can be of different sizes, however the ratio of their side lengths has to be the same. Can be a list of wavelet coefficients extracted using extract.coefficients. The data is assumed to have noise of unit variance, thus the data needs to be rescaled a priori (e.g. in the case of wavelet coefficients using function estimate.sdev).
beta Instead of using the original data, one can call wtthresh using the beta_i instead of the observed data. These can be computed using beta.laplace.
weights The different elements of the list can be weighted. This allows for giving greater weight to certain arrays. By default, no weights are used.
control A list that allows the user to tweak the behaviour of wtthresh. It can contain the following elements:
max.depth
The maximum depth of the tree. Defaults to 10.
minimum.width
The minimum width of a region of the partitioning of the largest array. This setting avoids creating too small regions. Defaults to 4.
min.width.scale.factor
If the minimum width of the largest array of size l_0^d is minimum.width, then the minimum width for an array of the size l^2 is minimum.width * (l / l_0) ^ (d * min.width.scale.factor). Defaults to 1.
min.minimum.width
Do not allow the minimum width of a region to become less than min.minimum.width at any level. Defaults to 1.
minimum.size
The minimum size of a region of the partitioning of the largest array. This setting avoids creating too small regions. Defaults to 8^d, where d is the dimension of the arrays.
min.size.scale.factor
If the minimum size of the largest array of size l_0^d is minimum.size, then the minimum size for an array of the size l^2 is minimum.size * (l / l_0) ^ (min.size.scale.factor). Defaults to 1.
min.minimum.size
Do not allow the minimum size of a region to become less than min.minimum.size at any level. Defaults to 4^d, where d is the dimension of the arrays.

rescale.quantile
In order to correct for different depths of the splits (due to minimum size and width requirements) the score statistic s is rescaled: (s-q(df,alpha)) / q(df,alpha), where q(df,alpha) is the alpha quantile of a chi square distribution with df degrees of freedom, and alpha is set to rescale.quantile. Defaults to 0.5.
lr.signif
If the p-value of the corresponding likelihood ratio test is larger than 1-lr.signif a split will be discarded. Defaults to 0.5.
absolute.improvement
The minimum absolute improvement of the above criterion necessary such that a split is retained. Defaults to -Inf, i.e. deactivated.
relative.improvement
The minimum relative improvement of the above criterion necessary such that a split is retained. Defaults to -Inf, i.e. deactivated.
a
The parameter a of the Laplace distribution gamma(mu) = const * exp(-a*mu) corresponding to the signal. Defaults to 0.5.
beta.max
The maximum value of beta. Defaults to 1e5.
max.iter
The maximum number of iterations when computing the estimate of the weight w in a certain region. Defaults to 30.
tolerance.grad
The estimate of the weight w in a certain region is considered having converged, if the gradient of the likelihood is less than tolerance.grad. Defaults to 1e-8.
tolerance
The estimate of the weight w in a certain region is considered having converged, if the estimates of the weight w change less than tolerance. Defaults to 1e-6.

Value

wtthresh returns an object of the class c("wtthresh"), which is a list containing the following elements:

splits A table describing the structure of the fitted tree together with the local loglikelihoods required for the pruning.
details A table giving the details about where the split was carried out for each of the arrays (i.e. for each block of coefficients).
w The weights w of the mixture component corresponding to the signal for each region as described by the corresponding row of splits.
t The corresponding hard threshold t for each region as described by the corresponding row of splits.
membership A list of the same length as data indicating to which region each entry of the arrays of data belongs.
beta The values of beta for each coefficient (as a list).
data The data used (as a list).
weights The weights used for each array of observations/coefficients.
control The control list of tuning options used. (see argument control).

Note

For an example of the use of wtthresh, see coefficients.

References

Evers, L. and Heaton T. (2009) Locally adaptive tree-based thresholding.


[Package treethresh version 0.1-3 Index]