dpik {KernSmooth}R Documentation

Select a Bandwidth for Kernel Density Estimation


Use direct plug-in methodology to select the bandwidth of a kernel density estimate.


dpik(x, scalest="minim", level=2, kernel="normal",   
     canonical=FALSE, gridsize=401, range.x=range(x), 


x vector containing the sample on which the kernel density estimate is to be constructed.
scalest estimate of scale.
"stdev" - standard deviation is used.
"iqr" - inter-quartile range divided by 1.349 is used.
"minim" - minimum of "stdev" and "iqr" is used.
level number of levels of functional estimation used in the plug-in rule.
kernel character string which determines the smoothing kernel. kernel can be: "normal" - the Gaussian density function (the default). "box" - a rectangular box. "epanech" - the centred beta(2,2) density. "biweight" - the centred beta(3,3) density. "triweight" - the centred beta(4,4) density.
canonical logical flag: if TRUE, canonically scaled kernels are used
gridsize the number of equally-spaced points over which binning is performed to obtain kernel functional approximation.
range.x vector containing the minimum and maximum values of x at which to compute the estimate. The default is the minimum and maximum data values.
truncate logical flag: if TRUE, data with x values outside the range specified by range.x are ignored.


The direct plug-in approach, where unknown functionals that appear in expressions for the asymptotically optimal bandwidths are replaced by kernel estimates, is used. The normal distribution is used to provide an initial estimate.


the selected bandwidth.


This method for selecting the bandwidth of a kernel density estimate was proposed by Sheather and Jones (1991) and is described in Section 3.6 of Wand and Jones (1995).


Sheather, S. J. and Jones, M. C. (1991). A reliable data-based bandwidth selection method for kernel density estimation. Journal of the Royal Statistical Society, Series B, 53, 683–690.

Wand, M. P. and Jones, M. C. (1995). Kernel Smoothing. Chapman and Hall, London.

See Also

bkde, density, ksmooth


data(geyser, package="MASS")
x <- geyser$duration
h <- dpik(x)
est <- bkde(x,bandwidth=h)

[Package KernSmooth version 2.22-16 Index]