Learn R Programming

ecespa (version 1.1-1)

Kci: Test against non-Poisson (in-)homogeneous models

Description

Functions to automate testing of 'univariate' and 'bivariate' point pattern hypothesis against non-Poisson (in-)homogeneous models.

Usage

Kci(mod1, mod2, correction="trans", nsim=99, ngrid=200, nrep=1e+05,
     r=NULL, simu="both", spctype=1)

Ki(mod1, correction="trans", nsim=99, ngrid=200, nrep=1e+05, r=NULL,
    spctype=1)

## S3 method for class 'ecespa.kci':
plot(x, type=1, q=0.025, kmean=TRUE, add=FALSE, maine=NULL, 
       xlabe=NULL, ylabe=NULL, xlime=NULL, ylime=NULL, 
       lty=c(1,2,3), col=c(1,2,3), lwd=c(1,1,1), ...)

Arguments

mod1
Fitted model. An object of class ppm or ecespa.minconfit.
mod2
Fitted model. An object of class ppm or ecespa.minconfit.
correction
A character item selecting any of the options "border", "bord.modif", or "translate". It specifies the edge correction to be applied when computing K-functions.
nsim
Number of simulated point patterns to be generated when computing the envelopes.
ngrid
Dimensions (ngrid by ngrid) of a rectangular grid of locations where predict.ppm would evaluate the spatial trend of the fitted models.
nrep
Total number of steps (proposals) of Metropolis-Hastings algorithm that should be run by rmh to simulate models of class ppm.
r
Numeric vector. The values of the argument $r$ at which the $K(r)$ functions should be evaluated.
simu
A character item indicating if both models will be simulated for the computation of the envelopes (simu = "both") or just the second model (simu != "both").
spctype
Type of 'pre-thinning' method employed by rIPCP in the simulation of ecespa.minconfit models.
x
An object of class 'ecespa.kci'. The result of runing Kci or Ki.
type
What to plot. One of 1 (K1), 2 (K2), 12 (K12), 21 (K21), 112 (K1-K12) or 221 (K2-K21).
q
Quantile for selecting the simulation envelopes.
kmean
Logical. Should the mean of the simulated envelopes be ploted?
add
Logical. Should the kci.plot be added to a previous plot?
maine
Title to add to the plot.
xlabe
Text or expression to label the x-axis.
ylabe
Text or expression to label the y-axis.
xlime
Max and min coordinates for the x-axis.
ylime
Max and min coordinates for the y-axis.
lty
Vector with the line type for the estimated Kmm function, the simulated envelopes and the mean of the simulated envelopes.
col
Vector with the color for the estimated K-function, the simulated envelopes and the mean of the simulated envelopes.
lwd
Vector with the line width for the estimated K-function, the simulated envelopes and the mean of the simulated envelopes.
...
Additional graphical parameters passed to plot.

Value

  • Both Kci and Ki return an object of class 'ecespa.kci', basically a list with the following items:
  • rNumeric vector. The values of the argument $r$ at which the $K(r)$ functions have been evaluated.
  • kiaNumeric vector. Observed (in-)homogeneous K function for mod1 point pattern.
  • kibNumeric vector. Observed (in-)homogeneous K function for mod2 point pattern.
  • kci.ab.oNumeric vector. Observed (in-) homogeneous cross K-function (K12) for mod1 and mod2 point patterns.
  • kci.ba.oNumeric vector. Observed (in-) homogeneous cross K-function (K21) for mod2 and mod1 point patterns.
  • kci.ab.sMatrix of simulated (in-) homogeneous cross K-function (K12) for mod1 and mod2 point patterns.
  • kci.ba.sMatrix of simulated (in-) homogeneous cross K-function (K21) for mod2 and mod1 point patterns.
  • kib.sMatrix of simulated (in-)homogeneous K function for mod2 point pattern.
  • kia.sMatrix of simulated (in-)homogeneous K function for mod1 point pattern.
  • datanameaName of mod1 point pattern.
  • datanamebName of mod2 point pattern.
  • modnameaName of model mod1.
  • modnamebName of model mod2.
  • typeType of analysis. "Kci" or "Ki".

