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, ratio=FALSE)
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"
).
Optional. Numeric vector of values of the function argument \(r\). There is a sensible default.
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 (passed to fitted.lppm
or
fitted.ppm
) specifying whether to use a
leave-one-out rule when calculating the intensity,
when lambda
is a fitted model.
Supported only when update=TRUE
.
Logical.
If TRUE
, the numerator and denominator of
the estimate will also be saved,
for use in analysing replicated point patterns.
Function value table (object of class "fv"
).
This command computes the inhomogeneous version of the linear \(K\) function from point pattern data on a linear network.
If lambda = NULL
the result is equivalent to the
homogeneous \(K\) function linearK
.
If lambda
is given, then it is expected to provide estimated values
of the intensity of the point process at each point of X
.
The argument lambda
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
.
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.
# NOT RUN {
data(simplenet)
X <- rpoislpp(5, simplenet)
fit <- lppm(X ~x)
K <- linearKinhom(X, lambda=fit)
plot(K)
# }
Run the code above in your browser using DataLab