Estimates the inhomogeneous pair correlation function of a point pattern using kernel methods.
pcfinhom(X, lambda = NULL, ..., r = NULL,
kernel = "epanechnikov", bw = NULL, stoyan = 0.15,
correction = c("translate", "Ripley"),
divisor = c("r", "d"),
renormalise = TRUE, normpower=1,
update = TRUE, leaveoneout = TRUE,
reciplambda = NULL,
sigma = NULL, varcov = NULL)
A point pattern (object of class "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 a function(x,y)
which
can be evaluated to give the intensity value at any location.
Vector of values for the argument \(r\) at which \(g(r)\) should be evaluated. There is a sensible default.
Choice of smoothing kernel, passed to density.default
.
Bandwidth for smoothing kernel, passed to density.default
.
Other arguments passed to the kernel density estimation
function density.default
.
Bandwidth coefficient; see pcf.ppp
.
Choice of edge correction.
Choice of divisor in the estimation formula:
either "r"
(the default) or "d"
.
See pcf.ppp
.
Logical. Whether to renormalise the estimate. See Details.
Integer (usually either 1 or 2). Normalisation power. See Details.
Logical. If lambda
is a fitted model
(class "ppm"
, "kppm"
or "dppm"
)
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 re-fitting it to X
.
Logical value (passed to density.ppp
or
fitted.ppm
) specifying whether to use a
leave-one-out rule when calculating the intensity.
Alternative to lambda
.
Values of the estimated reciprocal \(1/\lambda\)
of the intensity function.
Either a vector giving the reciprocal intensity values
at the points of the pattern X
,
a pixel image (object of class "im"
) giving the
reciprocal intensity values at all locations,
or a function(x,y)
which can be evaluated to give the
reciprocal intensity value at any location.
Optional arguments passed to density.ppp
to control the smoothing bandwidth, when lambda
is
estimated by kernel smoothing.
A function value table (object of class "fv"
).
Essentially a data frame containing the variables
the vector of values of the argument \(r\) at which the inhomogeneous pair correlation function \(g_{\rm inhom}(r)\) has been estimated
vector of values equal to 1, the theoretical value of \(g_{\rm inhom}(r)\) for the Poisson process
vector of values of \(g_{\rm inhom}(r)\) estimated by translation correction
vector of values of \(g_{\rm inhom}(r)\) estimated by Ripley isotropic correction
The inhomogeneous pair correlation function \(g_{\rm inhom}(r)\) is a summary of the dependence between points in a spatial point process that does not have a uniform density of points.
The best intuitive interpretation is the following: the probability \(p(r)\) of finding two points at locations \(x\) and \(y\) separated by a distance \(r\) is equal to $$ p(r) = \lambda(x) lambda(y) g(r) \,{\rm d}x \, {\rm d}y $$ where \(\lambda\) is the intensity function of the point process. For a Poisson point process with intensity function \(\lambda\), this probability is \(p(r) = \lambda(x) \lambda(y)\) so \(g_{\rm inhom}(r) = 1\).
The inhomogeneous pair correlation function
is related to the inhomogeneous \(K\) function through
$$
g_{\rm inhom}(r) = \frac{K'_{\rm inhom}(r)}{2\pi r}
$$
where \(K'_{\rm inhom}(r)\)
is the derivative of \(K_{\rm inhom}(r)\), the
inhomogeneous \(K\) function. See Kinhom
for information
about \(K_{\rm inhom}(r)\).
The command pcfinhom
estimates the inhomogeneous
pair correlation using a modified version of
the algorithm in pcf.ppp
.
If renormalise=TRUE
(the default), then the estimates
are multiplied by \(c^{\mbox{normpower}}\) where
\(
c = \mbox{area}(W)/\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
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).
\)
# NOT RUN {
data(residualspaper)
X <- residualspaper$Fig4b
plot(pcfinhom(X, stoyan=0.2, sigma=0.1))
fit <- ppm(X, ~polynom(x,y,2))
plot(pcfinhom(X, lambda=fit, normpower=2))
# }
Run the code above in your browser using DataLab