Kcom(object, r = NULL, breaks = NULL, ...,
correction = c("border", "isotropic", "translate"),
restrict = FALSE,
trend = ~1, interaction = Poisson(), rbord = reach(interaction),
compute.var = TRUE,
truecoef = NULL, hi.res = NULL)
"ppm"
)
or a point pattern (object of class "ppp"
)
or quadrature scheme (object of class "quad"
).r
for advanced use.Kest
for options.restrict=TRUE
) or
the reweighting estimator (restrict=FALSE
, the default).
See Details.hi.res
.quadscheme
.
If this argument is present, the model will be
re-fitted at high resolution as specified by these parameters.
The coefficients
of the re"fv"
),
essentially a data frame of function values.
There is a plot method for this class. See fv.object
. The first argument, object
, is usually a fitted point process model
(object of class "ppm"
), obtained from the
model-fitting function ppm
.
For convenience, object
can also be a point pattern
(object of class "ppp"
). In that case, a point process
model will be fitted to it, by calling ppm
using the arguments
trend
(for the first order trend),
interaction
(for the interpoint interaction)
and rbord
(for the erosion distance in the border correction
for the pseudolikelihood). See ppm
for details
of these arguments.
The algorithm first extracts the original point pattern dataset
(to which the model was fitted) and computes the
standard nonparametric estimates of the $K$ function.
It then also computes the model compensator of the
$K$ function. The different function estimates are returned
as columns in a data frame (of class "fv"
).
The argument correction
determines the edge correction(s)
to be applied. See Kest
for explanation of the principle
of edge corrections. The following table gives the options
for the correction
argument, and the corresponding
column names in the result:
correction
description of correction nonparametric compensator
"isotropic"
Ripley isotropic correction
iso
icom
"translate"
Ohser-Stoyan translation correction
trans
tcom
"border"
border correction
border
bcom
}
The nonparametric estimates can all be expressed in the form
$$\hat K(r) = \sum_i \sum_{j < i} e(x_i,x_j,r,x) I{ d(x_i,x_j) \le r }$$
where $x_i$ is the $i$-th data point,
$d(x_i,x_j)$ is the distance between $x_i$ and
$x_j$, and $e(x_i,x_j,r,x)$ is
a term that serves to correct edge effects and to re-normalise the
sum. The corresponding model compensator is
$${\bf C} \, \tilde K(r) = \int_W \lambda(u,x) \sum_j e(u,x_j,r,x \cup u) I{ d(u,x_j) \le r}$$
where the integral is over all locations $u$ in
the observation window,
$\lambda(u,x)$ denotes the conditional intensity
of the model at the location $u$, and $x \cup u$ denotes the
data point pattern $x$ augmented by adding the extra point $u$.
If the fitted model is a Poisson point process, then the formulae above
are exactly what is computed. If the fitted model is not Poisson, the
formulae above are modified slightly to handle edge effects.
The modification is determined by the argument
restrict
. If restrict=TRUE
the algorithm calculates
the restriction estimator; if restrict=FALSE
it
calculates the reweighting estimator.
See Appendix D of Baddeley, Rubak and Moller (2011).
The nonparametric estimates of $K(r)$ are approximately unbiased
estimates of the $K$-function, assuming the point process is
stationary. The model compensators are unbiased estimates
of the mean values of the corresponding nonparametric estimates,
assuming the model is true. Thus, if the model is a good fit, the mean value
of the difference between the nonparametric estimates and model compensators
is approximately zero.
Kres
,
Kest
,
ppm
data(cells)
fit0 <- ppm(cells, ~1) # uniform Poisson
plot(Kcom(fit0))
# compare the isotropic-correction estimates
plot(Kcom(fit0), cbind(iso, icom) ~ r)
# uniform Poisson is clearly not correct
fit1 <- ppm(cells, ~1, Strauss(0.08))
K1 <- Kcom(fit1)
K1
plot(K1)
plot(K1, cbind(iso, icom) ~ r)
plot(K1, cbind(trans, tcom) ~ r)
# how to plot the difference between nonparametric estimates and compensators
plot(K1, iso - icom ~ r)
# fit looks approximately OK; try adjusting interaction distance
fit2 <- ppm(cells, ~1, Strauss(0.12))
K2 <- Kcom(fit2)
plot(K2)
plot(K2, cbind(iso, icom) ~ r)
plot(K2, iso - icom ~ r)
Run the code above in your browser using DataLab