Creates an instance of the multitype Strauss point process model which can then be fitted to point pattern data.

`MultiStrauss(radii, types=NULL)`

radii

Matrix of interaction radii

types

Optional; vector of all possible types (i.e. the possible levels
of the `marks`

variable in the data)

An object of class `"interact"`

describing the interpoint interaction
structure of the multitype Strauss process with
interaction radii \(radii[i,j]\).

In order that `ppm`

can fit the multitype Strauss
model correctly to a point pattern `X`

, this pattern must
be marked, with `markformat`

equal to `vector`

and the
mark vector `marks(X)`

must be a factor. If the argument
`types`

is specified it is interpreted as a set of factor
levels and this set must equal `levels(marks(X))`

.

Before spatstat version `1.37-0`

,
the syntax of this function was different:
`MultiStrauss(types=NULL, radii)`

.
The new code attempts to handle the old syntax as well.

The (stationary) multitype Strauss process with \(m\) types, with interaction radii \(r_{ij}\) and parameters \(\beta_j\) and \(\gamma_{ij}\) is the pairwise interaction point process in which each point of type \(j\) contributes a factor \(\beta_j\) to the probability density of the point pattern, and a pair of points of types \(i\) and \(j\) closer than \(r_{ij}\) units apart contributes a factor \(\gamma_{ij}\) to the density.

The nonstationary multitype Strauss process is similar except that the contribution of each individual point \(x_i\) is a function \(\beta(x_i)\) of location and type, rather than a constant beta.

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 multitype
Strauss process pairwise interaction is
yielded by the function `MultiStrauss()`

. See the examples below.

The argument `types`

need not be specified in normal use.
It will be determined automatically from the point pattern data set
to which the MultiStrauss interaction is applied,
when the user calls `ppm`

.
However, the user should be confident that
the ordering of types in the dataset corresponds to the ordering of
rows and columns in the matrix `radii`

.

The matrix `radii`

must be symmetric, with entries
which are either positive numbers or `NA`

.
A value of `NA`

indicates that no interaction term should be included
for this combination of types.

Note that only the interaction radii are
specified in `MultiStrauss`

. The canonical
parameters \(\log(\beta_j)\) and
\(\log(\gamma_{ij})\) are estimated by
`ppm()`

, not fixed in `MultiStrauss()`

.

# NOT RUN { r <- matrix(c(1,2,2,1), nrow=2,ncol=2) MultiStrauss(r) # prints a sensible description of itself r <- 0.03 * matrix(c(1,2,2,1), nrow=2,ncol=2) X <- amacrine # } # NOT RUN { ppm(X ~1, MultiStrauss(r)) # fit the stationary multitype Strauss process to `amacrine' # ppm(X ~polynom(x,y,3), MultiStrauss(r, c("off","on"))) # fit a nonstationary multitype Strauss process with log-cubic trend # }