Warning

As this implementation involves the use of images as the means of evaluation of the (inhomogeneous) spatial trend, and a mask based on those images will be used as the point pattern window, the "Ripley's" or "isotropic" edge correction can not be employed. It is usual that during the simulation process some warnings are produced. They are related to some simulated points being rejected as lying outside the specified window.

Details

These functions are designed to automate the testing of 'univariate' and(/or) 'bivariate' point pattern hypotheses (based on K-functions) against non-Poisson (in-)homogeneous models. These non-Poisson (in-)homogeneous models should have been fitted with pseudolikelihood tools (spatstat ppm function) or with minimum contrast methods (ecespa.minconfit). Function Ki is designed to test 'univariate' hypotheses. It will compute the (in-)homogeneous K-function (using spatstat Kinhom function) of the point pattern to which the ppm or ecespa.minconfit model has beeen fitted and will compute 'envelopes' simulating from the fitted model. The computed envelopes can be considered as a pointwise test of the point pattern been a realisation of the fitted model. Function Kci is designed to test 'bivariate' hypotheses. It will compute the (in-)homogeneous cross K-function (using spatstat Kcross.inhom function) and will compute envelopes simulating from the fitted models. As, when dealing with inhomogeneos patterns $K12$ != $K21$, Kci will compute both functions. If simu = "both" (default option), Kci will simulate from mod2 to test K12 and from mod1 to test K21. If simu != "both", only mod2 will be simulated. This option may be useful when only K12 is of interest. Function Kci will also compute univariate (in-) homogeneous K-functions and envelopes for each individual point pattern. The S3 ploth method will plot the selected K-function and envelopes (actually, it will plot the most usual L-function = $sqrt[K(r)/pi]-r$). The appropriate K function can be selected with the argument type. If type = 1 (default option), it will plot the univariate K function (of the analized model in Ki or of the first model [mod1] in Kci). If type = 2, it will plot the univariate K function of the second model (mod2 in Kci). When type = 12 or type = 21, it will plot respectively K12 or K21. Options type = 112 or type = 221 will graph a kind of 'segregation test' (see K1K2), and will represent de differences K1-K12, K2-K21 and their envelopes.

References

De la Cruz, M. and Escudero, A. 2008. Null models and tools for multivariate heterogeneous point patterns. Submitted. De Soto, L., Olano, J.M., Rozas, V. and De la Cruz, M. 2008. Breakdown of traditional management drives community reorganization: A case study in Spanish juniper woodland. Submitted.

Examples

Run this code
require(spatstat)
    data(urkiola)

   #####################
   ## univariate example

   # get univariate pp
   I.ppp <- split.ppp(urkiola)$birch

   # estimate inhomogeneous intensity function
   I.lam <- predict (ppm(I.ppp, ~polynom(x,y,2)), type="trend", ngrid=200)

   # Compute and plot envelopes to Kinhom, simulating from an Inhomogeneous
   #  Poisson Process:
   
   I2.env <- envelope( I.ppp,Kinhom, lambda=I.lam, correction="trans", 
                              nsim=99, simulate=expression(rpoispp(I.lam)))
   plot(I2.env, sqrt(./pi)-r~r) 

   # It seems that there is short scale clustering; let's fit an Inhomogeneous 
   # Poisson Cluster Process: 

   I.ki <- ipc.estK(mippp=I.ppp, lambda=I.lam, correction="trans")

   # Compute and plot envelopes to Kinhom, simulating from the fitted IPCP:

   Ipc.env <- Ki(I.ki, correction="trans", nsim=99, ngrid=200)

   plot (Ipc.env)
 
   #####################
   ## bivariate example: test independence between birch and quercus in Urkiola

   J.ppp <- split.ppp(urkiola)$oak
   
   # We want to simulate oak from a homogeneous Poisson model:
   J.ppm <- ppm(J.ppp, trend=~1, interaction=Poisson() )
   
   IJ.env <- Kci (mod1=I.ki, nsim=99, mod2=J.ppm)
   
   plot(IJ.env, type=12)
   
   plot(IJ.env, type=21)

Run the code above in your browser using DataLab