weights_ES2012 {kader} | R Documentation |
Weights W_{ni}
of Eichner & Stute (2012)
Description
Function, vectorized in its first argument sigma
, to compute the
“updated” weights W_{ni}
in eq. (2.1) of Eichner & Stute (2012) for
the kernel adjusted regression estimator.
Usage
weights_ES2012(sigma, xXh, thetaXh, K, h)
Arguments
sigma |
Numeric vector |
xXh |
Numeric vector expecting the pre-computed h-scaled differences
|
thetaXh |
Numeric vector expecting the pre-computed h-scaled differences
|
K |
A kernel function (with vectorized in- & output) to be used for the estimator. |
h |
Numeric scalar for bandwidth |
Details
Note that it is not immediately obvious that W_{ni}
in eq. (2.1) of
Eichner & Stute (2012) is a function of \sigma
. In fact, W_{ni}
= W_{ni}(x; h, \theta, \sigma)
as can be seen on p. 2542 ibid. The
computational version implemented here, however, is given in (15.19) of
Eichner (2017). Pre-computed (x - X_i)/h
and (\theta - X_i)/h
,
i = 1, \ldots, n
are expected for efficiency reasons (and are
currently prepared in function kare
).
Value
If length(sigma)
> 1 a numeric matrix of the dimension
length(sigma)
by length(xXh)
with elements
(W_{ni}(x; h, \theta, \sigma_r))
for r = 1, \ldots,
length(sigma)
and i = 1, \ldots,
length(xXh)
;
otherwise a numeric vector of the same length as xXh
.
References
Eichner & Stute (2012) and Eichner (2017): see kader
.
See Also
bias_ES2012
and var_ES2012
which both
call this function, and kare
which currently does
the pre-computing.
Examples
require(stats)
# Regression function:
m <- function(x, x1 = 0, x2 = 8, a = 0.01, b = 0) {
a * (x - x1) * (x - x2)^3 + b
}
# Note: For a few details on m() see examples in ?nadwat.
n <- 100 # Sample size.
set.seed(42) # To guarantee reproducibility.
X <- runif(n, min = -3, max = 15) # X_1, ..., X_n # Design.
Y <- m(X) + rnorm(length(X), sd = 5) # Y_1, ..., Y_n # Response.
h <- n^(-1/5)
Sigma <- seq(0.01, 10, length = 51) # sigma-grid for minimization.
x0 <- 5 # Location at which the estimator of m should be computed.
# Weights (W_{ni}(x; \sigma_r))_{1<=r<=length(Sigma), 1<=i<=n} for
# Var_n(sigma) and Bias_n(sigma) each at x0 on the sigma-grid:
weights_ES2012(sigma = Sigma, xXh = (x0 - X) / h,
thetaXh = (mean(X) - X) / h, K = dnorm, h = h)