bandwidth                package:base                R Documentation

Bandwidth Selectors for Kernel Density Estimation

Description:

     Bandwidth selectors for gaussian windows in `density'.

Usage:

     bw.nrd0(x)
     bw.nrd(x)
     bw.ucv(x, nb = 1000, lower, upper)
     bw.bcv(x, nb = 1000, lower, upper)
     bw.SJ(x, nb=1000, lower, upper, method=c("ste", "dpi"))

Arguments:

       x: A data vector.

      nb: number of bins to use.

lower, upper: Range over which to minimize.  The default is almost
          always satisfactory.

  method: Either `"ste"' ("solve-the-equation") or `"dpi"' ("direct
          plug-in").

Details:

     `bw.nrd0' implements a rule-of-thumb for choosing the bandwidth of
     a Gaussian kernel density estimator. It defaults to 0.9 times the
     minimum of the standard deviation and the interquartile range
     divided by 1.34 times the sample size to the negative one-fifth
     power (= Silverman's ``rule of thumb'', Silverman(1986, page 48,
     eqn (3.31)) unless the quartiles coincide when a positive result
     will be guaranteed.

     `bw.nrd' is the more common variation given by Scott (1992), using
     factor 1.06.

     `bw.ucv' and `bw.bcv' implement unbiased and biased
     cross-validation respectively.

     `bw.SJ' implements the methods of Sheather & Jones (1991) to
     select the bandwidth using pilot estimation of derivatives.

Value:

     A bandwidth on a scale suitable for the `bw' argument of
     `density'.

References:

     Scott, D. W. (1992) Multivariate Density Estimation: Theory,
     Practice, and  Visualization. Wiley.

     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.

     Silverman, B. W. (1986) Density Estimation. London: Chapman and
     Hall.

     Venables, W. N. and Ripley, B. D. (1999) Modern Applied Statistics
     with S-PLUS. Springer.

See Also:

     `density'.

     `bandwith.nrd', `ucv', `bcv' and `width.SJ' in `MASS', which are
     all scaled to the `width' argument of `density' and so give
     answers four times as large.

Examples:

     data(precip)
     plot(density(precip, n=1000))
     rug(precip)
     lines(density(precip, bw="nrd"), col = 2)
     lines(density(precip, bw="ucv"), col = 3)
     lines(density(precip, bw="bcv"), col = 4)
     lines(density(precip, bw="SJ-ste"), col = 5)
     lines(density(precip, bw="SJ-dpi"), col = 6)
     legend(55, 0.035,
            legend = c("nrd0", "nrd", "ucv", "bcv", "SJ-ste", "SJ-dpi"),
            col = 1:6, lty = 1)

