Estimates the inhomogeneous \(J\) function of a non-stationary point pattern.
Jinhom(X, lambda = NULL, lmin = NULL, ...,
sigma = NULL, varcov = NULL,
r = NULL, breaks = NULL, ratio=FALSE,
update = TRUE, warn.bias=TRUE, savelambda=FALSE)
An object of class "fv"
, see fv.object
,
which can be plotted directly using plot.fv
.
The observed data point pattern,
from which an estimate of the inhomogeneous \(J\) function
will be computed.
An object of class "ppp"
or in a format recognised by as.ppp()
Optional.
Values of the estimated intensity function.
Either a vector giving the intensity values
at the points of the pattern X
,
a pixel image (object of class "im"
) giving the
intensity values at all locations, a fitted point process model
(object of class "ppm"
or "kppm"
) or a function(x,y)
which
can be evaluated to give the intensity value at any location.
Optional. The minimum possible value of the intensity over the spatial domain. A positive numerical value.
Optional arguments passed to density.ppp
to control the smoothing bandwidth, when lambda
is
estimated by kernel smoothing.
Extra arguments passed to as.mask
to control
the pixel resolution, or passed to density.ppp
to control the smoothing bandwidth.
vector of values for the argument \(r\) at which the inhomogeneous \(K\) function should be evaluated. Not normally given by the user; there is a sensible default.
This argument is for internal use only.
Logical.
If TRUE
, the numerator and denominator of
the estimate will also be saved,
for use in analysing replicated point patterns.
Logical. If lambda
is a fitted model
(class "ppm"
or "kppm"
)
and update=TRUE
(the default),
the model will first be refitted to the data X
(using update.ppm
or update.kppm
)
before the fitted intensity is computed.
If update=FALSE
, the fitted intensity of the
model will be computed without fitting it to X
.
Logical value specifying whether to issue a warning when the inhomogeneity correction factor takes extreme values, which can often lead to biased results. This usually occurs when insufficient smoothing is used to estimate the intensity.
Logical value specifying whether to save the values of
lmin
and lambda
as attributes of the result.
Original code by Marie-Colette van Lieshout. C implementation and R adaptation by Adrian Baddeley Adrian.Baddeley@curtin.edu.au and Ege Rubak rubak@math.aau.dk.
This command computes estimates of the
inhomogeneous \(J\)-function (Van Lieshout, 2010)
of a point pattern. It is the counterpart, for inhomogeneous
spatial point patterns, of the \(J\) function
for homogeneous point patterns computed by Jest
.
The argument X
should be a point pattern
(object of class "ppp"
).
The inhomogeneous \(J\) function is computed as \(Jinhom(r) = (1 - Ginhom(r))/(1-Finhom(r))\) where \(Ginhom, Finhom\) are the inhomogeneous \(G\) and \(F\) functions computed using the border correction (equations (7) and (6) respectively in Van Lieshout, 2010).
The argument lambda
should supply the
(estimated) values of the intensity function \(\lambda\)
of the point process. It may be either
containing the values
of the intensity function at the points of the pattern X
.
(object of class "im"
)
assumed to contain the values of the intensity function
at all locations in the window.
(object of class "ppm"
or "kppm"
)
whose fitted trend can be used as the fitted intensity.
(If update=TRUE
the model will first be refitted to the
data X
before the trend is computed.)
which can be evaluated to give values of the intensity at any locations.
if lambda
is omitted, then it will be estimated using
a `leave-one-out' kernel smoother.
If lambda
is a numeric vector, then its length should
be equal to the number of points in the pattern X
.
The value lambda[i]
is assumed to be the
the (estimated) value of the intensity
\(\lambda(x_i)\) for
the point \(x_i\) of the pattern \(X\).
Each value must be a positive number; NA
's are not allowed.
If lambda
is a pixel image, the domain of the image should
cover the entire window of the point pattern. If it does not (which
may occur near the boundary because of discretisation error),
then the missing pixel values
will be obtained by applying a Gaussian blur to lambda
using
blur
, then looking up the values of this blurred image
for the missing locations.
(A warning will be issued in this case.)
If lambda
is a function, then it will be evaluated in the
form lambda(x,y)
where x
and y
are vectors
of coordinates of the points of X
. It should return a numeric
vector with length equal to the number of points in X
.
If lambda
is omitted, then it will be estimated using
a `leave-one-out' kernel smoother.
The estimate lambda[i]
for the
point X[i]
is computed by removing X[i]
from the
point pattern, applying kernel smoothing to the remaining points using
density.ppp
, and evaluating the smoothed intensity
at the point X[i]
. The smoothing kernel bandwidth is controlled
by the arguments sigma
and varcov
, which are passed to
density.ppp
along with any extra arguments.
van Lieshout, M.N.M. and Baddeley, A.J. (1996) A nonparametric measure of spatial interaction in point patterns. Statistica Neerlandica 50, 344--361.
van Lieshout, M.N.M. (2010) A J-function for inhomogeneous point processes. Statistica Neerlandica 65, 183--201.
Ginhom
,
Finhom
,
Jest
online <- interactive()
if(online) {
plot(Jinhom(swedishpines, sigma=10))
plot(Jinhom(swedishpines, sigma=bw.diggle, adjust=2))
} else {
## use a coarse grid for faster computation and package testing
plot(Jinhom(swedishpines, sigma=10, dimyx=32))
}
Run the code above in your browser using DataLab