spatstat (version 1.4-3)

predict.ppm: Prediction from a Fitted Point Process Model

Description

Given a fitted point process model obtained by mpl, evaluate the spatial trend and the conditional intensity of the model at new locations.

Usage

predict.ppm(object, window, ngrid=NULL, type="trend")
predict.ppm(object, newdata, type="trend")

Arguments

object
A fitted point process model, typically obtained from the maximum pseudolikelihood algorithm mpl. An object of class "ppm" (see ppm.object
newdata
optional data frame giving the values of any spatial covariates for the locations at which predictions should be computed. (Incompatible with window, ngrid)
window
window delimiting the locations where predictions should be computed. Defaults to the window of the original data used to fit the model object. (Incompatible with newdata)
ngrid
dimensions (either (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
type
character string. Indicates which property of the fitted model should be predicted. Options are "trend" for the spatial trend, and "cif" or "lambda" for the conditional intensity.

Value

  • If 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").

synopsis

predict.ppm(object, newdata, window, ngrid=NULL, type="trend",...)

Warnings

The current implementation invokes 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.

Details

This function computes the spatial trend and the conditional intensity of a fitted spatial point process model. See Baddeley and Turner (2000) for explanation and examples. Given a point pattern dataset, we may fit a point process model to the data using the maximum pseudolikelihood algorithm 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.

References

Baddeley, A. and Turner, R. Practical maximum pseudolikelihood for spatial point patterns. Australian and New Zealand Journal of Statistics 42 (2000) 283--322. Berman, M. and Turner, T.R. Approximating point process likelihoods with GLIM. Applied Statistics 41 (1992) 31--38.

See Also

mpl, ppm.object, plot.ppm, print.ppm

Examples

Run this code
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 DataCamp Workspace