bw.smoothppp(X, nh = spatstat.options("n.bandwidth"),
hmin=NULL, hmax=NULL, warn=TRUE)
sigma
to consider. The default is 32.sigma
to consider. There is a sensible default.TRUE
, issue a warning if the minimum of
the cross-validation criterion occurs at one of the ends of the
search interval."bw.optim"
which can be plotted.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.
smooth.ppp
data(longleaf)
<testonly>op <- spatstat.options(n.bandwidth=8)</testonly>
b <- bw.smoothppp(longleaf)
b
plot(b)
<testonly>spatstat.options(op)</testonly>
Run the code above in your browser using DataLab