spatstat (version 1.64-1)

bw.pcf: Cross Validated Bandwidth Selection for Pair Correlation Function


Uses composite likelihood or generalized least squares cross-validation to select a smoothing bandwidth for the kernel estimation of pair correlation function.


bw.pcf(X, rmax=NULL, lambda=NULL, divisor="r", 
         kernel="epanechnikov", nr=10000, bias.correct=TRUE, 
         cv.method=c("compLik", "leastSQ"), simple=TRUE, srange=NULL,
	 …, verbose=FALSE, warn=TRUE)



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


Numeric. Maximum value of the spatial lag distance \(r\) for which \(g(r)\) should be evaluated.


Optional. Values of the estimated intensity function. A vector giving the intensity values at the points of the pattern X.


Choice of divisor in the estimation formula: either "r" (the default) or "d". See pcf.ppp.


Choice of smoothing kernel, passed to density; see pcf and pcfinhom.


Integer. Number of subintervals for discretization of [0, rmax] to use in computing numerical integrals.


Logical. Whether to use bias corrected version of the kernel estimate. See Details.


Choice of cross validation method: either "compLik" or "leastSQ" (partially matched).


Logical. Whether to use simple removal of spatial lag distances. See Details.


Optional. Numeric vector of length 2 giving the range of bandwidth values that should be searched to find the optimum bandwidth.

Other arguments, passed to pcf or pcfinhom.


Logical value indicating whether to print progress reports during the optimization procedure.


Logical. If TRUE, issue a warning if the optimum value of the cross-validation criterion occurs at one of the ends of the search interval.


A numerical value giving the selected bandwidth. The result also belongs to the class "bw.optim" which can be plotted.

Definition of bandwidth

The bandwidth bw returned by bw.pcf corresponds to the standard deviation of the smoothoing kernel. As mentioned in the documentation of density.default and pcf.ppp, this differs from the scale parameter h of the smoothing kernel which is often considered in the literature as the bandwidth of the kernel function. For example for the Epanechnikov kernel, bw=h/sqrt(h).


This function selects an appropriate bandwidth bw for the kernel estimator of the pair correlation function of a point process intensity computed by pcf.ppp (homogeneous case) or pcfinhom (inhomogeneous case).

With cv.method="leastSQ", the bandwidth \(h\) is chosen to minimise an unbiased estimate of the integrated mean-square error criterion \(M(h)\) defined in equation (4) in Guan (2007a). The code implements the fast algorithm of Jalilian and Waagepetersen (2018).

With cv.method="compLik", the bandwidth \(h\) is chosen to maximise a likelihood cross-validation criterion \(CV(h)\) defined in equation (6) of Guan (2007b).

$$ M(b) = \frac{\mbox{MSE}(\sigma)}{\lambda^2} - g(0) $$

The result is a numerical value giving the selected bandwidth.


Guan, Y. (2007a). A composite likelihood cross-validation approach in selecting bandwidth for the estimation of the pair correlation function. Scandinavian Journal of Statistics, 34(2), 336--346.

Guan, Y. (2007b). A least-squares cross-validation bandwidth selection approach in pair correlation function estimations. Statistics & Probability Letters, 77(18), 1722--1729.

Jalilian, A. and Waagepetersen, R. (2018) Fast bandwidth selection for estimation of the pair correlation function. Journal of Statistical Computation and Simulation, 88(10), 2001--2011.

See Also

pcf.ppp, pcfinhom


Run this code
  b <- bw.pcf(redwood)
  plot(pcf(redwood, bw=b))
# }

Run the code above in your browser using DataLab