Learn R Programming

spatstat (version 1.11-4)

ks.test.ppm: Kolmogorov-Smirnov Test for Point Process Model

Description

Performs a Kolmogorov-Smirnov test of goodness-of-fit of a Poisson point process model. The test compares the observed and predicted distributions of the values of a spatial covariate.

Usage

ks.test.ppm(model, covariate, ...)

Arguments

model
A fitted point process model (object of class "ppm").
covariate
The spatial covariate on which the test will be based. An image (object of class "im") or a function.
...
Arguments passed to ks.test to control the test.

Value

  • An object of class "htest" containing the results of the test. See ks.test for details. The return value can be printed to give an informative summary of the test.

    The value also belongs to the class "kstest" for which there is a plot method.

Details

This function performs a goodness-of-fit test of a fitted point process model. The observed distribution of the values of a spatial covariate at the data points, and the predicted distribution of the same values under the model, are compared using the Kolmogorov-Smirnov test. The argument model should be a fitted point process model (object of class "ppm"). It should be a Poisson point process.

The argument covariate should be either a function(x,y) or a pixel image (object of class "im" containing the values of a spatial function. If covariate is an image, it should have numeric values, and its domain should cover the observation window of the model. If covariate is a function, it should expect two arguments x and y which are vectors of coordinates, and it should return a numeric vector of the same length as x and y.

First the original data point pattern is extracted from model. The values of the covariate at these data points are collected.

The predicted distribution of the values of the covariate under the fitted model is computed as follows. The values of the covariate at all locations in the observation window are evaluated, weighted according to the point process intensity of the fitted model, and compiled into a cumulative distribution function $F$ using ewcdf.

The probability integral transformation is then applied: the values of the covariate at the original data points are transformed by the predicted cumulative distribution function $F$ into numbers between 0 and 1. If the model is correct, these numbers are i.i.d. uniform random numbers. The Kolmogorov-Smirnov test of uniformity is applied using ks.test.

This test was apparently first described (in the context of spatial data) by Berman (1986). See also Baddeley et al (2005).

The return value is an object of class "htest" containing the results of the hypothesis test. The print method for this class gives an informative summary of the test outcome.

The return value also belongs to the class "kstest" for which there is an (undocumented) plot method. The plot method displays the empirical cumulative distribution function of the covariate at the data points, and the predicted cumulative distribution function of the covariate under the model, plotted against the value of the covariate.

References

Baddeley, A., Turner, R., Moller, J. and Hazelton, M. (2005) Residual analysis for spatial point processes. Journal of the Royal Statistical Society, Series B 67, 617--666.

Berman, M. (1986) Testing for spatial association between a point process and another stochastic process. Applied Statistics 35, 54--62.

See Also

ks.test, quadrat.test, ppm

Examples

Run this code
# nonuniform Poisson process
   X <- rpoispp(function(x,y) { 100 * exp(x) }, win=square(1))
   # fit uniform Poisson process
   fit0 <- ppm(X, ~1)
   # fit correct nonuniform Poisson process
   fit1 <- ppm(X, ~x)

   # test covariate = x coordinate
   xcoord <- function(x,y) { x }

   # test wrong model
   ks.test.ppm(fit0, xcoord)
   # test right model
   ks.test.ppm(fit1, xcoord)

Run the code above in your browser using DataLab