Learn R Programming

spatstat.core (version 2.3-0)

bw.CvLHeat: Bandwidth Selection for Diffusion Smoother by Cronie-van Lieshout Rule

Description

Selects an optimal bandwidth for diffusion smoothing using the Cronie-van Lieshout rule.

Usage

bw.CvLHeat(X, …, srange=NULL, ns=16, sigma=NULL,
         leaveoneout=TRUE, verbose = TRUE)

Arguments

X

Point pattern (object of class "ppp").

Arguments passed to densityHeat.ppp.

srange

Numeric vector of length 2 specifying a range of bandwidths to be considered.

ns

Integer. Number of candidate bandwidths to be considered.

sigma

Maximum smoothing bandwidth. A numeric value, or a pixel image, or a function(x,y). Alternatively a numeric vector containing a sequence of candidate bandwidths.

leaveoneout

Logical value specifying whether intensity values at data points should be estimated using the leave-one-out rule.

verbose

Logical value specifying whether to print progress reports.

Value

A numerical value giving the selected bandwidth (if sigma was a numeric value) or the selected fraction of the maximum bandwidth (if sigma was a pixel image or function). The result also belongs to the class "bw.optim" which can be plotted.

Details

This algorithm selects the optimal global bandwidth for kernel estimation of intensity for the dataset X using diffusion smoothing densityHeat.ppp.

If sigma is a numeric value, the algorithm finds the optimal bandwidth tau <= sigma.

If sigma is a pixel image or function, the algorithm finds the optimal fraction 0 < f <= 1 such that smoothing with f * sigma would be optimal.

See Also

bw.pplHeat for an alternative method.

densityHeat.ppp

Examples

Run this code
# NOT RUN {
  online <- interactive()
  if(!online) op <- spatstat.options(npixel=32)
  f <- function(x,y) { dnorm(x, 2.3, 0.1) * dnorm(y, 2.0, 0.2) }
  X <- rpoint(15, f, win=letterR)
  plot(X)
  b <- bw.CvLHeat(X, sigma=0.25)
  b
  plot(b)
  if(!online) spatstat.options(op)
# }

Run the code above in your browser using DataLab