Skip to contents

\(\hat f_U(u) = (2\pi)^{-1}\int e^{-i\tau u} \psi_W(\tau)/\psi_\epsilon(\tau)\,d\tau\), recovering the density of U from \(W = U + \epsilon\). Dividing by the error characteristic function is the whole idea and the whole difficulty: for a normal error \(\psi_\epsilon\) decays like \(e^{-\sigma^2\tau^2/2}\), so the ratio explodes and the rate collapses to a logarithmic \((\log n)^{-s}\). A damping kernel is mandatory, not optional. Mirrors morie.fn.hrzdeconv.

Usage

morie_deconvolution(W, sigma_eps, grid = NULL, h = NULL, error = "normal")

Arguments

W

numeric contaminated observations.

sigma_eps

positive error scale.

grid

evaluation points; a spanning grid when NULL.

h

damping bandwidth; the criterion above when NULL.

error

"normal" or "laplace".

Value

list: grid, density, bandwidth, regime, rate_note, n, method.

Details

The default bandwidth comes from the noise-amplification criterion rather than a generic rate: the estimator variance carries \(\int |\hat K/\psi_\epsilon|^2\), so the cut-off \(T = 1/h\) may only grow while that integral over n stays bounded. Normal error gives \(h = \sigma/\sqrt{\log n}\); Laplace error gives \(h = n^{-1/5}\).

References

Horowitz, Ch. 5, Sec. 5.1.

Examples

set.seed(1)
w <- rnorm(200) + rnorm(200) * 0.4
morie_deconvolution(w, 0.4, grid = 0)$regime
#> [1] "supersmooth"