# exactMPLEstrauss

##### Exact Maximum Pseudolikelihood Estimate for Stationary Strauss Process

Computes, to very high accuracy, the Maximum Pseudolikelihood Estimates of the parameters of a stationary Strauss point process.

##### Usage

`exactMPLEstrauss(X, R, ngrid = 2048, plotit = FALSE, project=TRUE)`

##### Arguments

- X
- Data to which the Strauss process will be fitted.
A point pattern dataset (object of class
`"ppp"`

). - R
- Interaction radius of the Strauss process. A non-negative number.
- ngrid
- Grid size for calculation of integrals. An integer, giving the number of grid points in the $x$ and $y$ directions.
- plotit
- Logical. If
`TRUE`

, the log pseudolikelihood is plotted on the current device. - project
- Logical. If
`TRUE`

(the default), the parameter $\gamma$ is constrained to lie in the interval $[0,1]$. If`FALSE`

, this constraint is not applied.

##### Details

This function is intended mainly for technical investigation of algorithm performance. Its practical use is quite limited.

It fits the stationary Strauss point process model
to the point pattern dataset `X`

by maximum pseudolikelihood
(with the border edge correction) using an algorithm with very high accuracy.
This algorithm is more accurate than the
*default* behaviour of the model-fitting function
`ppm`

because the discretisation is much finer.

Ripley (1988) and Baddeley and Turner (2000) derived the
log pseudolikelihood for the stationary Strauss
process, and eliminated the parameter $\beta$,
obtaining an exact formula for the partial log pseudolikelihood
as a function of the interaction parameter $\gamma$ only.
The algorithm evaluates this expression to a high degree of accuracy,
using numerical integration on a `ngrid * ngrid`

lattice,
uses `optim`

to maximise the log pseudolikelihood
with respect to $\gamma$, and finally recovers
$\beta$.

The result is a vector of length 2, containing the fitted coefficients
$\log\beta$ and $\log\gamma$.
These values correspond to the entries that would be obtained with
`coef(ppm(X, ~1, Strauss(R)))`

.
The fitted coefficients are typically accurate to
within $10^{-6}$ as shown in Baddeley and Turner (2013).
Note however that (by default) `exactMPLEstrauss`

constrains the parameter $\gamma$ to lie in the
interval $[0,1]$ in which the point process is well defined
(Kelly and Ripley, 1976)
whereas `ppm`

does not constrain
the value of $\gamma$ (by default). This behaviour is controlled by
the argument `project`

to `ppm`

and
`exactMPLEstrauss`

. The default for `ppm`

is `project=FALSE`

, while the default for `exactMPLEstrauss`

is `project=TRUE`

.

##### Value

- Vector of length 2.

##### References

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

Baddeley, A. and Turner, R. (2013)
Bias correction for parameter estimates of spatial point process models.
*Journal of Statistical Computation and Simulation*
**2012**. {doi: 10.1080/00949655.2012.755976}

Kelly, F.P. and Ripley, B.D. (1976)
On Strauss's model for clustering.
*Biometrika* **63**, 357--360.

Ripley, B.D. (1988)
*Statistical inference for spatial processes*.
Cambridge University Press.

##### See Also

##### Examples

```
<testonly>exactMPLEstrauss(cells, 0.1, ngrid=128)
exactMPLEstrauss(cells, 0.1, ngrid=128, project=FALSE)</testonly>
if(interactive()) {
exactMPLEstrauss(cells, 0.1)
coef(ppm(cells, ~1, Strauss(0.1)))
coef(ppm(cells, ~1, Strauss(0.1), nd=128))
exactMPLEstrauss(redwood, 0.04)
exactMPLEstrauss(redwood, 0.04, project=FALSE)
coef(ppm(redwood, ~1, Strauss(0.04)))
}
```

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