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)
```

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"`

).

r

Optional. Numeric vector of values of the function argument \(r\). There is a sensible default.

…

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 (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`

.

ratio

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) # }