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 σ 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.core documentation built on May 18, 2022, 9:05 a.m.