Predicted values from a local polynomials of degree less than 2.
Missing values are not allowed.
npregress(x, y, criterion="rmse", bandwidth=NULL,kernel="g",
control.par=list(), cv.options=list())
Returns an object of class npregress
which is a list including:
The kernel bandwidth smoothing parameter.
Vector of residuals.
Vector of fitted values.
The effective degree of freedom of the smoother.
A list containing four components: x
contains the
initial explanatory variables, y
contains the
initial dependant variables,
criterion
contains the chosen criterion, kernel
the
kernel and degree
the chosen degree
either a named list containing the bandwidth search
grid and all the criteria (rmse
and mae
) evaluated on the
grid gridbw
. If the bandwidth
bandwidth
is given by the user NULL
is returned
A numeric vector of explanatory variable of length n.
A numeric vector of variable to be explained of length n.
Character string. If the bandwidth
(bandwidth
) is missing or
NULL
the number of iterations is chosen using
criterion
. The criterion available is (cross-validated) rmse
("rmse"
) and mean (relative) absolute error.
The kernel bandwidth smoothing parameter (a numeric vector of either length 1).
Character string which allows to choose between gaussian kernel
("g"
), Epanechnikov ("e"
), uniform ("u"
),
quartic ("q"
).
A named list that control optional parameters. The
two components are bandwidth
for compatibility with ibr
arguments and degree
which controls the degree of the local
polynomial regression. If argument bandwidth
is not null or missing, its
value is used instead control.par$bandwidth
. degree
must
be smaller than 2. For (gaussian binned) local polynomial see
locpoly
A named list which controls the way to do cross
validation with component gridbw
,
ntest
, ntrain
, Kfold
, type
,
seed
, method
and npermut
. gridbw
is
numeric vector which contains the search grid for optimal bandwidth (default
to 1/n*(1+1/n)^(0:kmax)
, with kmax=floor(log(n*diff(range(x))/3)/log(1+1/n))
). ntest
is the number of observations in test set and
ntrain
is the number of observations in training set. Actually,
only one of these is needed the other can be NULL
or missing. Kfold
a boolean or an integer. If
Kfold
is TRUE
then the number of fold is deduced from
ntest
(or ntrain
). type
is a character string in
random
,timeseries
,consecutive
, interleaved
and give the type of segments. seed
controls the seed of
random generator. npermut
is the number of random draws. If
cv.options
is list()
, then component ntest
is set to
1
, type
is consecutive, Kfold
is TRUE
, and
the other components are NULL
, which leads to leave-one-out
cross-validation.
Pierre-Andre Cornillon, Nicolas Hengartner and Eric Matzner-Lober.
Wand, M. P. and Jones, M. C. (1995). Kernel Smoothing. Chapman and Hall, London.
predict.npregress
,
summary.npregress
,
locpoly
, ibr
f <- function(x){sin(5*pi*x)}
n <- 100
x <- runif(n)
z <- f(x)
sigma2 <- 0.05*var(z)
erreur <- rnorm(n,0,sqrt(sigma2))
y <- z+erreur
res <- npregress(x,y,bandwidth=0.02)
summary(res)
ord <- order(x)
plot(x,y)
lines(x[ord],predict(res)[ord])
Run the code above in your browser using DataLab