Reduced Second Moment Measure

Estimates the reduced second moment measure $\kappa$ from a point pattern in a window of arbitrary shape.

spatial, nonparametric
Kmeasure(X, sigma, edge=TRUE, ..., varcov=NULL)
The observed point pattern, from which an estimate of $\kappa$ will be computed. An object of class "ppp", or data in any format acceptable to as.ppp().
Standard deviation $\sigma$ of the Gaussian smoothing kernel. Incompatible with varcov.
logical value indicating whether an edge correction should be applied.
Variance-covariance matrix of the Gaussian smoothing kernel. Incompatible with sigma.

The reduced second moment measure $\kappa$ of a stationary point process $X$ is defined so that, for a `typical' point $x$ of the process, the expected number of other points $y$ of the process such that the vector $y - x$ lies in a region $A$, equals $\lambda \kappa(A)$. Here $\lambda$ is the intensity of the process, i.e. the expected number of points of $X$ per unit area.

The more familiar K-function $K(t)$ is just the value of the reduced second moment measure for each disc centred at the origin; that is, $K(t) = \kappa(b(0,t))$.

An estimate of $\kappa$ derived from a spatial point pattern dataset can be useful in exploratory data analysis. Its advantage over the K-function is that it is also sensitive to anisotropy and directional effects.

This function computes an estimate of $\kappa$ from a point pattern dataset X, which is assumed to be a realisation of a stationary point process, observed inside a known, bounded window. Marks are ignored.

The algorithm approximates the point pattern and its window by binary pixel images, introduces a Gaussian smoothing kernel and uses the Fast Fourier Transform fft to form a density estimate of $\kappa$. The calculation corresponds to the edge correction known as the ``translation correction''.

The Gaussian smoothing kernel may be specified by either of the arguments sigma or varcov. If sigma is a single number, this specifies an isotropic Gaussian kernel with standard deviation sigma on each coordinate axis. If sigma is a vector of two numbers, this specifies a Gaussian kernel with standard deviation sigma[1] on the $x$ axis, standard deviation sigma[2] on the $y$ axis, and zero correlation between the $x$ and $y$ axes. If varcov is given, this specifies the variance-covariance matrix of the Gaussian kernel. There do not seem to be any well-established rules for selecting the smoothing kernel in this context. The density estimate of $\kappa$ is returned in the form of a real-valued pixel image. Pixel values are estimates of the integral of the second moment density over the pixel. (The uniform Poisson process would have values identically equal to $a$ where $a$ is the area of a pixel.) Sums of pixel values over a desired region $A$ are estimates of the value of $\kappa(A)$. The image x and y coordinates are on the same scale as vector displacements in the original point pattern window. The point x=0, y=0 corresponds to the `typical point'. A peak in the image near (0,0) suggests clustering; a dip in the image near (0,0) suggests inhibition; peaks or dips at other positions suggest possible periodicity.


  • A real-valued pixel image (an object of class "im", see im.object) whose pixel values are estimates of the value of the reduced second moment measure for each pixel (i.e. estimates of the integral of the second moment density over each pixel).


Stoyan, D, Kendall, W.S. and Mecke, J. (1995) Stochastic geometry and its applications. 2nd edition. Springer Verlag.

Stoyan, D. and Stoyan, H. (1994) Fractals, random shapes and point fields: methods of geometrical statistics. John Wiley and Sons.

See Also

Kest, fryplot, spatstat.options, im.object

  • Kmeasure
 image(Kmeasure(cells, 0.05))
 # shows pronounced dip around origin consistent with strong inhibition
 image(Kmeasure(redwood, 0.03), col=grey(seq(1,0,length=32)))
 # shows peaks at several places, reflecting clustering and ?periodicity
Documentation reproduced from package spatstat, version 1.16-3, License: GPL (>= 2)

Community examples

Looks like there are no examples yet.