fnhat_SS2011 {kader} | R Documentation |
(Non-robust) Kernel Density Estimator of Srihera & Stute (2011)
Description
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 x
, data (X_1, \ldots, X_n)
, a kernel function
K
and a bandwidth h
).
Usage
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 |
K |
A kernel function to be used for the estimator. |
h |
Numeric scalar for bandwidth |
theta |
Numeric scalar for value of location parameter |
sigma |
Numeric scalar for value of scale parameter |
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.
Value
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):
x | the n coordinates of the points where the density is estimated. |
y | the estimated density values from eq. (1.6) in Srihera & Stute (2011). |
bw | the bandwidth used. |
n | the sample size. (Recall: missing or infinite values are not allowed here.) |
call | the call which produced the result. |
data.name | the deparsed name of the x argument. |
has.na | logical, for compatibility (always FALSE). |
Additionally: | |
theta | as in Arguments. |
sigma | as in Arguments. |
References
Srihera & Stute (2011) and Eichner (2017): see kader.
See Also
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"))