Kmulti.inhom {spatstat.explore} | R Documentation |
Inhomogeneous Marked K-Function
Description
For a marked point pattern,
estimate the inhomogeneous version of the multitype K
function
which counts the expected number of points of subset J
within a given distance from a typical point in subset I
,
adjusted for spatially varying intensity.
Usage
Kmulti.inhom(X, I, J, lambdaI=NULL, lambdaJ=NULL,
...,
r=NULL, breaks=NULL,
correction=c("border", "isotropic", "Ripley", "translate"),
lambdaIJ=NULL,
sigma=NULL, varcov=NULL,
lambdaX=NULL, update=TRUE, leaveoneout=TRUE)
Arguments
X |
The observed point pattern,
from which an estimate of the inhomogeneous multitype |
I |
Subset index specifying the points of |
J |
Subset index specifying the points in |
lambdaI |
Optional.
Values of the estimated intensity of the sub-process |
lambdaJ |
Optional.
Values of the estimated intensity of the sub-process |
... |
Ignored. |
r |
Optional. Numeric vector. The values of the argument |
breaks |
This argument is for internal use only. |
correction |
A character vector containing any selection of the
options |
lambdaIJ |
Optional. A matrix containing estimates of
the product of the intensities |
sigma , varcov |
Optional arguments passed to |
lambdaX |
Optional. Values of the intensity for all points of |
update |
Logical value indicating what to do when
|
leaveoneout |
Logical value (passed to |
Details
The function Kmulti.inhom
is the counterpart, for spatially-inhomogeneous marked point patterns,
of the multitype K
function Kmulti
.
Suppose X
is a marked point process, with marks of any kind.
Suppose X_I
, X_J
are two sub-processes, possibly
overlapping. Typically X_I
would consist of those points
of X
whose marks lie in a specified range of mark values,
and similarly for X_J
. Suppose that
\lambda_I(u)
, \lambda_J(u)
are the
spatially-varying intensity functions of X_I
and
X_J
respectively. Consider all the pairs of points
(u,v)
in the point process X
such that the first point
u
belongs to X_I
, the second point v
belongs to X_J
, and the distance between u
and v
is less than a specified distance r
. Give this pair (u,v)
the numerical weight
1/(\lambda_I(u)\lambda_J(u))
.
Calculate the sum of these weights over all pairs of points as
described. This sum (after appropriate edge-correction and
normalisation) is the estimated inhomogeneous multitype K
function.
The argument X
must be a point pattern (object of class
"ppp"
) or any data that are acceptable to as.ppp
.
The arguments I
and J
specify two subsets of the
point pattern. They may be any type of subset indices, for example,
logical vectors of length equal to npoints(X)
,
or integer vectors with entries in the range 1 to
npoints(X)
, or negative integer vectors.
Alternatively, I
and J
may be functions
that will be applied to the point pattern X
to obtain
index vectors. If I
is a function, then evaluating
I(X)
should yield a valid subset index. This option
is useful when generating simulation envelopes using
envelope
.
The argument lambdaI
supplies the values
of the intensity of the sub-process identified by index I
.
It may be either
- a pixel image
(object of class
"im"
) which gives the values of the intensity ofX[I]
at all locations in the window containingX
;- a numeric vector
containing the values of the intensity of
X[I]
evaluated only at the data points ofX[I]
. The length of this vector must equal the number of points inX[I]
.- a function
-
of the form
function(x,y)
which can be evaluated to give values of the intensity at any locations. - a fitted point process model
-
(object of class
"ppm"
,"kppm"
or"dppm"
) whose fitted trend can be used as the fitted intensity. (Ifupdate=TRUE
the model will first be refitted to the dataX
before the trend is computed.) - omitted:
-
if
lambdaI
is omitted then it will be estimated using a leave-one-out kernel smoother.
If lambdaI
is omitted, then it will be estimated using
a ‘leave-one-out’ kernel smoother, as described in Baddeley,
Moller
and Waagepetersen (2000). The estimate of lambdaI
for a given
point is computed by removing the point from the
point pattern, applying kernel smoothing to the remaining points using
density.ppp
, and evaluating the smoothed intensity
at the point in question. The smoothing kernel bandwidth is controlled
by the arguments sigma
and varcov
, which are passed to
density.ppp
along with any extra arguments.
Similarly lambdaJ
supplies the values
of the intensity of the sub-process identified by index J
.
Alternatively if the argument lambdaX
is given, then it specifies
the intensity values for all points of X
, and the
arguments lambdaI
, lambdaJ
will be ignored.
The argument r
is the vector of values for the
distance r
at which K_{IJ}(r)
should be evaluated.
It is also used to determine the breakpoints
(in the sense of hist
)
for the computation of histograms of distances.
First-time users would be strongly advised not to specify r
.
However, if it is specified, r
must satisfy r[1] = 0
,
and max(r)
must be larger than the radius of the largest disc
contained in the window.
Biases due to edge effects are
treated in the same manner as in Kinhom
.
The edge corrections implemented here are
- border
the border method or “reduced sample” estimator (see Ripley, 1988). This is the least efficient (statistically) and the fastest to compute. It can be computed for a window of arbitrary shape.
- isotropic/Ripley
Ripley's isotropic correction (see Ripley, 1988; Ohser, 1983). This is currently implemented only for rectangular windows.
- translate
Translation correction (Ohser, 1983). Implemented for all window geometries.
The pair correlation function pcf
can also be applied to the
result of Kmulti.inhom
.
Value
An object of class "fv"
(see fv.object
).
Essentially a data frame containing numeric columns
r |
the values of the argument |
theo |
the theoretical value of |
together with a column or columns named
"border"
, "bord.modif"
,
"iso"
and/or "trans"
,
according to the selected edge corrections. These columns contain
estimates of the function K_{IJ}(r)
obtained by the edge corrections named.
Author(s)
Adrian Baddeley Adrian.Baddeley@curtin.edu.au
and Rolf Turner rolfturner@posteo.net
References
Baddeley, A., Moller, J. and Waagepetersen, R. (2000) Non- and semiparametric estimation of interaction in inhomogeneous point patterns. Statistica Neerlandica 54, 329–350.
See Also
Kmulti
,
Kdot.inhom
,
Kcross.inhom
,
pcf
Examples
# Finnish Pines data: marked by diameter and height
plot(finpines, which.marks="height")
II <- (marks(finpines)$height <= 2)
JJ <- (marks(finpines)$height > 3)
K <- Kmulti.inhom(finpines, II, JJ)
plot(K)
# functions determining subsets
f1 <- function(X) { marks(X)$height <= 2 }
f2 <- function(X) { marks(X)$height > 3 }
K <- Kmulti.inhom(finpines, f1, f2)