Fit a Log-Gaussian Cox Point Process by Minimum Contrast
Fits a log-Gaussian Cox point process model to a point pattern dataset by the Method of Minimum Contrast.
lgcp.estK(X, startpar=c(var=1,scale=1), covmodel=list(model="exponential"), lambda=NULL, q = 1/4, p = 2, rmin = NULL, rmax = NULL, ...)
X |
Data to which the model will be fitted. Either a point pattern or a summary statistic. See Details. |
startpar |
Vector of starting values for the parameters of the log-Gaussian Cox process model. |
covmodel |
Specification of the covariance model for the log-Gaussian field. See Details. |
lambda |
Optional. An estimate of the intensity of the point process. |
q,p |
Optional. Exponents for the contrast criterion. |
rmin, rmax |
Optional. The interval of r values for the contrast criterion. |
... |
Optional arguments passed to |
This algorithm fits a log-Gaussian Cox point process (LGCP) model to a point pattern dataset by the Method of Minimum Contrast, using the K function of the point pattern.
The shape of the covariance of the LGCP must be specified: the default is the exponential covariance function, but other covariance models can be selected.
The argument X
can be either
An object of class "ppp"
representing a point pattern dataset.
The K function of the point pattern will be computed
using Kest
, and the method of minimum contrast
will be applied to this.
An object of class "fv"
containing
the values of a summary statistic, computed for a point pattern
dataset. The summary statistic should be the K function,
and this object should have been obtained by a call to
Kest
or one of its relatives.
The algorithm fits a log-Gaussian Cox point process (LGCP)
model to X
, by finding the parameters of the LGCP model
which give the closest match between the
theoretical K function of the LGCP model
and the observed K function.
For a more detailed explanation of the Method of Minimum Contrast,
see mincontrast
.
The model fitted is a stationary, isotropic log-Gaussian Cox process (Moller and Waagepetersen, 2003, pp. 72-76). To define this process we start with a stationary Gaussian random field Z in the two-dimensional plane, with constant mean mu and covariance function C(r). Given Z, we generate a Poisson point process Y with intensity function lambda(u) = exp(Z(u)) at location u. Then Y is a log-Gaussian Cox process.
The K-function of the LGCP is
K(r) = integral from 0 to r of (2 * pi * s * exp(C(s))) ds.
The intensity of the LGCP is
lambda= exp(mu + C(0)/2).
The covariance function C(r) is parametrised in the form
C(r) = sigma^2 * c(-r/alpha)
where sigma^2 and alpha are parameters
controlling the strength and the scale of autocorrelation,
respectively, and c(r) is a known covariance function
determining the shape of the covariance.
The strength and scale parameters
sigma^2 and alpha
will be estimated by the algorithm as the values
var
and scale
respectively.
The template covariance function c(r) must be specified
as explained below.
In this algorithm, the Method of Minimum Contrast is first used to find optimal values of the parameters sigma^2 and alpha^2. Then the remaining parameter mu is inferred from the estimated intensity lambda.
The template covariance function c(r) is specified
using the argument covmodel
. This should be of the form
list(model="modelname", ...)
where
modelname
is a string identifying the template model
as explained below, and ...
are optional arguments of the
form tag=value
giving the values of parameters controlling the
shape of the template model.
The default is the exponential covariance
c(r) = e^(-r)
so that the scaled covariance is
C(r) = sigma^2 * exp(-r/alpha).
To determine the template model, the string "modelname"
will be
prefixed by "RM"
and the code will search for
a function of this name in the RandomFields package.
For a list of available models see
RMmodel
in the
RandomFields package. For example the
Matern covariance with exponent nu = 0.3 is specified
by covmodel=list(model="matern", nu=0.3)
corresponding
to the function RMmatern
in the RandomFields package.
If the argument lambda
is provided, then this is used
as the value of lambda. Otherwise, if X
is a
point pattern, then lambda
will be estimated from X
.
If X
is a summary statistic and lambda
is missing,
then the intensity lambda cannot be estimated, and
the parameter mu will be returned as NA
.
The remaining arguments rmin,rmax,q,p
control the
method of minimum contrast; see mincontrast
.
The optimisation algorithm can be controlled through the
additional arguments "..."
which are passed to the
optimisation function optim
. For example,
to constrain the parameter values to a certain range,
use the argument method="L-BFGS-B"
to select an optimisation
algorithm that respects box constraints, and use the arguments
lower
and upper
to specify (vectors of) minimum and
maximum values for each parameter.
An object of class "minconfit"
. There are methods for printing
and plotting this object. It contains the following main components:
par |
Vector of fitted parameter values. |
fit |
Function value table (object of class |
This function is considerably slower than lgcp.estpcf
because of the computation time required for the integral
in the K-function.
Computation can be accelerated, at the cost of less accurate results,
by setting spatstat.options(fastK.lgcp=TRUE)
.
Rasmus Waagepetersen rw@math.auc.dk. Adapted for spatstat by Adrian Baddeley Adrian.Baddeley@curtin.edu.au
Further modifications by Rasmus Waagepetersen and Shen Guochun, and by Ege Rubak rubak@math.aau.dk.
Moller, J, Syversveen, A. and Waagepetersen, R. (1998) Log Gaussian Cox Processes. Scandinavian Journal of Statistics 25, 451–482.
Moller, J. and Waagepetersen, R. (2003). Statistical Inference and Simulation for Spatial Point Processes. Chapman and Hall/CRC, Boca Raton.
Waagepetersen, R. (2007) An estimating function approach to inference for inhomogeneous Neyman-Scott processes. Biometrics 63, 252–258.
lgcp.estpcf
for alternative method of fitting LGCP.
matclust.estK
,
thomas.estK
for other models.
mincontrast
for the generic minimum contrast
fitting algorithm, including important parameters that affect
the accuracy of the fit.
RMmodel
in the
RandomFields package, for covariance function models.
Kest
for the K function.
if(interactive()) { u <- lgcp.estK(redwood) print(u) plot(u) } else { # faster - better starting point u <- lgcp.estK(redwood, c(var=1.05, scale=0.1)) } if(FALSE) { ## takes several minutes! lgcp.estK(redwood, covmodel=list(model="matern", nu=0.3)) }
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.