spatstat.core (version 2.1-2)

Geyer: Geyer's Saturation Point Process Model


Creates an instance of Geyer's saturation point process model which can then be fitted to point pattern data.





Interaction radius. A positive real number.


Saturation threshold. A non-negative real number.


An object of class "interact" describing the interpoint interaction structure of Geyer's saturation point process with interaction radius \(r\) and saturation threshold sat.

Zero saturation

The value sat=0 is permitted by Geyer, but this is not very useful. For technical reasons, when ppm fits a Geyer model with sat=0, the default behaviour is to return an “invalid” fitted model in which the estimate of \(\gamma\) is NA. In order to get a Poisson process model returned when sat=0, you would need to set emend=TRUE in the call to ppm.


Geyer (1999) introduced the “saturation process”, a modification of the Strauss process (see Strauss) in which the total contribution to the potential from each point (from its pairwise interaction with all other points) is trimmed to a maximum value \(s\). The interaction structure of this model is implemented in the function Geyer().

The saturation point process with interaction radius \(r\), saturation threshold \(s\), and parameters \(\beta\) and \(\gamma\), is the point process in which each point \(x_i\) in the pattern \(X\) contributes a factor $$ \beta \gamma^{\min(s, t(x_i, X))} $$ to the probability density of the point pattern, where \(t(x_i, X)\) denotes the number of ‘close neighbours’ of \(x_i\) in the pattern \(X\). A close neighbour of \(x_i\) is a point \(x_j\) with \(j \neq i\) such that the distance between \(x_i\) and \(x_j\) is less than or equal to \(r\).

If the saturation threshold \(s\) is set to infinity, this model reduces to the Strauss process (see Strauss) with interaction parameter \(\gamma^2\). If \(s = 0\), the model reduces to the Poisson point process. If \(s\) is a finite positive number, then the interaction parameter \(\gamma\) may take any positive value (unlike the case of the Strauss process), with values \(\gamma < 1\) describing an ‘ordered’ or ‘inhibitive’ pattern, and values \(\gamma > 1\) describing a ‘clustered’ or ‘attractive’ pattern.

The nonstationary saturation process is similar except that the value \(\beta\) is replaced by a function \(\beta(x_i)\) of location.

The function ppm(), which fits point process models to point pattern data, requires an argument of class "interact" describing the interpoint interaction structure of the model to be fitted. The appropriate description of the saturation process interaction is yielded by Geyer(r, sat) where the arguments r and sat specify the Strauss interaction radius \(r\) and the saturation threshold \(s\), respectively. See the examples below.

Note the only arguments are the interaction radius r and the saturation threshold sat. When r and sat are fixed, the model becomes an exponential family. The canonical parameters \(\log(\beta)\) and \(\log(\gamma)\) are estimated by ppm(), not fixed in Geyer().


Geyer, C.J. (1999) Likelihood Inference for Spatial Point Processes. Chapter 3 in O.E. Barndorff-Nielsen, W.S. Kendall and M.N.M. Van Lieshout (eds) Stochastic Geometry: Likelihood and Computation, Chapman and Hall / CRC, Monographs on Statistics and Applied Probability, number 80. Pages 79--140.

See Also

ppm,, ppm.object, Strauss.

To make an interaction object like Geyer but having multiple interaction radii, see BadGey or Hybrid.


   ppm(cells, ~1, Geyer(r=0.07, sat=2))
   # fit the stationary saturation process to `cells'
# }