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)
A single numerical value giving the selected bandwidth.
The result also belongs to the class "bw.optim"
(see bw.optim.object
)
which can be plotted to show the bandwidth selection criterion
as a function of sigma
.
A point pattern on a linear network (object of class "lpp"
).
Optional numeric vector of length 2 giving the range of values of bandwidth to be searched.
Optional integer giving the number of values of bandwidth to search.
Optional. Vector of values of the bandwidth to be searched.
Overrides the values of ns
and srange
.
Optional. Numeric vector of weights for the points of X
.
Argument passed to density.lpp
.
Argument passed to density.lpp
controlling the
type of kernel estimator.
Additional arguments passed to density.lpp
.
Logical value indicating whether to speed up the calculation by omitting the integral term in the cross-validation criterion.
Logical. If TRUE
, issue a warning if the maximum of
the cross-validation criterion occurs at one of the ends of the
search interval.
Greg McSwiggan, Suman Rakshit and Adrian Baddeley Adrian.Baddeley@curtin.edu.au.
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 \(\sigma\) is chosen to maximise the point process likelihood cross-validation criterion $$ \mbox{LCV}(\sigma) = \sum_i \log\hat\lambda_{-i}(x_i) - \int_L \hat\lambda(u) \, {\rm d}u $$ where the sum is taken over all the data points \(x_i\), where \(\hat\lambda_{-i}(x_i)\) is the leave-one-out kernel-smoothing estimate of the intensity at \(x_i\) with smoothing bandwidth \(\sigma\), and \(\hat\lambda(u)\) is the kernel-smoothing estimate of the intensity at a spatial location \(u\) with smoothing bandwidth \(\sigma\). See Loader(1999, Section 5.3).
The value of \(\mbox{LCV}(\sigma)\) is computed
directly, using density.lpp
,
for ns
different values of \(\sigma\)
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.
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.
density.lpp
,
bw.scott
.
bw.optim.object
.
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=FALSE)
}
Run the code above in your browser using DataLab