# pcfinhom

##### Inhomogeneous Pair Correlation Function

Estimates the inhomogeneous pair correlation function of a point pattern using kernel methods.

- Keywords
- spatial, nonparametric

##### Usage

```
pcfinhom(X, lambda = NULL, ..., r = NULL,
kernel = "epanechnikov", bw = NULL, stoyan = 0.15,
correction = c("translate", "Ripley"),
divisor = c("r", "d"),
renormalise = TRUE, normpower=1,
update = TRUE, leaveoneout = TRUE,
reciplambda = NULL,
sigma = NULL, varcov = NULL, close=NULL)
```

##### Arguments

- X
A point pattern (object of class

`"ppp"`

).- lambda
Optional. Values of the estimated intensity function. Either a vector giving the intensity values at the points of the pattern

`X`

, a pixel image (object of class`"im"`

) giving the intensity values at all locations, a fitted point process model (object of class`"ppm"`

,`"kppm"`

or`"dppm"`

) or a`function(x,y)`

which can be evaluated to give the intensity value at any location.- r
Vector of values for the argument \(r\) at which \(g(r)\) should be evaluated. There is a sensible default.

- kernel
Choice of smoothing kernel, passed to

`density.default`

.- bw
Bandwidth for smoothing kernel, passed to

`density.default`

. Either a single numeric value, or a character string specifying a bandwidth selection rule recognised by`density.default`

. If`bw`

is missing or`NULL`

, the default value is computed using Stoyan's rule of thumb: see`bw.stoyan`

.- …
Other arguments passed to the kernel density estimation function

`density.default`

.- stoyan
Coefficient for Stoyan's bandwidth selection rule; see

`bw.stoyan`

.- correction
Character string or character vector specifying the choice of edge correction. See

`Kest`

for explanation and options.- divisor
Choice of divisor in the estimation formula: either

`"r"`

(the default) or`"d"`

. See`pcf.ppp`

.- renormalise
Logical. Whether to renormalise the estimate. See Details.

- normpower
Integer (usually either 1 or 2). Normalisation power. See Details.

- update
Logical. If

`lambda`

is a fitted model (class`"ppm"`

,`"kppm"`

or`"dppm"`

) and`update=TRUE`

(the default), the model will first be refitted to the data`X`

(using`update.ppm`

or`update.kppm`

) before the fitted intensity is computed. If`update=FALSE`

, the fitted intensity of the model will be computed without re-fitting it to`X`

.- leaveoneout
Logical value (passed to

`density.ppp`

or`fitted.ppm`

) specifying whether to use a leave-one-out rule when calculating the intensity.- reciplambda
Alternative to

`lambda`

. Values of the estimated*reciprocal*\(1/\lambda\) of the intensity function. Either a vector giving the reciprocal intensity values at the points of the pattern`X`

, a pixel image (object of class`"im"`

) giving the reciprocal intensity values at all locations, or a`function(x,y)`

which can be evaluated to give the reciprocal intensity value at any location.- sigma,varcov
Optional arguments passed to

`density.ppp`

to control the smoothing bandwidth, when`lambda`

is estimated by kernel smoothing.- close
Advanced use only. Precomputed data. See section on Advanced Use.

##### Details

The inhomogeneous pair correlation function \(g_{\rm inhom}(r)\) is a summary of the dependence between points in a spatial point process that does not have a uniform density of points.

The best intuitive interpretation is the following: the probability \(p(r)\) of finding two points at locations \(x\) and \(y\) separated by a distance \(r\) is equal to $$ p(r) = \lambda(x) lambda(y) g(r) \,{\rm d}x \, {\rm d}y $$ where \(\lambda\) is the intensity function of the point process. For a Poisson point process with intensity function \(\lambda\), this probability is \(p(r) = \lambda(x) \lambda(y)\) so \(g_{\rm inhom}(r) = 1\).

The inhomogeneous pair correlation function
is related to the inhomogeneous \(K\) function through
$$
g_{\rm inhom}(r) = \frac{K'_{\rm inhom}(r)}{2\pi r}
$$
where \(K'_{\rm inhom}(r)\)
is the derivative of \(K_{\rm inhom}(r)\), the
inhomogeneous \(K\) function. See `Kinhom`

for information
about \(K_{\rm inhom}(r)\).

The command `pcfinhom`

estimates the inhomogeneous
pair correlation using a modified version of
the algorithm in `pcf.ppp`

.

If `renormalise=TRUE`

(the default), then the estimates
are multiplied by \(c^{\mbox{normpower}}\) where
\(
c = \mbox{area}(W)/\sum (1/\lambda(x_i)).
\)
This rescaling reduces the variability and bias of the estimate
in small samples and in cases of very strong inhomogeneity.
The default value of `normpower`

is 1
but the most sensible value is 2, which would correspond to rescaling
the `lambda`

values so that
\(
\sum (1/\lambda(x_i)) = \mbox{area}(W).
\)

##### Value

A function value table (object of class `"fv"`

).
Essentially a data frame containing the variables

the vector of values of the argument \(r\) at which the inhomogeneous pair correlation function \(g_{\rm inhom}(r)\) has been estimated

vector of values equal to 1, the theoretical value of \(g_{\rm inhom}(r)\) for the Poisson process

vector of values of \(g_{\rm inhom}(r)\) estimated by translation correction

vector of values of \(g_{\rm inhom}(r)\) estimated by Ripley isotropic correction

##### Advanced Use

To perform the same computation using several different bandwidths `bw`

,
it is efficient to use the argument `close`

.
This should be the result of `closepairs(X, rmax)`

for a suitably large value of `rmax`

, namely
`rmax >= max(r) + 3 * bw`

.

##### See Also

##### Examples

```
# NOT RUN {
data(residualspaper)
X <- residualspaper$Fig4b
plot(pcfinhom(X, stoyan=0.2, sigma=0.1))
fit <- ppm(X, ~polynom(x,y,2))
plot(pcfinhom(X, lambda=fit, normpower=2))
# }
```

*Documentation reproduced from package spatstat, version 1.63-0, License: GPL (>= 2)*