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)
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), 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.
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