spatstat.core (version 2.3-1)

thomas.estK: Fit the Thomas Point Process by Minimum Contrast


Fits the Thomas point process to a point pattern dataset by the Method of Minimum Contrast using the K function.


thomas.estK(X, startpar=c(kappa=1,scale=1), lambda=NULL,
            q = 1/4, p = 2, rmin = NULL, rmax = NULL, ...)



Data to which the Thomas model will be fitted. Either a point pattern or a summary statistic. See Details.


Vector of starting values for the parameters of the Thomas process.


Optional. An estimate of the intensity of the point process.


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.


An object of class "minconfit". There are methods for printing and plotting this object. It contains the following main components:


Vector of fitted parameter values.


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.


This algorithm fits the Thomas point process model to a point pattern dataset by the Method of Minimum Contrast, using the \(K\) function.

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 the Thomas point process to X, by finding the parameters of the Thomas model which give the closest match between the theoretical \(K\) function of the Thomas process and the observed \(K\) function. For a more detailed explanation of the Method of Minimum Contrast, see mincontrast.

The Thomas point process is described in Moller and Waagepetersen (2003, pp. 61--62). It is a cluster process formed by taking a pattern of parent points, generated according to a Poisson process with intensity \(\kappa\), and around each parent point, generating a random number of offspring points, such that the number of offspring of each parent is a Poisson random variable with mean \(\mu\), and the locations of the offspring points of one parent are independent and isotropically Normally distributed around the parent point with standard deviation \(\sigma\) which is equal to the parameter scale. The named vector of stating values can use either sigma2 (\(\sigma^2\)) or scale as the name of the second component, but the latter is recommended for consistency with other cluster models.

The theoretical \(K\)-function of the Thomas process is $$ K(r) = \pi r^2 + \frac 1 \kappa (1 - \exp(-\frac{r^2}{4\sigma^2})). $$ The theoretical intensity of the Thomas process is \(\lambda = \kappa \mu\).

In this algorithm, the Method of Minimum Contrast is first used to find optimal values of the parameters \(\kappa\) and \(\sigma^2\). Then the remaining parameter \(\mu\) is inferred from the estimated intensity \(\lambda\).

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 Thomas process can be simulated, using rThomas.

Homogeneous or inhomogeneous Thomas process models can also be fitted using the function kppm.

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.


Diggle, P. J., Besag, J. and Gleaves, J. T. (1976) Statistical analysis of spatial point patterns by means of distance methods. Biometrics 32 659--667.

Moller, J. and Waagepetersen, R. (2003). Statistical Inference and Simulation for Spatial Point Processes. Chapman and Hall/CRC, Boca Raton.

Thomas, M. (1949) A generalisation of Poisson's binomial limit for use in ecology. Biometrika 36, 18--25.

Waagepetersen, R. (2007) An estimating function approach to inference for inhomogeneous Neyman-Scott processes. Biometrics 63, 252--258.

See Also

kppm, lgcp.estK, matclust.estK, mincontrast, Kest, rThomas to simulate the fitted model.


Run this code
    u <- thomas.estK(redwood, c(kappa=10, scale=0.1))
# }

Run the code above in your browser using DataLab