spatstat (version 1.64-1)

fitted.ppm: Fitted Conditional Intensity for Point Process Model


Given a point process model fitted to a point pattern, compute the fitted conditional intensity or fitted trend of the model at the points of the pattern, or at the points of the quadrature scheme used to fit the model.


# S3 method for ppm
fitted(object, …, type="lambda",
                       dataonly=FALSE, new.coef=NULL, leaveoneout=FALSE,
		       drop=FALSE, check=TRUE, repair=TRUE,
		       ignore.hardcore=FALSE, dropcoef=FALSE)



The fitted point process model (an object of class "ppm")



String (partially matched) indicating whether the fitted value is the conditional intensity ("lambda" or "cif") or the first order trend ("trend") or the logarithm of conditional intensity ("link").


Logical. If TRUE, then values will only be computed at the points of the data point pattern. If FALSE, then values will be computed at all the points of the quadrature scheme used to fit the model, including the points of the data point pattern.


Numeric vector of parameter values to replace the fitted model parameters coef(object).


Logical. If TRUE the fitted value at each data point will be computed using a leave-one-out method. See Details.


Logical value determining whether to delete quadrature points that were not used to fit the model.


Logical value indicating whether to check the internal format of object. If there is any possibility that this object has been restored from a dump file, or has otherwise lost track of the environment where it was originally computed, set check=TRUE.


Logical value indicating whether to repair the internal format of object, if it is found to be damaged.


Advanced use only. Logical value specifying whether to compute only the finite part of the interaction potential (effectively removing any hard core interaction terms).


Internal use only.


A vector containing the values of the fitted conditional intensity, fitted spatial trend, or logarithm of the fitted conditional intensity.

Entries in this vector correspond to the quadrature points (data or dummy points) used to fit the model. The quadrature points can be extracted from object by union.quad(quad.ppm(object)).


The argument object must be a fitted point process model (object of class "ppm"). Such objects are produced by the model-fitting algorithm ppm).

This function evaluates the conditional intensity \(\hat\lambda(u, x)\) or spatial trend \(\hat b(u)\) of the fitted point process model for certain locations \(u\), where x is the original point pattern dataset to which the model was fitted.

The locations \(u\) at which the fitted conditional intensity/trend is evaluated, are the points of the quadrature scheme used to fit the model in ppm. They include the data points (the points of the original point pattern dataset x) and other ``dummy'' points in the window of observation.

If leaveoneout=TRUE, fitted values will be computed for the data points only, using a ‘leave-one-out’ rule: the fitted value at X[i] is effectively computed by deleting this point from the data and re-fitting the model to the reduced pattern X[-i], then predicting the value at X[i]. (Instead of literally performing this calculation, we apply a Taylor approximation using the influence function computed in dfbetas.ppm.

The argument drop is explained in quad.ppm.

Use predict.ppm to compute the fitted conditional intensity at other locations or with other values of the explanatory variables.


Baddeley, A., Turner, R., Moller, J. and Hazelton, M. (2005). Residual analysis for spatial point processes (with discussion). Journal of the Royal Statistical Society, Series B 67, 617--666.

See Also

ppm.object, ppm, predict.ppm


Run this code
    str <- ppm(cells ~x, Strauss(r=0.1))
    lambda <- fitted(str)

    # extract quadrature points in corresponding order
    quadpoints <- union.quad(quad.ppm(str))

    # plot conditional intensity values
    # as circles centred on the quadrature points 
    quadmarked <- setmarks(quadpoints, lambda)

    if(!interactive()) str <- ppm(cells ~ x)

    lambdaX <- fitted(str, leaveoneout=TRUE)
# }

Run the code above in your browser using DataLab