sppmix: sppmix: Poisson point process modeling using normal mixture...

Description Details Getting Started Bayesian computational methods Objects in sppmix External dependencies Use the help pages and please report errors! License Information Citation Author(s) References


This help page contains a summary of the features of the R package sppmix.

The main page for the package is at


including the package vignettes and R code with examples for each function of the package.


The sppmix package implements classes and methods for modeling spatial point process data using Poisson point processes, where the intensity surface is assumed to be a multiple of a finite additive mixture with normal components.

Comprehensive accounts on modeling spatial point processes can be found in the books by Illian et al. (2008), Gelfand et al. (2010), Diggle (2014), and Baddeley, Rubak and Turner (2015).

The idea of using mixtures of normals for the intensity function is not entirely new (e.g., Thomas processes or Poisson cluster processes). However, the Bayesian framework (DAMCMC) for general mixtures for a fixed number of components were recently presented by Chakraborty and Gelfand (2010), and for a fixed or random number of components in the context of marked point processes, by Micheas (2014) (both DAMCMC and BDMCMC). In Zhou et al. (2015), the authors entertained space-time models based on Poisson point processes with mixture intensity surfaces.

The addition of marks and the introduction of time to a point pattern, leads to general Marked Space-Time Poisson point processes, and such models will be investigated in future versions of the sppmix package.

Getting Started

We recommend that you run the basic demos in order to get a first taste of the capabilities of sppmix. Simply run


in order to view the available demos and tutorials (vignettes), by choosing an appropriate number #. A call Demo_sppmix() will bring up a browser with all the available vignetters of the package. The following demos are available:

1) Defining, generating, working with and basic plotting of sppmix objects.

2) Plotting in the sppmix package.

3-6) How to perform model fitting for a Poisson point process with intensity surface assumed to be a mixture of normals. There are 4 cases discussed: fixed or random number of components and edge effects are considered or not considered.

7) Model checking in the sppmix package.

8) Perform model fitting for a (discrete) marked Poisson point process with ground (locations process) intensity surface assumed to be a mixture of normals.

Bayesian computational methods

Data Augmentation MCMC (DAMCMC by Diebolt and Robert, 1994, function est_mix_damcmc) and Birth-Death MCMC (BDMCMC by Stephens, 2000, function est_mix_bdmcmc) are the two main MCMC methods we have implemented for estimating the parameters of the Poisson intensity surface, in a Bayesian framework. The intensity surface consists of a parameter lambda, interpreted as the average number of points over the window of observation and the mixture component parameters, including the component probabilities ps, the component means mus, and the component covariances sigmas. See the details section of the function rsppmix. The latter function is used for sampling a point pattern from the Poisson point process.

Objects in sppmix

We introduce an object of class normmix for handling 2d mixtures of bivariate normal components. This helps us build the Poisson point process intensity surface as an object of class intensity_surface.

The DAMCMC and BDMCMC functions, return objects damcmc_res and bdmcmc_res, respectively, representing the fitted model parameters, as well as, a plethora of information. The functions plot and summary can then be applied to these objects to obtain additional information. See plot.damcmc_res, plot.bdmcmc_res, summary.damcmc_res, and summary.bdmcmc_res, for more details.

External dependencies

We link and require several R packages, including spatstat, rgl, ggplot2, Rcpp, RcppArmadillo, fields, and mvtnorm.

In particular, we utilize the ppp and owin classes from the spatstat package in order to describe a point pattern.

The MCMC algorithms are implemented in C++ using Rcpp and RcppArmadillo, and were optimized after extensive testing, meaning that this approach is significantly faster than some other implementations of 2d mixture models.

Plotting is accomplished using the rgl package in order to create 3d plots of the intensity surfaces. In addition, the fields and ggplot2 packages were used for 2d plots.

Use the help pages and please report errors!

There are many examples in the help pages of each and every function in the sppmix package. You will find all the answers you need there, in the demos and in the vignettes.

But just in case we missed something, or if you find a typo, or a mistake or have any other suggestions feel free to contact the package maintainer Sakis Micheas.

License Information

All code in this package is copyright Sakis Micheas and Jiaxun Chen and is released under the MIT license (https://cran.r-project.org/web/licenses/MIT).

Furthermore, a lot of our examples utilize the PlotUSAStates function which requires the Cartographic Boundary Shapefiles (boundary data) provided by the USA Census Bureau at https://www.census.gov/geo/maps-data/data/tiger-cart-boundary.html. To our knowledge there is no special license required to use this data.

If you use the sppmix package in your research, we would appreciate a citation.


In order to cite the sppmix package in publications please use:

Micheas, A., and Chen, J. (2017): sppmix-Modeling spatial Poisson and related point processes using normal mixture models. R package. Package website: http://faculty.missouri.edu/~micheasa/sppmix/index.html.


Jiaxun Chen (Author and Creator) chenjiaxun9@hotmail.com.

Athanasios (Sakis) Christou Micheas (Author and Maintainer) micheasa@missouri.edu

Significant contributions on the package skeleton creation, plotting functions and other code by Yuchen Wang ycwang0712@gmail.com


Diebolt, J., and Robert, C. P. (1994). Estimation of Finite Mixture Distributions through Bayesian Sampling. Journal of the Royal Statistical Society B, 56, 2, 363-375.

Stephens, M. (2000). Bayesian analysis of mixture models with an unknown number of components-an alternative to reversible jump methods. The Annals of Statistics, 28, 1, 40-74.

McLachlan, G., and Peel, D. (2000). Finite Mixture Models. Wiley-Interscience.

Jasra, A., Holmes, C.C. and Stephens, D. A. (2005). Markov Chain Monte Carlo Methods and the Label Switching Problem in Bayesian Mixtures. Statistical Science, 20, 50-67.

Illian, J., Penttinen, A., Stoyan, H. and Stoyan, D. (2008) Statistical Analysis and Modelling of Spatial Point Patterns. Wiley.

Chakraborty, A., and Gelfand, A.E. (2010). Measurement error in spatial point patterns. Bayesian Analysis, 5, 97-122.

Gelfand, A.E., Diggle, P.J., Fuentes, M. and Guttorp, P., editors (2010) Handbook of Spatial Statistics. CRC Press.

Diggle, P.J. (2013) Statistical Analysis of Spatial and Spatio-Temporal Point Patterns, Third edition. Chapman and Hall/CRC.

Micheas, A. C. (2014). Hierarchical Bayesian Modeling of Marked Non-Homogeneous Poisson Processes with finite mixtures and inclusion of covariate information. Journal of Applied Statistics, 41, 12, 2596-2615.

Zhou, Z., Matteson, D.S., Woodard, D.B., Henderson, S.G., and Micheas, A.C. (2015). A Spatio-Temporal Point Process Model for Ambulance Demand. Journal of the American Statistical Association, 110, 509, 6-15.

Baddeley, A., Rubak, E. and Turner, R. (2015) Spatial Point Patterns: Methodology and Applications with R. Chapman and Hall/CRC Press.

sppmix documentation built on Jan. 13, 2021, 10:04 p.m.