Provides the asymptotically optimal fixed bandwidths for spatial or spatiotemporal normal densities based on a simple expression.
An object of class ppp
giving the observed
2D data to be smoothed.
Optional. Controls the value to use in place of the number of
observations n in the normal scale formula. Either a character
string, "npoints"
(default) or "geometric"
(only possible for NS
), or a positive
numeric value. See `Details'.
Optional. Controls the value for a scalar representation of
the spatial (and temporal for NS.spattemp
) scale of the data. Either a character string, "silverman"
(default), "IQR"
, "sd"
, or "var"
; or a positive numeric
value. See `Details'.
A numeric vector of equal length to the number of points in pp
,
giving the time corresponding to each spatial observation. If unsupplied,
the function attempts to use the values in the marks
attribute of the ppp.object
in pp
.
A single numeric value of the estimated spatial bandwidth for NS
, or a named numeric vector of length 2 giving
the spatial bandwidth (as h
) and the temporal bandwidth (as lambda
) for NS.spattemp
.
These functions calculate scalar smoothing bandwidths for kernel density
estimates of spatial or spatiotemporal data: the optimal values would minimise the
asymptotic mean integrated squared error assuming normally distributed data; see pp. 46-48
of Silverman (1986). The NS
function returns a single bandwidth for isotropic smoothing
of spatial (2D) data. The NS.spattemp
function returns two values -- one for
the spatial margin and another for the temporal margin, based on independently applying
the normal scale rule (in 2D and 1D) to the spatial and temporal margins of the supplied data.
The formula
requires a sample size, and this can be minimally tailored via nstar
.
By default, the function simply uses the number of observations in
pp
: nstar = "npoints"
. Alternatively, the user can specify their own value by simply
supplying a single positive numeric value to nstar
.
For NS
(not applicable to NS.spattemp
), if pp
is a
ppp.object
with factor-valued
marks
, then the user has the option of using
nstar = "geometric"
, which sets the sample size used in the formula
to the geometric mean of the counts of observations of each mark. This can
be useful for e.g. relative risk calculations, see Davies and Hazelton
(2010).
The scaler
argument is used to specify spatial
(as well as temporal, in use of NS.spattemp
) scale. For isotropic smoothing in the spatial
margin, one may use the `robust' estimate
of standard deviation found by a weighted mean of the interquartile ranges
of the \(x\)- and \(y\)-coordinates of the data respectively
(scaler = "IQR"
). Two other options are the raw mean of the
coordinate-wise standard deviations (scaler = "sd"
), or the square
root of the mean of the two variances (scaler = "var"
). A fourth
option, scaler = "silverman"
(default), sets the scaling constant to
be the minimum of the "IQR"
and "sd"
options; see Silverman
(1986), p. 47. In use of NS.spattemp
the univariate version of the elected scale
statistic is applied to the recorded times of the data for the temporal bandwidth.
Alternatively, like nstar
, the user can specify their
own value by simply supplying a single positive numeric value to
scaler
for NS
, or a numeric vector of length 2 (in the order of [<spatial scale>, <temporal scale>])
for NS.spattemp
.
The NS bandwidth is an approximation, and assumes that the target density is normal. This is considered rare in most real-world applications. Nevertheless, it remains a quick and easy `rule-of-thumb' method with which one may obtain a smoothing parameter. Note that a similar expression for the adaptive kernel estimator is not possible (Davies et al., 2018).
Davies, T.M. and Hazelton, M.L. (2010), Adaptive kernel estimation of spatial relative risk, Statistics in Medicine, 29(23) 2423-2437.
Davies, T.M., Flynn, C.R. and Hazelton, M.L. (2018), On the utility of asymptotic bandwidth selectors for spatially adaptive kernel density estimation, Statistics & Probability Letters [in press].
Silverman, B.W. (1986), Density Estimation for Statistics and Data Analysis, Chapman & Hall, New York.
Wand, M.P. and Jones, C.M., 1995. Kernel Smoothing, Chapman & Hall, London.
data(pbc)
NS(pbc)
#> [1] 2.769906
NS(pbc,nstar="geometric") # uses case-control marks to replace sample size
#> [1] 3.225647
NS(pbc,scaler="var") # set different scalar measure of spread
#> [1] 4.562146
data(burk)
NS.spattemp(burk$cases)
#> h lambda
#> 10.36718 441.14599
NS.spattemp(burk$cases,scaler="sd")
#> h lambda
#> 11.54816 441.14599