spatstat.core (version 2.1-2)

Fiksel: The Fiksel Interaction


Creates an instance of Fiksel's double exponential pairwise interaction point process model, which can then be fitted to point pattern data.


Fiksel(r, hc=NA, kappa)



The interaction radius of the Fiksel model


The hard core distance


The rate parameter


An object of class "interact" describing the interpoint interaction structure of the Fiksel process with interaction radius \(r\), hard core distance hc and rate parameter kappa.


Fiksel (1984) introduced a pairwise interaction point process with the following interaction function \(c\). For two points \(u\) and \(v\) separated by a distance \(d=||u-v||\), the interaction \(c(u,v)\) is equal to \(0\) if \(d < h\), equal to \(1\) if \(d > r\), and equal to $$ \exp(a \exp(-\kappa d))$$ if \(h \le d \le r\), where \(h,r,\kappa,a\) are parameters.

A graph of this interaction function is shown in the Examples. The interpretation of the parameters is as follows.

  • \(h\) is the hard core distance: distinct points are not permitted to come closer than a distance \(h\) apart.

  • \(r\) is the interaction range: points further than this distance do not interact.

  • \(\kappa\) is the rate or slope parameter, controlling the decay of the interaction as distance increases.

  • \(a\) is the interaction strength parameter, controlling the strength and type of interaction. If \(a\) is zero, the process is Poisson. If a is positive, the process is clustered. If a is negative, the process is inhibited (regular).

The function ppm(), which fits point process models to point pattern data, requires an argument of class "interact" describing the interpoint interaction structure of the model to be fitted. The appropriate description of the Fiksel pairwise interaction is yielded by the function Fiksel(). See the examples below.

The parameters \(h\), \(r\) and \(\kappa\) must be fixed and given in the call to Fiksel, while the canonical parameter \(a\) is estimated by ppm().

To estimate \(h\), \(r\) and\(\kappa\) it is possible to use profilepl. The maximum likelihood estimator of\(h\) is the minimum interpoint distance.

If the hard core distance argument hc is missing or NA, it will be estimated from the data when ppm is called. The estimated value of hc is the minimum nearest neighbour distance multiplied by \(n/(n+1)\), where \(n\) is the number of data points.

See also Stoyan, Kendall and Mecke (1987) page 161.


Baddeley, A. and Turner, R. (2000) Practical maximum pseudolikelihood for spatial point patterns. Australian and New Zealand Journal of Statistics 42, 283--322.

Fiksel, T. (1984) Estimation of parameterized pair potentials of marked and non-marked Gibbsian point processes. Electronische Informationsverabeitung und Kybernetika 20, 270--278.

Stoyan, D, Kendall, W.S. and Mecke, J. (1987) Stochastic geometry and its applications. Wiley.

See Also

ppm,, ppm.object, StraussHard


   Fiksel(r=1,hc=0.02, kappa=2)
   # prints a sensible description of itself

   X <- unmark(spruces)

   fit <- ppm(X ~ 1, Fiksel(r=3.5, kappa=1))
# }