Learn R Programming

spatstat.explore (version 3.8-2)

bw.stoyan: Stoyan's and Fiksel's Rules of Thumb for Bandwidth for Estimating Pair Correlation

Description

Computes a rough estimate of the appropriate bandwidth for kernel smoothing estimators of the pair correlation function.

Usage

bw.stoyan(X, co=0.15, extrapolate=FALSE, ...)
bw.fiksel(X, co=0.1, extrapolate=FALSE, ...)

Value

A finite positive numerical value giving the selected bandwidth (the standard deviation of the smoothing kernel).

Arguments

X

A point pattern (object of class "ppp").

co

Coefficient appearing in the rule of thumb. See Details.

extrapolate

Logical value specifying whether to use the extrapolated version of the rule. See Details.

...

Ignored.

Extrapolation

The original version of Stoyan's rule, stated above, was developed by experience with patterns of 30 to 100 points. For patterns with larger numbers of points, the bandwidth should be smaller: the theoretically optimal bandwidth decreases in proportion to \(n^{-1/5}\) where \(n\) is the number of points in the pattern. In the ‘extrapolated’ version of Stoyan's rule proposed by Baddeley, Davies and Hazelton (2025), the value \(\sigma\) calculated above is multiplied by \((100/n)^{1/5}\). The extrapolated rule is applied if extrapolate=TRUE.

Author

Adrian Baddeley Adrian.Baddeley@curtin.edu.au, Rolf Turner rolfturner@posteo.net, Tilman Davies Tilman.Davies@otago.ac.nz, Martin Hazelton Martin.Hazelton@otago.ac.nz and Ya-Mei Chang yamei628@gmail.com.

Details

Estimation of the pair correlation function (and similar quantities) by smoothing methods requires a choice of the smoothing bandwidth. Stoyan and Stoyan (1995, equation (15.16), page 285) and Fiksel (1988, equation (3.6), page 70) proposed rules of thumb for choosing the smoothing bandwidth. These rules were originally developed by experimentation with the Epanechnikov kernel.

For the Epanechnikov kernel, the Stoyan rule of thumb is to set the kernel's half-width \(h\) to the value \(0.15/\sqrt{\lambda}\) where \(\lambda\) is the estimated intensity of the point pattern, typically computed as the number of points of X divided by the area of the window containing X. (To ensure the bandwidth is finite, an empty point pattern is treated as if it contained 1 point.)

Conventionally in R the smoothing bandwidth is specified by the standard deviation of the kernel, rather than the half-width. Stoyan's rule is equivalent to making the standard deviation of the Epanechnikov kernel equal to \(\sigma = 0.15/\sqrt{5\lambda}\). For a general kernel, the corresponding Stoyan rule is to set the standard deviation of the kernel to \(\sigma = 0.15/\sqrt{5\lambda}\). This is the value returned by bw.stoyan.

The coefficient \(0.15\) can be tweaked using the argument co.

The Fiksel rule of thumb is to set the standard deviation of the kernel to \(\sigma = 0.1/\sqrt{\lambda}\) for any kernel. This value is returned by bw.fiksel. Similarly the coefficient \(0.1\) can be tweaked using the argument co.

The Fiksel and Stoyan rules are obviously related: bw.fiksel(X, a) = bw.stoyan(X, a * sqrt(5)) However, it is convenient in experiments and data analysis to use the names Fiksel and Stoyan as a shorthand for these rules, with the default values of the coefficients. The default bandwidth calculated by Fiksel's rule is 50% larger than the default bandwidth by Stoyan's rule: bw.fiksel(X) = d * bw.stoyan(X) where d = sqrt(5) * 0.1/0.15 = 1.49.

References

Baddeley, A., Davies, T.M. and Hazelton, M.L. (2025) An improved estimator of the pair correlation function of a spatial point process. Biometrika 111, 2, article asaf021.

Fiksel, T. (1988) Edge-corrected density estimators for point processes. Statistics 19 (1988) 1, 77--86.

Stoyan, D. and Stoyan, H. (1995) Fractals, random shapes and point fields: methods of geometrical statistics. John Wiley and Sons.

See Also

pcf, bw.relrisk

Examples

Run this code
  bw.stoyan(shapley)
  bw.stoyan(shapley, extrapolate=TRUE)

Run the code above in your browser using DataLab