mpl
,
evaluate the spatial trend and the conditional intensity of the model
at new locations.predict.ppm(object, window, ngrid=NULL, type="trend")
predict.ppm(object, newdata, type="trend")
mpl
. An object of
class "ppm"
(see ppm.object
window, ngrid
)object
.
(Incompatible with newdata
)ngrid[1]
by ngrid[2]
or ngrid
by ngrid
) of a rectangular grid of locations
inside window
where predictions should be computed.
(Incompatible with newdat
"trend"
for the spatial trend, and
"cif"
or "lambda"
for the conditional intensity.newdata
is given:
a vector of predicted values for the spatial locations
(and marks and covariates) given in the rows of newdata
. If newdata
is not given:
If object
is an unmarked point process,
the result is an image object (of class "im"
, see
im.object
) containing the predictions.
If object
is a multitype point process,
the result is a list of images, containing the predictions
for each type at the same grid of locations.
The ``predicted values'' are either values of the spatial trend
(if type="trend"
) or values of the conditional intensity
(if type="cif"
or type="lambda"
).
predict.glm
so that prediction is wrong if the trend formula in
object
involves terms in ns()
,
bs()
or poly()
.
This is a weakness of predict.glm
itself!
Error messages may be very opaque,
as they tend to come from deep in the workings of
predict.glm
.
If you are passing the newdata
argument
and the function crashes,
it is advisable to start by checking that all the conditions
listed above are satisfied.mpl
. This
returns an object of class "ppm"
representing
the fitted point process model (see ppm.object
).
The parameter estimates in this fitted model can be read off
simply by printing the ppm
object.
The spatial trend and conditional intensity of the
fitted model are evaluated using this function predict.ppm
.
This is feasible in such generality because the Berman-Turner-Baddeley method
(Berman and Turner, 1992; Baddeley and Turner, 2000)
reduces maximum pseudolikelihood estimation to the fitting
of a GLM or GAM, and because Splus/Rcontains predict
methods for
glm
and gam
objects. The current implementation
invokes predict.glm
.
The default action is to create a rectangular grid of points
in the observation window of the data point pattern, and evaluate
the spatial trend and conditional intensity at these locations.
Note that by ``spatial trend'' we mean the
(exponentiated) first order potential
and not the intensity of the process. [For example if we fit the
stationary Strauss process with parameters
$\beta$ and $\gamma$,
then the spatial trend is constant and equal to $\beta$. ]
The conditional intensity $\lambda(u, X)$ of the
fitted model is evaluated at each required spatial location $u$,
with respect to the data point pattern $X$.
The argument newdata
, if given, is a data frame
giving the values of any spatial covariates
at the locations where the trend and conditional intensity should be
computed.
If the trend formula in the fitted model
involves spatial covariates (other than
the Cartesian coordinates x
, y
)
then newdata
is required.
If newdata
is present then it must contain variables
matching all the variable names featuring in the trend formula
and the Cartesian coordinates x
and y
and the mark values marks
.
[This is different from the role of the data
argument in mpl
which must not contain
x
and y
variables.] Note that if you only want to use prediction in order to
generate a plot of the predicted values,
it may be easier to use plot.ppm
which calls
this function and plots the results.
mpl
,
ppm.object
,
plot.ppm
,
print.ppm
library(spatstat)
data(cells)
m <- mpl(cells, ~ polynom(x,y,2), Strauss(0.05), rbord=0.05)
trend <- predict(m, type="trend")
image(trend)
points(cells)
cif <- predict(m, type="cif")
persp(cif)
Run the code above in your browser using DataLab