# psstG

##### Pseudoscore Diagnostic For Fitted Model against Saturation Alternative

Given a point process model fitted to a point pattern dataset, this function computes the pseudoscore diagnostic of goodness-of-fit for the model, against moderately clustered or moderately inhibited alternatives of saturation type.

##### Usage

```
psstG(object, r = NULL, breaks = NULL, …,
model=NULL,
trend = ~1, interaction = Poisson(), rbord = reach(interaction),
truecoef = NULL, hi.res = NULL)
```

##### Arguments

- object
Object to be analysed. Either a fitted point process model (object of class

`"ppm"`

) or a point pattern (object of class`"ppp"`

) or quadrature scheme (object of class`"quad"`

).- r
Optional. Vector of values of the argument \(r\) at which the diagnostic should be computed. This argument is usually not specified. There is a sensible default.

- breaks
Optional alternative to

`r`

for advanced use.- …
Ignored.

- model
Optional. A fitted point process model (object of class

`"ppm"`

) to be re-fitted to the data using`update.ppm`

, if`object`

is a point pattern. Overrides the arguments`trend,interaction,rbord,ppmcorrection`

.- trend,interaction,rbord
Optional. Arguments passed to

`ppm`

to fit a point process model to the data, if`object`

is a point pattern. See`ppm`

for details.- truecoef
Optional. Numeric vector. If present, this will be treated as if it were the true coefficient vector of the point process model, in calculating the diagnostic. Incompatible with

`hi.res`

.- hi.res
Optional. List of parameters passed to

`quadscheme`

. If this argument is present, the model will be re-fitted at high resolution as specified by these parameters. The coefficients of the resulting fitted model will be taken as the true coefficients. Then the diagnostic will be computed for the default quadrature scheme, but using the high resolution coefficients.

##### Details

This function computes the pseudoscore test statistic which can be used as a diagnostic for goodness-of-fit of a fitted point process model.

Consider a point process model fitted to \(x\), with
conditional intensity
\(\lambda(u,x)\) at location \(u\).
For the purpose of testing goodness-of-fit, we regard the fitted model
as the null hypothesis.
The alternative hypothesis is a family of
hybrid models obtained by combining
the fitted model with the Geyer saturation process
(see `Geyer`

) with saturation parameter 1.
The family of alternatives includes
models that are more regular than the fitted model,
and others that are more clustered than the fitted model.

For any point pattern \(x\), and any \(r > 0\), let \(S(x,r)\) be the number of points in \(x\) whose nearest neighbour (the nearest other point in \(x\)) is closer than \(r\) units. Then the pseudoscore for the null model is $$ V(r) = \sum_i \Delta S(x_i, x, r ) - \int_W \Delta S(u,x,r) \lambda(u,x) {\rm d} u $$ where the \(\Delta\) operator is $$ \Delta S(u,x,r) = S(x\cup\{u\}, r) - S(x\setminus u, r) $$ the difference between the values of \(S\) for the point pattern with and without the point \(u\).

According to the Georgii-Nguyen-Zessin formula, \(V(r)\) should have mean zero if the model is correct (ignoring the fact that the parameters of the model have been estimated). Hence \(V(r)\) can be used as a diagnostic for goodness-of-fit.

The diagnostic \(V(r)\) is also called
the **pseudoresidual** of \(S\). On the right
hand side of the equation for \(V(r)\) given above,
the sum over points of \(x\) is called the
**pseudosum** and the integral is called the **pseudocompensator**.

##### Value

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

),
essentially a data frame of function values.

Columns in this data frame include `dat`

for the pseudosum,
`com`

for the compensator and `res`

for the
pseudoresidual.

There is a plot method for this class. See
`fv.object`

.

##### References

Baddeley, A., Rubak, E. and Moller, J. (2011)
Score, pseudo-score and residual
diagnostics for spatial point process models.
*Statistical Science* **26**, 613--646.

##### See Also

##### Examples

```
# NOT RUN {
X <- rStrauss(200,0.1,0.05)
plot(psstG(X))
plot(psstG(X, interaction=Strauss(0.05)))
# }
```

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