R: Generic Pairwise Interaction model

Pairwise {spatstat.core} | R Documentation

## Generic Pairwise Interaction model

### Description

Creates an instance of a pairwise interaction point process model which can then be fitted to point pattern data.

### Usage

      Pairwise(pot, name, par, parnames, printfun)

### Arguments

`pot` | An R language function giving the user-supplied pairwise interaction potential.
`name` | Character string.
`par` | List of numerical values for irregular parameters
`parnames` | Vector of names of irregular parameters
`printfun` | Do not specify this argument: for internal use only.

### Details

This code constructs a member of the pairwise interaction family `pairwise.family` with arbitrary pairwise interaction potential given by the user.

Each pair of points in the point pattern contributes a factor h(d) to the probability density, where d is the distance between the two points. The factor term h(d) is

h(d) = exp(-theta * pot(d))

provided pot(d) is finite, where theta is the coefficient vector in the model.

The function `pot` must take as its first argument a matrix of interpoint distances, and evaluate the potential for each of these distances. The result must be either a matrix with the same dimensions as its input, or an array with its first two dimensions the same as its input (the latter case corresponds to a vector-valued potential).

If irregular parameters are present, then the second argument to `pot` should be a vector of the same type as `par` giving those parameter values.

The values returned by `pot` may be finite numeric values, or `-Inf` indicating a hard core (that is, the corresponding interpoint distance is forbidden). We define h(d) = 0 if pot(d) = -Inf. Thus, a potential value of minus infinity is always interpreted as corresponding to h(d) = 0, regardless of the sign and magnitude of theta.

### Value

An object of class `"interact"` describing the interpoint interaction structure of a point process.

### Author(s)

Adrian Baddeley Adrian.Baddeley@curtin.edu.au

and Rolf Turner r.turner@auckland.ac.nz

### See Also

`ppm`, `pairwise.family`, `ppm.object`

### Examples

       #This is the same as StraussHard(r=0.7,h=0.05)
       strpot <- function(d,par) {
             r <- par$r
             h <- par$h
             value <- (d <= r)
             value[d < h] <- -Inf
             value
       }
       mySH <- Pairwise(strpot, "StraussHard process", list(r=0.7,h=0.05),
               c("interaction distance r", "hard core distance h"))
       data(cells)
       ppm(cells, ~ 1, mySH, correction="isotropic")

       # Fiksel (1984) double exponential interaction
       # see Stoyan, Kendall, Mecke 1987 p 161

       fikspot <- function(d, par) {
          r <- par$r
          h <- par$h
          zeta <- par$zeta
          value <- exp(-zeta * d)
          value[d < h] <- -Inf
          value[d > r] <- 0
          value
       }
       Fiksel <- Pairwise(fikspot, "Fiksel double exponential process",
                          list(r=3.5, h=1, zeta=1),
                          c("interaction distance r",
                            "hard core distance h",
                            "exponential coefficient zeta"))
       data(spruces)
       fit <- ppm(unmark(spruces), ~1, Fiksel, rbord=3.5)
       fit
       plot(fitin(fit), xlim=c(0,4))
       coef(fit)
       # corresponding values obtained by Fiksel (1984) were -1.9 and -6.0

[Package spatstat.core version 2.4-4 Index]