Likelihood Cross Validation Bandwidth Selection for Kernel Density on a Linear Network
Uses likelihood cross-validation to select a smoothing bandwidth for the kernel estimation of point process intensity on a linear network.
bw.lppl(X, ..., srange=NULL, ns=16, sigma=NULL, weights=NULL,
           distance=c("euclidean", "path"), shortcut=TRUE, warn=TRUE)| X | A point pattern on a linear network (object of class  | 
| srange | Optional numeric vector of length 2 giving the range of values of bandwidth to be searched. | 
| ns | Optional integer giving the number of values of bandwidth to search. | 
| sigma | Optional. Vector of values of the bandwidth to be searched.
Overrides the values of  | 
| weights | Optional. Numeric vector of weights for the points of  | 
| distance | Argument passed to  | 
| ... | Additional arguments passed to  | 
| shortcut | Logical value indicating whether to speed up the calculation by omitting the integral term in the cross-validation criterion. | 
| warn | Logical. If  | 
This function selects an appropriate bandwidth sigma
for the kernel estimator of point process intensity
computed by density.lpp.
The argument X should be a point pattern on a linear network
(class "lpp").
The bandwidth σ is chosen to maximise the point process likelihood cross-validation criterion
LCV(σ) = sum[i] log(λ[-i](x[i])) - integral[L] λ(u) du
where the sum is taken over all the data points x[i], where λ[-i](x_i) is the leave-one-out kernel-smoothing estimate of the intensity at x[i] with smoothing bandwidth σ, and λ(u) is the kernel-smoothing estimate of the intensity at a spatial location u with smoothing bandwidth σ. See Loader(1999, Section 5.3).
The value of LCV(σ) is computed
directly, using density.lpp, 
for ns different values of σ
between srange[1] and srange[2].
The result is a numerical value giving the selected bandwidth.
The result also belongs to the class "bw.optim"
which can be plotted to show the (rescaled) mean-square error
as a function of sigma.
If shortcut=TRUE, the computation is accelerated by
omitting the integral term in the equation above. This is valid
because the integral is approximately constant.
A numerical value giving the selected bandwidth.
The result also belongs to the class "bw.optim"
which can be plotted.
Greg McSwiggan, Suman Rakshit and Adrian Baddeley Adrian.Baddeley@curtin.edu.au.
Loader, C. (1999) Local Regression and Likelihood. Springer, New York.
McSwiggan, G., Baddeley, A. and Nair, G. (2019) Estimation of relative risk for events on a linear network. Statistics and Computing 30 (2) 469–484.
For point patterns in two-dimensional space, use bw.ppl.
if(interactive()) {
    b <- bw.lppl(spiders)
    plot(b, main="Likelihood cross validation for spiders")
    plot(density(spiders, b, distance="e"))
  } else {
    b1 <- bw.lppl(spiders, ns=2)
    b2 <- bw.lppl(spiders, ns=2, shortcut=TRUE)
  }Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.