Learn R Programming

spatstat.core (version 2.3-1)

exactMPLEstrauss: Exact Maximum Pseudolikelihood Estimate for Stationary Strauss Process

Description

Computes, to very high accuracy, the Maximum Pseudolikelihood Estimates of the parameters of a stationary Strauss point process.

Usage

exactMPLEstrauss(X, R, ngrid = 2048, plotit = FALSE, project=TRUE)

Arguments

X

Data to which the Strauss process will be fitted. A point pattern dataset (object of class "ppp").

R

Interaction radius of the Strauss process. A non-negative number.

ngrid

Grid size for calculation of integrals. An integer, giving the number of grid points in the \(x\) and \(y\) directions.

plotit

Logical. If TRUE, the log pseudolikelihood is plotted on the current device.

project

Logical. If TRUE (the default), the parameter \(\gamma\) is constrained to lie in the interval \([0,1]\). If FALSE, this constraint is not applied.

Value

Vector of length 2.

Details

This function is intended mainly for technical investigation of algorithm performance. Its practical use is quite limited.

It fits the stationary Strauss point process model to the point pattern dataset X by maximum pseudolikelihood (with the border edge correction) using an algorithm with very high accuracy. This algorithm is more accurate than the default behaviour of the model-fitting function ppm because the discretisation is much finer.

Ripley (1988) and Baddeley and Turner (2000) derived the log pseudolikelihood for the stationary Strauss process, and eliminated the parameter \(\beta\), obtaining an exact formula for the partial log pseudolikelihood as a function of the interaction parameter \(\gamma\) only. The algorithm evaluates this expression to a high degree of accuracy, using numerical integration on a ngrid * ngrid lattice, uses optim to maximise the log pseudolikelihood with respect to \(\gamma\), and finally recovers \(\beta\).

The result is a vector of length 2, containing the fitted coefficients \(\log\beta\) and \(\log\gamma\). These values correspond to the entries that would be obtained with coef(ppm(X, ~1, Strauss(R))). The fitted coefficients are typically accurate to within \(10^{-6}\) as shown in Baddeley and Turner (2013).

Note however that (by default) exactMPLEstrauss constrains the parameter \(\gamma\) to lie in the interval \([0,1]\) in which the point process is well defined (Kelly and Ripley, 1976) whereas ppm does not constrain the value of \(\gamma\) (by default). This behaviour is controlled by the argument project to ppm and exactMPLEstrauss. The default for ppm is project=FALSE, while the default for exactMPLEstrauss is project=TRUE.

References

Baddeley, A. and Turner, R. (2000) Practical maximum pseudolikelihood for spatial point patterns. Australian and New Zealand Journal of Statistics 42, 283--322.

Baddeley, A. and Turner, R. (2013) Bias correction for parameter estimates of spatial point process models. Journal of Statistical Computation and Simulation 2012. doi: 10.1080/00949655.2012.755976

Kelly, F.P. and Ripley, B.D. (1976) On Strauss's model for clustering. Biometrika 63, 357--360.

Ripley, B.D. (1988) Statistical inference for spatial processes. Cambridge University Press.

See Also

ppm

Examples

Run this code
# NOT RUN {
 if(interactive()) {
   rc <- 0.09
   exactMPLEstrauss(cells, rc, plotit=TRUE)
   coef(ppm(cells ~1, Strauss(rc)))
   coef(ppm(cells ~1, Strauss(rc), nd=128))
   rr <- 0.04
   exactMPLEstrauss(redwood, rr)
   exactMPLEstrauss(redwood, rr, project=FALSE)
   coef(ppm(redwood ~1, Strauss(rr)))
 } else {
   rc <- 0.09
   exactMPLEstrauss(cells, rc, ngrid=64, plotit=TRUE)
   exactMPLEstrauss(cells, rc, ngrid=64, project=FALSE)
 }
# }

Run the code above in your browser using DataLab