spatstat.core (version 2.3-1)

rVarGamma: Simulate Neyman-Scott Point Process with Variance Gamma cluster kernel


Generate a random point pattern, a simulated realisation of the Neyman-Scott process with Variance Gamma (Bessel) cluster kernel.


rVarGamma(kappa, nu, scale, mu, win = owin(), 
           thresh = 0.001, nsim=1, drop=TRUE,
           saveLambda=FALSE, expand = NULL, ...,
           poisthresh=1e-6, saveparents=TRUE)



Intensity of the Poisson process of cluster centres. A single positive number, a function, or a pixel image.


Shape parameter for the cluster kernel. A number greater than -1.


Scale parameter for cluster kernel. Determines the size of clusters. A positive number in the same units as the spatial coordinates.


Mean number of points per cluster (a single positive number) or reference intensity for the cluster points (a function or a pixel image).


Window in which to simulate the pattern. An object of class "owin" or something acceptable to as.owin.


Threshold relative to the cluster kernel value at the origin (parent location) determining when the cluster kernel will be treated as zero for simulation purposes. Will be overridden by argument expand if that is given.


Number of simulated realisations to be generated.


Logical. If nsim=1 and drop=TRUE (the default), the result will be a point pattern, rather than a list containing a point pattern.


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.


Numeric. Size of window expansion for generation of parent points. By default determined by calling clusterradius with the numeric threshold value given in thresh.

Passed to clusterfield to control the image resolution when saveLambda=TRUE and to clusterradius when expand is missing or NULL.


Numerical threshold below which the model will be treated as a Poisson process. See Details.


Logical value indicating whether to save the locations of the parent points as an attribute.


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.


This algorithm generates a realisation of the Neyman-Scott process with Variance Gamma (Bessel) cluster kernel, inside the window win.

The process is constructed by first generating a Poisson point process of ``parent'' points with intensity kappa. Then each parent point is replaced by a random cluster of points, the number of points in each cluster being random with a Poisson (mu) distribution, and the points being placed independently and uniformly according to a Variance Gamma kernel.

The shape of the kernel is determined by the dimensionless index nu. This is the parameter \(\nu^\prime = \alpha/2-1\) appearing in equation (12) on page 126 of Jalilian et al (2013).

The scale of the kernel is determined by the argument scale, which is the parameter \(\eta\) appearing in equations (12) and (13) of Jalilian et al (2013). It is expressed in units of length (the same as the unit of length for the window win).

In this implementation, parent points are not restricted to lie in the window; the parent process is effectively the uniform Poisson process on the infinite plane.

This model can be fitted to data by the method of minimum contrast, maximum composite likelihood or Palm likelihood using kppm.

The algorithm can also generate spatially inhomogeneous versions of the 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 (2006).

When the parents are homogeneous (kappa is a single number) and the offspring are inhomogeneous (mu is a function or pixel image), the model can be fitted to data using kppm, or using vargamma.estK or vargamma.estpcf applied to the inhomogeneous \(K\) function.

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.


Jalilian, A., Guan, Y. and Waagepetersen, R. (2013) Decomposition of variance for spatial Cox processes. Scandinavian Journal of Statistics 40, 119-137.

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

See Also

rpoispp, rNeymanScott, kppm.

vargamma.estK, vargamma.estpcf.


Run this code
 # homogeneous
 X <- rVarGamma(30, 2, 0.02, 5)
 # inhomogeneous
 ff <- function(x,y){ exp(2 - 3 * abs(x)) }
 Z <-, W= owin())
 Y <- rVarGamma(30, 2, 0.02, Z)
 YY <- rVarGamma(ff, 2, 0.02, 3)
# }

Run the code above in your browser using DataLab