fnhat_SS2011 function

(Non-robust) Kernel Density Estimator of Srihera & Stute (2011)

(Non-robust) Kernel Density Estimator of Srihera & Stute (2011)

Implementation of eq. (1.6) in Srihera & Stute (2011) for given and fixed scalars σ\sigma and θ\theta (and, of course, for fixed and given location(s) in xx, data (X1,,Xn)(X_1, \ldots, X_n), a kernel function KK and a bandwidth hh).

fnhat_SS2011(x, data, K, h, theta, sigma)

Arguments

  • x: Numeric vector with the location(s) at which the density estimate is to be computed.
  • data: Numeric vector (X1,,Xn)(X_1, \ldots, X_n) of the data from which the estimate is to be computed. Missing or infinite values are not allowed and entail an error.
  • K: A kernel function to be used for the estimator.
  • h: Numeric scalar for bandwidth hh.
  • theta: Numeric scalar for value of location parameter θ\theta.
  • sigma: Numeric scalar for value of scale parameter σ\sigma.

Returns

An object with class "density" whose underlying structure is a list containing the following components (as described in density), so that the print and plot methods for density-objects are immediately available):

xthe n coordinates of the points where the density is estimated.
ythe estimated density values from eq. (1.6) in Srihera & Stute (2011).
bwthe bandwidth used.
nthe sample size. (Recall: missing or infinite values are not allowed here.)
callthe call which produced the result.
data.namethe deparsed name of the x argument.
has.nalogical, for compatibility (always FALSE).
Additionally:
thetaas in Arguments.
sigmaas in Arguments.

Details

The formula upon which the computational version implemented here is based is given in eq. (15.3) of Eichner (2017). This function does mainly only a simple preparatory computation and then calls compute_fnhat

which does the actual work.

Examples

require(stats); require(grDevices); require(datasets) # Simulated N(0,1)-data and one sigma-value set.seed(2017); n <- 100; d <- rnorm(n) xgrid <- seq(-4, 4, by = 0.1) (fit <- fnhat_SS2011(x = xgrid, data = d, K = dnorm, h = n^(-1/5), theta = mean(d), sigma = 1)) plot(fit, ylim = range(0, dnorm(0), fit$y), col = "blue") curve(dnorm, add = TRUE); rug(d, col = "red") legend("topleft", lty = 1, col = c("blue", "black", "red"), legend = expression(tilde(f)[n], phi, "data")) # The same data, but several sigma-values sigmas <- seq(1, 4, length = 4) (fit <- lapply(sigmas, function(sig) fnhat_SS2011(x = xgrid, data = d, K = dnorm, h = n^(-1/5), theta = mean(d), sigma = sig))) ymat <- sapply(fit, "[[", "y") matplot(x = xgrid, y = ymat, type = "l", lty = 1, col = 3:6, ylim = range(0, dnorm(0), ymat), main = "", xlab = "", ylab = "Density") curve(dnorm, add = TRUE); rug(d, col = "red") legend("topleft", lty = 1, col = c("black", "red", NA), bty = "n", legend = expression(phi, "data", tilde(f)[n]~"in other colors")) # Old-Faithful-eruptions-data and several sigma-values d <- faithful$eruptions; n <- length(d); er <- extendrange(d) xgrid <- seq(er[1], er[2], by = 0.1); sigmas <- seq(1, 4, length = 4) (fit <- lapply(sigmas, function(sig) fnhat_SS2011(x = xgrid, data = d, K = dnorm, h = n^(-1/5), theta = mean(d), sigma = sig))) ymat <- sapply(fit, "[[", "y"); dfit <- density(d, bw = "sj") plot(dfit, ylim = range(0, dfit$y, ymat), main = "", xlab = "") rug(d, col = "red") matlines(x = xgrid, y = ymat, lty = 1, col = 3:6) legend("top", lty = 1, col = c("black", "red", NA), bty = "n", legend = expression("R's est.", "data", tilde(f)[n]~"in other colors"))

References

Srihera & Stute (2011) and Eichner (2017): see kader .

See Also

fnhat_ES2013.

  • Maintainer: Gerrit Eichner
  • License: GPL-3
  • Last published: 2017-10-04