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

*Documentation reproduced from package spatstat, version 1.37-0, License: GPL (>= 2)*