R: Simulate Matern Cluster Process

rMatClust {spatstat} | R Documentation

## Simulate Matern Cluster Process

### Description

Generate a random point pattern, a simulated realisation of the Matern Cluster Process.

### Usage

     rMatClust(kappa, scale, mu, win = owin(c(0,1),c(0,1)),
               nsim=1, drop=TRUE,
               saveLambda=FALSE, expand = scale, ...,
               poisthresh=1e-6, saveparents=TRUE)

### Arguments

`kappa` | Intensity of the Poisson process of cluster centres. A single positive number, a function, or a pixel image.
`scale` | Radius parameter of the clusters.
`mu` | Mean number of points per cluster (a single positive number) or reference intensity for the cluster points (a function or a pixel image).
`win` | Window in which to simulate the pattern. An object of class `"owin"` or something acceptable to `as.owin`.
`nsim` | Number of simulated realisations to be generated.
`drop` | Logical. If `nsim=1` and `drop=TRUE` (the default), the result will be a point pattern, rather than a list containing a point pattern.
`saveLambda` | Logical. If `TRUE` then the random intensity corresponding to the simulated parent points will also be calculated and saved, and returns as an attribute of the point pattern.
`expand` | Numeric. Size of window expansion for generation of parent points. Defaults to `scale` which is the cluster radius.
`...` | Passed to `clusterfield` to control the image resolution when `saveLambda=TRUE`.
`poisthresh` | Numerical threshold below which the model will be treated as a Poisson process. See Details.
`saveparents` | Logical value indicating whether to save the locations of the parent points as an attribute.

### Details

This algorithm generates a realisation of Matern's cluster process, a special case of the Neyman-Scott process, inside the window `win`.

In the simplest case, where `kappa` and `mu` are single numbers, the algorithm generates a uniform Poisson point process of “parent” points with intensity `kappa`. Then each parent point is replaced by a random cluster of “offspring” points, the number of points per cluster being Poisson (`mu`) distributed, and their positions being placed and uniformly inside a disc of radius `scale` centred on the parent point. The resulting point pattern is a realisation of the classical “stationary Matern cluster process” generated inside the window `win`. This point process has intensity `kappa * mu`.

The algorithm can also generate spatially inhomogeneous versions of the Matern cluster process:

- The parent points can be spatially inhomogeneous. If the argument `kappa` is a `function(x,y)` or a pixel image (object of class `"im"`), then it is taken as specifying the intensity function of an inhomogeneous Poisson process that generates the parent points.

- The offspring points can be inhomogeneous. If the argument `mu` is a `function(x,y)` or a pixel image (object of class `"im"`), then it is interpreted as the reference density for offspring points, in the sense of Waagepetersen (2007). For a given parent point, the offspring constitute a Poisson process with intensity function equal to `mu/(pi * scale^2)` inside the disc of radius `scale` centred on the parent point, and zero intensity outside this disc. Equivalently we first generate, for each parent point, a Poisson (M) random number of offspring (where M is the maximum value of `mu`) placed independently and uniformly in the disc of radius `scale` centred on the parent location, and then randomly thin the offspring points, with retention probability `mu/M`.

- Both the parent points and the offspring points can be inhomogeneous, as described above.

Note that if `kappa` is a pixel image, its domain must be larger than the window `win`. This is because an offspring point inside `win` could have its parent point lying outside `win`. In order to allow this, the simulation algorithm first expands the original window `win` by a distance `expand` and generates the Poisson process of parent points on this larger window. If `kappa` is a pixel image, its domain must contain this larger window.

The intensity of the Matern cluster process is `kappa * mu` if either `kappa` or `mu` is a single number. In the general case the intensity is an integral involving `kappa`, `mu` and `scale`.

The Matern cluster process model with homogeneous parents (i.e. where `kappa` is a single number) can be fitted to data using `kppm`. Currently it is not possible to fit the Matern cluster process model with inhomogeneous parents.

If the pair correlation function of the model is very close to that of a Poisson process, deviating by less than `poisthresh`, then the model is approximately a Poisson process, and will be simulated as a Poisson process with intensity `kappa * mu`, using `rpoispp`. This avoids computations that would otherwise require huge amounts of memory.

### Value

A point pattern (an object of class `"ppp"`) if `nsim=1`, or a list of point patterns if `nsim > 1`.

Additionally, some intermediate results of the simulation are returned as attributes of this point pattern (see `rNeymanScott`). Furthermore, the simulated intensity function is returned as an attribute `"Lambda"`, if `saveLambda=TRUE`.

### Author(s)

Adrian Baddeley Adrian.Baddeley@curtin.edu.au

and Rolf Turner r.turner@auckland.ac.nz

### References

Matern, B. (1960) Spatial Variation. Meddelanden fraan Statens Skogsforskningsinstitut, volume 59, number 5. Statens Skogsforskningsinstitut, Sweden.

Matern, B. (1986) Spatial Variation. Lecture Notes in Statistics 36, Springer-Verlag, New York.

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

### See Also

`rpoispp`, `rThomas`, `rCauchy`, `rVarGamma`, `rNeymanScott`, `rGaussPoisson`, `kppm`, `clusterfit`.

### Examples

     # homogeneous
     X <- rMatClust(10, 0.05, 4)
     # inhomogeneous
     ff <- function(x,y){ 4 * exp(2 * abs(x) - 1) }
     Z <- as.im(ff, owin())
     Y <- rMatClust(10, 0.05, Z)
     YY <- rMatClust(ff, 0.05, 3)

[Package spatstat version 1.54-0 Index]