locpoly
Estimate Functions Using Local Polynomials
Description
Estimates a probability density function, regression function or their derivatives using local polynomials. A fast binned implementation over an equally-spaced grid is used.
Usage
locpoly(x, y, drv = 0L, degree, kernel = "normal", bandwidth, gridsize = 401L, bwdisc = 25, range.x, binned = FALSE, truncate = TRUE)
Arguments
x | numeric vector of x data. Missing values are not accepted. |
bandwidth | the kernel bandwidth smoothing parameter. It may be a single number or an array having length |
y | vector of y data. This must be same length as |
drv | order of derivative to be estimated. |
degree | degree of local polynomial used. Its value must be greater than or equal to the value of |
kernel |
|
gridsize | number of equally-spaced grid points over which the function is to be estimated. |
bwdisc | number of logarithmically-equally-spaced bandwidths on which |
range.x | vector containing the minimum and maximum values of |
binned | logical flag: if |
truncate | logical flag: if |
Value
if y
is specified, a local polynomial regression estimate of E[Y|X] (or its derivative) is computed. If y
is missing, a local polynomial estimate of the density of x
(or its derivative) is computed.
a list containing the following components:
x | vector of sorted x values at which the estimate was computed. |
y | vector of smoothed estimates for either the density or the regression at the corresponding |
Details
Local polynomial fitting with a kernel weight is used to estimate either a density, regression function or their derivatives. In the case of density estimation, the data are binned and the local fitting procedure is applied to the bin counts. In either case, binned approximations over an equally-spaced grid is used for fast computation. The bandwidth may be either scalar or a vector of length gridsize
.
References
Wand, M. P. and Jones, M. C. (1995). Kernel Smoothing. Chapman and Hall, London.
See Also
bkde
, density
, dpill
, ksmooth
, loess
, smooth
, supsmu
.
Examples
data(geyser, package = "MASS") # local linear density estimate x <- geyser$duration est <- locpoly(x, bandwidth = 0.25) plot(est, type = "l") # local linear regression estimate y <- geyser$waiting plot(x, y) fit <- locpoly(x, y, bandwidth = 0.25) lines(fit)
Copyright (©) 1999–2012 R Foundation for Statistical Computing.
Licensed under the GNU General Public License.