bw.scott: Scott's Rule for Bandwidth Selection for Kernel Density

View source: R/bw.scott.R

bw.scottR Documentation

Scott's Rule for Bandwidth Selection for Kernel Density


Use Scott's rule of thumb to determine the smoothing bandwidth for the kernel estimation of point process intensity.


   bw.scott(X, isotropic=FALSE, d=NULL)




A point pattern (object of class "ppp", "lpp", "pp3" or "ppx").


Logical value indicating whether to compute a single bandwidth for an isotropic Gaussian kernel (isotropic=TRUE) or separate bandwidths for each coordinate axis (isotropic=FALSE, the default).


Advanced use only. An integer value that should be used in Scott's formula instead of the true number of spatial dimensions.


These functions select a bandwidth sigma for the kernel estimator of point process intensity computed by density.ppp or other appropriate functions. They can be applied to a point pattern belonging to any class "ppp", "lpp", "pp3" or "ppx".

The bandwidth \sigma is computed by the rule of thumb of Scott (1992, page 152, equation 6.42). The bandwidth is proportional to n^{-1/(d+4)} where n is the number of points and d is the number of spatial dimensions.

This rule is very fast to compute. It typically produces a larger bandwidth than bw.diggle. It is useful for estimating gradual trend.

If isotropic=FALSE (the default), bw.scott provides a separate bandwidth for each coordinate axis, and the result of the function is a vector, of length equal to the number of coordinates. If isotropic=TRUE, a single bandwidth value is computed and the result is a single numeric value.

bw.scott.iso(X) is equivalent to bw.scott(X, isotropic=TRUE).

The default value of d is as follows:

class dimension
"ppp" 2
"lpp" 1
"pp3" 3
"ppx" number of spatial coordinates

The use of d=1 for point patterns on a linear network (class "lpp") was proposed by McSwiggan et al (2016) and Rakshit et al (2019).


A numerical value giving the selected bandwidth, or a numerical vector giving the selected bandwidths for each coordinate.





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

See Also

density.ppp, bw.diggle, bw.ppl, bw.CvL, bw.frac.


  hickory <- split(lansing)[["hickory"]]
  b <- bw.scott(hickory)
  if(interactive()) {
   plot(density(hickory, b))

spatstat.explore documentation built on May 29, 2024, 4:04 a.m.