Learn R Programming

gasper (version 1.1.6)

HPFVN: High Pass Filter Von Neumann Estimator

Description

HPFVN computes graph extension of the Von Neummann variance estimator using finest scale coefficients (as in classical wavelet approaches).

Usage

HPFVN(wcn, evalues, b, filter_func = zetav, filter_params = list())

Arguments

wcn

Numeric vector of noisy wavelet coefficients.

evalues

Numeric vector corresponding to Laplacian spectrum.

b

numeric parameter that control the number of scales.

filter_func

Function used to compute the filter values. By default, it uses the zetav function but other frame filters can be passed.

filter_params

List of additional parameters required by filter_func. Default is an empty list.

Details

The High Pass Filter Von Neumann Estimator (HPFVN) is the graph analog of the classical Von Neumann estimator, focusing on the finest scale coefficients. It leverages the characteristics of the graph signal's wavelet coefficients to estimate the variance: $$\hat \sigma^2 = \frac{\sum_{i=nJ+1}^{n(J+1)} (\mathcal{W} y)^2_i}{\mathrm{Tr}~\psi_J(L)}$$

References

Donoho, D. L., & Johnstone, I. M. (1994). Ideal spatial adaptation by wavelet shrinkage. biometrika, 81(3), 425-455.

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.

von Neumann, J. (1941). Distribution of the ratio of the mean square successive difference to the variance. Ann. Math. Statistics, 35(3), 433--451.

See Also

GVN

Examples

Run this code
if (FALSE) {
A <- grid1$sA
L <- laplacian_mat(A)
x <- grid1$xy[ ,1]
n <- length(x)
val1 <- eigensort(L)
evalues <- val1$evalues
evectors <- val1$evectors
f <- sin(x)
sigma <- 0.1
noise <- rnorm(n, sd = sigma)
y <- f + noise
b <- 2
wcn <- forward_sgwt(y, evalues, evectors, b=b)
sigma^2
HPFVN(wcn, evalues, b)}

Run the code above in your browser using DataLab