Kres {spatstat.model}R Documentation

Residual K Function

Description

Given a point process model fitted to a point pattern dataset, this function computes the residual KK function, which serves as a diagnostic for goodness-of-fit of the model.

Usage

   Kres(object, ...)

Arguments

object

Object to be analysed. Either a fitted point process model (object of class "ppm"), a point pattern (object of class "ppp"), a quadrature scheme (object of class "quad"), or the value returned by a previous call to Kcom.

...

Arguments passed to Kcom.

Details

This command provides a diagnostic for the goodness-of-fit of a point process model fitted to a point pattern dataset. It computes a residual version of the KK function of the dataset, which should be approximately zero if the model is a good fit to the data.

In normal use, object is a fitted point process model or a point pattern. Then Kres first calls Kcom to compute both the nonparametric estimate of the KK function and its model compensator. Then Kres computes the difference between them, which is the residual KK-function.

Alternatively, object may be a function value table (object of class "fv") that was returned by a previous call to Kcom. Then Kres computes the residual from this object.

Value

A function value table (object of class "fv"), essentially a data frame of function values. There is a plot method for this class. See fv.object.

Author(s)

Adrian Baddeley Adrian.Baddeley@curtin.edu.au, Ege Rubak rubak@math.aau.dk and Jesper Moller.

References

Baddeley, A., Rubak, E. and Moller, J. (2011) Score, pseudo-score and residual diagnostics for spatial point process models. Statistical Science 26, 613–646.

See Also

Related functions: Kcom, Kest.

Alternative functions: Gres, psstG, psstA, psst.

Point process models: ppm.

Examples

    fit0 <- ppm(cells ~1) # uniform Poisson
    
    K0 <- Kres(fit0)
    K0
    plot(K0)
# isotropic-correction estimate
    plot(K0, ires ~ r)
# uniform Poisson is clearly not correct

    fit1 <- ppm(cells ~1, Strauss(0.08))
    
    K1 <- Kres(fit1)

    if(interactive()) {
      plot(K1, ires ~ r)
   # fit looks approximately OK; try adjusting interaction distance
      plot(Kres(cells, interaction=Strauss(0.12)))
    }

# How to make envelopes
    
      E <- envelope(fit1, Kres, model=fit1, nsim=19)
      plot(E)
    

# For computational efficiency
    Kc <- Kcom(fit1)
    K1 <- Kres(Kc)

[Package spatstat.model version 3.3-1 Index]