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