R: Fit a Log-Gaussian Cox Point Process by Minimum Contrast

lgcp.estK {spatstat.core} | R Documentation

## Fit a Log-Gaussian Cox Point Process by Minimum Contrast

### Description

Fits a log-Gaussian Cox point process model to a point pattern dataset by the Method of Minimum Contrast.

### Usage

    lgcp.estK(X, startpar=c(var=1,scale=1),
                 covmodel=list(model="exponential"),
                 lambda=NULL,
                 q = 1/4, p = 2, rmin = NULL, rmax = NULL, ...)

### Arguments

`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 `optim` to control the optimisation algorithm. See Details.

### Details

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

a point pattern:

  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.

a summary statistic:

  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.

### Value

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 `"fv"`) containing the observed values of the summary statistic (`observed`) and the theoretical values of the summary statistic computed from the fitted model parameters.

### Note

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)`.

### Author(s)

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.

### References

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.

### See Also

`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.

### Examples

        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))
        }

[Package spatstat.core version 2.4-4 Index]