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

X

A point pattern (object of class `"ppp"`

).

rmax

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

lambda

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

.

divisor

Choice of divisor in the estimation formula:
either `"r"`

(the default) or `"d"`

.
See `pcf.ppp`

.

nr

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

bias.correct

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

cv.method

Choice of cross validation method: either
`"compLik"`

or `"leastSQ"`

(partially matched).

simple

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

srange

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

verbose

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

warn

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.

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.
https://www.tandfonline.com/doi/full/10.1080/00949655.2018.1428606

```
# NOT RUN {
b <- bw.pcf(redwood)
plot(pcf(redwood, bw=b))
# }
```

Run the code above in your browser using DataLab