Learn Data & AI Skills | 50% off
Get 50% off unlimited learning

spatstat (version 1.61-0)

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 σ is computed by the rule of thumb of Scott (1992, page 152, equation 6.42). The bandwidth is proportional to n1/(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. In press.

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