Learn R Programming

spatstat.linnet (version 3.2-2)

linearKinhom: Inhomogeneous Linear K Function

Description

Computes an estimate of the inhomogeneous linear \(K\) function for a point pattern on a linear network.

Usage

linearKinhom(X, lambda=NULL, r=NULL, ..., correction="Ang",
             normalise=TRUE, normpower=1,
	     update=TRUE, leaveoneout=TRUE, sigma=NULL, ratio=FALSE)

Value

Function value table (object of class "fv").

Arguments

X

Point pattern on linear network (object of class "lpp").

lambda

Intensity values for the point pattern. Either a numeric vector, a function, a pixel image (object of class "im" or "linim") or a fitted point process model (object of class "ppm" or "lppm") or NULL.

r

Optional. Numeric vector of values of the function argument \(r\). There is a sensible default. Users are advised not to specify r in normal usage.

...

Ignored.

correction

Geometry correction. Either "none" or "Ang". See Details.

normalise

Logical. If TRUE (the default), the denominator of the estimator is data-dependent (equal to the sum of the reciprocal intensities at the data points, raised to normpower), which reduces the sampling variability. If FALSE, the denominator is the length of the network.

normpower

Integer (usually either 1 or 2). Normalisation power. See Details.

update

Logical value indicating what to do when lambda is a fitted model (class "lppm" or "ppm"). If update=TRUE (the default), the model will first be refitted to the data X (using update.lppm or update.ppm) before the fitted intensity is computed. If update=FALSE, the fitted intensity of the model will be computed without re-fitting it to X.

leaveoneout

Logical value specifying whether to use a leave-one-out rule when calculating the intensity. See Details.

sigma

Smoothing bandwidth (passed to density.lpp) for kernel density estimation of the intensity when lambda=NULL.

ratio

Logical. If TRUE, the numerator and denominator of the estimate will also be saved, for use in analysing replicated point patterns.

Warning

Older versions of linearKinhom interpreted lambda=NULL to mean that the homogeneous function linearK should be computed. This was changed to the current behaviour in version 3.1-0 of spatstat.linnet.

Author

Ang Qi Wei aqw07398@hotmail.com and Adrian Baddeley Adrian.Baddeley@curtin.edu.au

Details

This command computes the inhomogeneous version of the linear \(K\) function from point pattern data on a linear network.

The argument lambda should provide estimated values of the intensity of the point process at each point of X.

If lambda=NULL, the intensity will be estimated by kernel smoothing by calling density.lpp with the smoothing bandwidth sigma, and with any other relevant arguments that might be present in .... A leave-one-out kernel estimate will be computed if leaveoneout=TRUE.

If lambda is given, it may be a numeric vector (of length equal to the number of points in X), or a function(x,y) that will be evaluated at the points of X to yield numeric values, or a pixel image (object of class "im") or a fitted point process model (object of class "ppm" or "lppm").

If lambda is a fitted point process model, the default behaviour is to update the model by re-fitting it to the data, before computing the fitted intensity. This can be disabled by setting update=FALSE. The intensity at data points will be computed by fitted.lppm or fitted.ppm. A leave-one-out estimate will be computed if leaveoneout=TRUE and update=TRUE.

If correction="none", the calculations do not include any correction for the geometry of the linear network. If correction="Ang", the pair counts are weighted using Ang's correction (Ang, 2010).

Each estimate is initially computed as $$ \widehat K_{\rm inhom}(r) = \frac{1}{\mbox{length}(L)} \sum_i \sum_j \frac{1\{d_{ij} \le r\} e(x_i,x_j)}{\lambda(x_i)\lambda(x_j)} $$ where L is the linear network, \(d_{ij}\) is the distance between points \(x_i\) and \(x_j\), and \(e(x_i,x_j)\) is a weight. If correction="none" then this weight is equal to 1, while if correction="Ang" the weight is \(e(x_i,x_j,r) = 1/m(x_i, d_{ij})\) where \(m(u,t)\) is the number of locations on the network that lie exactly \(t\) units distant from location \(u\) by the shortest path.

If normalise=TRUE (the default), then the estimates described above are multiplied by \(c^{\mbox{normpower}}\) where \( c = \mbox{length}(L)/\sum (1/\lambda(x_i)). \) This rescaling reduces the variability and bias of the estimate in small samples and in cases of very strong inhomogeneity. The default value of normpower is 1 (for consistency with previous versions of spatstat) but the most sensible value is 2, which would correspond to rescaling the lambda values so that \( \sum (1/\lambda(x_i)) = \mbox{area}(W). \)

References

Ang, Q.W. (2010) Statistical methodology for spatial point patterns on a linear network. MSc thesis, University of Western Australia.

Ang, Q.W., Baddeley, A. and Nair, G. (2012) Geometrically corrected second-order analysis of events on a linear network, with applications to ecology and criminology. Scandinavian Journal of Statistics 39, 591--617.

See Also

lpp

Examples

Run this code
  X <- rpoislpp(5, simplenet)
  fit <- lppm(X ~x)
  K <- linearKinhom(X, lambda=fit)
  plot(K)
  Ke <- linearKinhom(X, sigma=bw.lppl)
  plot(Ke)

Run the code above in your browser using DataLab