Computes an estimate of the inhomogeneous linear \(K\) function for a point pattern on a linear network.
linearKinhom(X, lambda=NULL, r=NULL, ..., correction="Ang",
normalise=TRUE, normpower=1,
update=TRUE, leaveoneout=TRUE, sigma=NULL, ratio=FALSE)Function value table (object of class "fv").
Point pattern on linear network (object of class "lpp").
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.
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.
Geometry correction.
Either "none" or "Ang". See Details.
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.
Integer (usually either 1 or 2). Normalisation power. See Details.
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.
Logical value specifying whether to use a leave-one-out rule when calculating the intensity. See Details.
Smoothing bandwidth (passed to density.lpp)
for kernel density estimation of the intensity when
lambda=NULL.
Logical.
If TRUE, the numerator and denominator of
the estimate will also be saved,
for use in analysing replicated point patterns.
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.
Ang Qi Wei aqw07398@hotmail.com and Adrian Baddeley Adrian.Baddeley@curtin.edu.au
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).
\)
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.
lpp
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