bw.smoothppp
Cross Validated Bandwidth Selection for Spatial Smoothing
Uses least-squares cross-validation to select a smoothing bandwidth for spatial smoothing of marks.
Usage
bw.smoothppp(X, nh = spatstat.options("n.bandwidth"),
hmin=NULL, hmax=NULL, warn=TRUE)
Arguments
- X
- A marked point pattern with numeric marks.
- nh
- Number of trial values of smoothing bandwith
sigma
to consider. The default is 32. - hmin, hmax
- Optional. Numeric values.
Range of trial values of smoothing bandwith
sigma
to consider. There is a sensible default. - warn
- Logical. If
TRUE
, issue a warning if the minimum of the cross-validation criterion occurs at one of the ends of the search interval.
Details
This function selects an appropriate bandwidth for the nonparametric
smoothing of mark values using Smooth.ppp
.
The argument X
must be a marked point pattern
with a vector or data frame of marks. All mark values must be numeric.
The bandwidth is selected by least-squares cross-validation.
Let $y_i$ be the mark value at the $i$th data point.
For a particular choice of smoothing bandwidth,
let $\hat y_i$ be the smoothed value at the $i$th data point.
Then the bandwidth is chosen to minimise
the squared error of the smoothed values
$\sum_i (y_i - \hat y_i)^2$.
The result of bw.smoothppp
is a numerical value giving the selected bandwidth sigma
.
The result also belongs to the class "bw.optim"
allowing it to be printed and plotted. The plot shows the cross-validation
criterion as a function of bandwidth.
The range of values for the smoothing bandwidth sigma
is set by the arguments hmin, hmax
. There is a sensible default,
based on the nearest neighbour distances.
If the optimal bandwidth is achieved at an endpoint of the
interval [hmin, hmax]
, the algorithm will issue a warning
(unless warn=FALSE
). If this occurs, then it is probably advisable
to expand the interval by changing the arguments hmin, hmax
.
Computation time depends on the number nh
of trial values
considered, and also on the range [hmin, hmax]
of values
considered, because larger values of sigma
require
calculations involving more pairs of data points.
Value
- A numerical value giving the selected bandwidth.
The result also belongs to the class
"bw.optim"
which can be plotted.
See Also
Examples
data(longleaf)
<testonly>op <- spatstat.options(n.bandwidth=8)</testonly>
b <- bw.smoothppp(longleaf)
b
plot(b)
<testonly>spatstat.options(op)</testonly>