Learn R Programming

spatstat (version 1.64-1)

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

Description

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

Usage

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

bw.scott.iso(X)

Arguments

X

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

isotropic

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).

d

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

Value

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

Details

These functions select a bandwidth sigma for the kernel estimator of point process intensity computed by density.ppp or density.lpp 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

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).

References

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

McSwiggan, G., Baddeley, A. and Nair, G. (2016) Kernel density estimation on a linear network. Scandinavian Journal of Statistics 44 (2) 324--345.

Rakshit, S., Davies, T., Moradi, M., McSwiggan, G., Nair, G., Mateu, J. and Baddeley, A. (2019) Fast kernel smoothing of point patterns on a large network using 2D convolution. International Statistical Review 87 (3) 531--556. DOI: 10.1111/insr.12327.

See Also

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

Examples

Run this code
# NOT RUN {
  hickory <- split(lansing)[["hickory"]]
  b <- bw.scott(hickory)
  b
  
# }
# NOT RUN {
   plot(density(hickory, b))
  
# }
# NOT RUN {
  bw.scott.iso(hickory)
  bw.scott(chicago)
  bw.scott(osteo$pts[[1]])
# }

Run the code above in your browser using DataLab