lurking(object, covariate, type="eem", cumulative=TRUE, clipwindow=default.clipwindow(object), rv, plot.sd, envelope=FALSE, nsim=39, nrank=1, plot.it=TRUE, typename, covname, oldstyle=FALSE, check=TRUE, ..., splineargs=list(spar=0.5), verbose=TRUE)
"ppm"
)
for which diagnostics should be produced. This object
is usually obtained from ppm
. Alternatively,
object
may be a point pattern (object of class
"ppp"
).
expression
.
See Details below.
"eem"
,
"raw"
, "inverse"
and "pearson"
.
See diagnose.ppm
for all possible choices.
cumulative=TRUE
) or the derivative
of this sum, a marginal density of the smoothed residual field
(cumulative=FALSE
).
NULL
this argument indicates that residuals shall
only be computed inside a subregion of the window containing the
original point pattern data. Then clipwindow
should be
a window object of class "owin"
.
object
,
but will instead be taken directly from rv
.
TRUE
for Poisson models and
FALSE
for non-Poisson models. See Details.
envelope
may be a list of
point patterns to use for computing the simulation envelopes,
or an object of class "envelope"
containing simulated point
patterns.
envelope=TRUE
.
nsim
simulated
values. A rank of 1 means that the minimum and maximum
simulated values will be used.
plot.it=FALSE
, only
the computed coordinates for the plots are returned.
See Value.
oldstyle=TRUE
),
or using the correct asymptotic formula (oldstyle=FALSE
).
object
should be checked.
plot.default
and lines
to control the plot behaviour.
smooth.spline
for the estimation of the derivatives in the case cumulative=FALSE
.
empirical
and theoretical
.
The first dataframe empirical
contains columns
covariate
and value
giving the coordinates of the
lurking variable plot. The second dataframe theoretical
contains columns covariate
, mean
and sd
giving the coordinates of the plot of the theoretical mean
and standard deviation.The return value belongs to the class "lurk"
for which there is
a plot method.
object
are plotted against the covariate specified by covariate
.
This plot can be used to reveal departures from the fitted model,
in particular, to reveal that the point pattern depends on the covariate. First the residuals from the fitted model (Baddeley et al, 2004)
are computed at each quadrature point,
or alternatively the `exponential energy marks' (Stoyan and Grabarnik,
1991) are computed at each data point.
The argument type
selects the type of
residual or weight. See diagnose.ppm
for options
and explanation.
A lurking variable plot for point processes (Baddeley et al, 2004)
displays either the cumulative sum of residuals/weights
(if cumulative = TRUE
) or a kernel-weighted average of the
residuals/weights (if cumulative = FALSE
) plotted against
the covariate. The empirical plot (solid lines) is shown
together with its expected value assuming the model is true
(dashed lines) and optionally also the pointwise
two-standard-deviation limits (grey shading).
To be more precise, let $Z(u)$ denote the value of the covariate
at a spatial location $u$.
cumulative=TRUE
then we plot $H(z)$ against $z$,
where $H(z)$ is the sum of the residuals
over all quadrature points where the covariate takes
a value less than or equal to $z$, or the sum of the
exponential energy weights over all data points where the covariate
takes a value less than or equal to $z$.
cumulative=FALSE
then we plot $h(z)$ against $z$,
where $h(z)$ is the derivative of $H(z)$,
computed approximately by spline smoothing.
For the point process residuals $E(H(z)) = 0$, while for the exponential energy weights $E(H(z)) = $ area of the subset of the window satisfying $Z(u) \le z$.
If the empirical and theoretical curves deviate substantially
from one another, the interpretation is that the fitted model does
not correctly account for dependence on the covariate.
The correct form (of the spatial trend part of the model)
may be suggested by the shape of the plot.
If plot.sd = TRUE
, then superimposed on the lurking variable
plot are the pointwise
two-standard-deviation error limits for $H(x)$ calculated for the
inhomogeneous Poisson process. The default is plot.sd = TRUE
for Poisson models and plot.sd = FALSE
for non-Poisson
models.
By default, the two-standard-deviation limits are calculated
from the exact formula for the asymptotic variance
of the residuals under the asymptotic normal approximation,
equation (37) of Baddeley et al (2006).
However, for compatibility with the original paper
of Baddeley et al (2005), if oldstyle=TRUE
,
the two-standard-deviation limits are calculated
using the innovation variance, an over-estimate of the true
variance of the residuals.
The argument object
must be a fitted point process model
(object of class "ppm"
) typically produced by the maximum
pseudolikelihood fitting algorithm ppm
).
The argument covariate
is either a numeric vector, a pixel
image, or an R language expression.
If it is a numeric vector, it is assumed to contain
the values of the covariate for each of the quadrature points
in the fitted model. The quadrature points can be extracted by
quad.ppm(object)
.
If covariate
is a pixel image, it is assumed to contain the
values of the covariate at each location in the window. The values of
this image at the quadrature points will be extracted.
Alternatively, if covariate
is an expression
, it will be evaluated in the same environment
as the model formula used in fitting the model object
. It must
yield a vector of the same length as the number of quadrature points.
The expression may contain the terms x
and y
representing the
cartesian coordinates, and may also contain other variables that were
available when the model was fitted. Certain variable names are
reserved words; see ppm
.
Note that lurking variable plots for the $x$ and $y$ coordinates
are also generated by diagnose.ppm
, amongst other
types of diagnostic plots. This function is more general in that it
enables the user to plot the residuals against any chosen covariate
that may have been present.
For advanced use, even the values of the residuals/weights
can be altered. If the argument rv
is present,
the residuals will not be calculated from the fitted model
object
but will instead be taken directly from the object rv
.
If type = "eem"
then rv
should be similar to the
return value of eem
, namely, a numeric vector
with length equal to the number of data points in the original point
pattern. Otherwise, rv
should be
similar to the return value of residuals.ppm
,
that is, rv
should be an object of class
"msr"
(see msr
) representing a signed measure.
Baddeley, A., Moller, J. and Pakes, A.G. (2006) Properties of residuals for spatial point processes. Annals of the Institute of Statistical Mathematics 60, 627--649. Stoyan, D. and Grabarnik, P. (1991) Second-order characteristics for stochastic structures connected with Gibbs point processes. Mathematische Nachrichten, 151:95--100.
residuals.ppm
,
diagnose.ppm
,
residuals.ppm
,
qqplot.ppm
,
eem
,
ppm
data(nztrees)
lurking(nztrees, expression(x))
fit <- ppm(nztrees, ~x, Poisson())
lurking(fit, expression(x))
lurking(fit, expression(x), cumulative=FALSE)
Run the code above in your browser using DataLab