Creates an instance of a saturated pairwise interaction point process model with piecewise constant potential function. The model can then be fitted to point pattern data.

`SatPiece(r, sat)`

r

vector of jump points for the potential function

sat

vector of saturation values, or a single saturation value

An object of class `"interact"`

describing the interpoint interaction
structure of a point process.

This is a generalisation of the Geyer saturation point process model,
described in `Geyer`

, to the case of multiple interaction
distances. It can also be described as the saturated analogue of a
pairwise interaction process with piecewise-constant pair potential,
described in `PairPiece`

.

The saturated point process with interaction radii \(r_1,\ldots,r_k\), saturation thresholds \(s_1,\ldots,s_k\), intensity parameter \(\beta\) and interaction parameters \(\gamma_1,\ldots,gamma_k\), is the point process in which each point \(x_i\) in the pattern \(X\) contributes a factor $$ \beta \gamma_1^{v_1(x_i, X)} \ldots gamma_k^{v_k(x_i,X)} $$ to the probability density of the point pattern, where $$ v_j(x_i, X) = \min( s_j, t_j(x_i,X) ) $$ where \(t_j(x_i, X)\) denotes the number of points in the pattern \(X\) which lie at a distance between \(r_{j-1}\) and \(r_j\) from the point \(x_i\). We take \(r_0 = 0\) so that \(t_1(x_i,X)\) is the number of points of \(X\) that lie within a distance \(r_1\) of the point \(x_i\).

`SatPiece`

is used to fit this model to data.
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 piecewise constant Saturated pairwise
interaction is yielded by the function `SatPiece()`

.
See the examples below.

Simulation of this point process model is not yet implemented. This model is not locally stable (the conditional intensity is unbounded).

The argument `r`

specifies the vector of interaction distances.
The entries of `r`

must be strictly increasing, positive numbers.

The argument `sat`

specifies the vector of saturation parameters.
It should be a vector of the same length as `r`

, and its entries
should be nonnegative numbers. Thus `sat[1]`

corresponds to the
distance range from `0`

to `r[1]`

, and `sat[2]`

to the
distance range from `r[1]`

to `r[2]`

, etc.
Alternatively `sat`

may be a single number, and this saturation
value will be applied to every distance range.

Infinite values of the
saturation parameters are also permitted; in this case
\(v_j(x_i,X) = t_j(x_i,X)\)
and there is effectively no `saturation' for the distance range in
question. If all the saturation parameters are set to `Inf`

then
the model is effectively a pairwise interaction process, equivalent to
`PairPiece`

(however the interaction parameters
\(\gamma\) obtained from `SatPiece`

are the
square roots of the parameters \(\gamma\)
obtained from `PairPiece`

).

If `r`

is a single number, this model is virtually equivalent to the
Geyer process, see `Geyer`

.

# NOT RUN { SatPiece(c(0.1,0.2), c(1,1)) # prints a sensible description of itself SatPiece(c(0.1,0.2), 1) ppm(cells ~1, SatPiece(c(0.07, 0.1, 0.13), 2)) # fit a stationary piecewise constant Saturated pairwise interaction process # ppm(cells ~polynom(x,y,3), SatPiece(c(0.07, 0.1, 0.13), 2)) # nonstationary process with log-cubic polynomial trend # }