Adaptive Threshold Selection Using Principle of Stein's Unbiased Risk Estimate (SURE).
SUREthresh(
wcn,
thresh,
diagWWt,
beta = 2,
sigma,
hatsigma = NA,
policy = "uniform",
keepwc = TRUE
)
A list containing:
A dataframe with calculated SURE and hatSURE values.
Minima of SURE and hatSURE and their corresponding optimal thresholds.
Thresholded wavelet coefficients (if keepwc = TRUE
).
Numeric vector of the noisy spectral graph wavelet coefficients.
Numeric vector of threshold values.
Numeric vector of weights typically derived from the diagonal elements of the wavelet frame matrix.
A numeric value specifying the type of thresholding to be used, for example:
1 for soft thresholding.
2 for James-Stein thresholding.
A numeric value representing the standard deviation (sd) of the noise.
An optional numeric value providing an estimate of the noise standard deviation (default is NA
).
A character string determining the thresholding policy. Valid options include:
"uniform"
for a global threshold applied uniformly across all coefficients.
"dependent"
for threshold values that adaptively depend on the corresponding diagWWt
weights.
A logical value determining if the thresholded wavelet coefficients should be returned (Default is TRUE
).
The SUREthresh
function is a data-driven approach to finding the optimal thresholding value for denoising wavelet coefficients. SURE provides a means to evaluate the denoising quality of a given thresholding function \(h\). The expected risk in terms of the mean squared error (MSE) between the original coefficients \(\mathbf{F}\) and their thresholded counterparts \(h(\widetilde{\mathbf{F}})\), considering a noise variance \(\sigma^2\), is given by:
$$
\mathbb E \left[\|\mathbf{F} - h(\widetilde{\mathbf{F}})\|_2^2 \right] = \mathbb E \left[-n\sigma^2 + \|\widetilde{\mathbf{F}} - h(\widetilde{\mathbf{F}})\|_2^2 + 2\sigma^2 \sum_{i,j = 1}^{n(J+1)} \gamma_{ij} \partial_j h_i(\widetilde{\mathbf{F}}) \right]
$$
Where:
\(\widetilde{\mathbf{F}}\) are the noisy wavelet coefficients.
\(\gamma_{ij}\) represents the elements of the matrix obtained by multiplying the transpose of the wavelet transform matrix \(\mathbf{\Psi}\) with itself, i.e., \(\gamma_{ij} = (\mathbf{\Psi}^\top \mathbf{\Psi})_{ij}\).
\(h_i\) is the \(i^{th}\) component of the thresholding function \(h\).
\(n\) is the sample size.
The thresholding operator, represented by \(h\) in the SUREthresh
function, is obtained using this betathresh
function. The SURE in the transformed domain can be explicitly stated as:
$$
\mathbf{SURE}(h) = -n \sigma^2 + \sum_{i=1}^{n(J+1)} \widetilde{F}_i^2 \left ( 1 \wedge \frac{t_i^\beta}{|\widetilde{F}_i|^\beta} \right )^2
+ 2 \sum_{i=1}^{n(J+1)} \gamma_{ij} \mathbf{1}_{[t_i,\infty)}(|\widetilde{F}_i|) \left [ 1+\frac{(\beta-1) t_i^\beta}{|\widetilde{F}_i|^\beta} \right ].
$$
GVN
and HPFVN
provide naive noise variance estimation.
Donoho, D. L., & Johnstone, I. M. (1995). Adapting to unknown smoothness via wavelet shrinkage. Journal of the american statistical association, 90(432), 1200-1224.
de Loynes, B., Navarro, F., Olivier, B. (2021). Data-driven thresholding in denoising with Spectral Graph Wavelet Transform. Journal of Computational and Applied Mathematics, Vol. 389.
Stein, C. M. (1981). Estimation of the mean of a multivariate normal distribution. The annals of Statistics, 1135-1151.
SURE_MSEthresh
, GVN
, HPFVN
#
# See example in SURE_MSEthresh
#
Run the code above in your browser using DataLab