valid.ppm(object)
"ppm"
).ppm
fits Gibbs point process models to point pattern data.
By default, ppm
does not check whether the
fitted model actually exists as a point process. This checking
is done by valid.ppm
. Unlike a regression model, which is well-defined for any values
of the fitted regression coefficients, a Gibbs point process model
is only well-defined if the fitted interaction parameters
satisfy some constraints.
A famous example is the Strauss process (see Strauss
)
which exists only when the interaction parameter $\gamma$
is less than or equal to 1. For values $\gamma > 1$,
the probability density is not integrable and the process does not
exist (and cannot be simulated).
By default, ppm
does not enforce the constraint that
a fitted Strauss process (for example) must satisfy
$\gamma \le 1$.
This is because a fitted parameter value of $\gamma > 1$
could be useful information for data analysis, as it indicates that
the Strauss model is not appropriate, and suggests a clustered model should be
fitted.
The function valid.ppm
checks whether the fitted model
object
specifies a well-defined point process. It returns
TRUE
if the model is well-defined.
Another possible reason for invalid models is that the data may not
be adequate for estimation of the model parameters. In this case,
some of the fitted coefficients could be NA
or infinite
values. If this happens
then valid.ppm
returns FALSE
.
Use the function project.ppm
to force the fitted model
to be valid.
ppm
,
project.ppm
fit1 <- ppm(cells, ~1, Strauss(0.1))
valid.ppm(fit1)
fit2 <- ppm(redwood, ~1, Strauss(0.1))
valid.ppm(fit2)
Run the code above in your browser using DataLab