Pairwise {spatstat.model} | 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
to the probability density, where
is the distance
between the two points. The factor term
is
provided is finite,
where
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
if
.
Thus, a potential value of minus infinity is always interpreted
as corresponding to
, regardless of the sign
and magnitude of
.
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 rolfturner@posteo.net
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"))
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"))
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