spatstat.random-package: The spatstat.random Package

spatstat.random-packageR Documentation

The spatstat.random Package

Description

The spatstat.random package belongs to the spatstat family of packages. It contains the functionality for generating random spatial patterns and simulation of random point processes.

Details

spatstat is a family of R packages for the statistical analysis of spatial data. Its main focus is the analysis of spatial patterns of points in two-dimensional space.

This sub-package spatstat.random contains the functions that perform random generation of spatial patterns and simulation of random point processes:

  • generation of random spatial patterns of points according to many simple rules (completely random patterns, random grids, systematic random points);

  • randomised alteration of spatial patterns (thinning, random shifting, jittering, random labelling);

  • generation of quasirandom patterns;

  • direct simulation of random point processes (Poisson process, binomial process, cell process, simple sequential inhibition, \Matern inhibition models, log-Gaussian Cox processes;

  • simulation of Neyman-Scott cluster processes (truncated direct algorithm, Brix-Kendall and hybrid algorithms) and product shot noise cluster processes;

  • simulation of Gibbs point processes (Metropolis-Hastings birth-death-shift algorithm, perfect simulation/ dominated coupling from the past, alternating Gibbs sampler).

Some other types of spatial object are also supported:

  • generation of random patterns of points in 3 dimensions;

  • generation of random spatial patterns of line segments;

  • generation of random tessellations;

  • generation of random images (random noise, random mosaics).

(Functions for linear networks are in the separate sub-package spatstat.linnet.)

Structure of the spatstat family

The spatstat family of packages is designed to support a complete statistical analysis of spatial data. It supports

  • creation, manipulation and plotting of point patterns;

  • exploratory data analysis;

  • spatial random sampling;

  • simulation of point process models;

  • parametric model-fitting;

  • non-parametric smoothing and regression;

  • formal inference (hypothesis tests, confidence intervals);

  • model diagnostics.

The orginal spatstat package grew to be very large. It has now been divided into several sub-packages:

  • spatstat.utils containing basic utilities

  • spatstat.sparse containing linear algebra utilities

  • spatstat.data containing datasets

  • spatstat.geom containing geometrical objects and geometrical operations

  • spatstat.random containing functionality for simulation and random generation

  • spatstat.explore containing the main functionality for exploratory data analysis and nonparametric analysis

  • spatstat.model containing the main functionality for parametric modelling and formal inference for spatial data

  • spatstat.linnet containing functions for spatial data on a linear network

  • spatstat, which simply loads the other sub-packages listed above, and provides documentation.

When you install spatstat, these sub-packages are also installed. Then if you load the spatstat package by typing library(spatstat), the other sub-packages listed above will automatically be loaded or imported.

For an overview of all the functions available in the sub-packages of spatstat, see the help file for "spatstat-package" in the spatstat package.

Additionally there are several extension packages:

  • spatstat.gui for interactive graphics

  • spatstat.local for local likelihood (including geographically weighted regression)

  • spatstat.Knet for additional, computationally efficient code for linear networks

  • spatstat.sphere (under development) for spatial data on a sphere, including spatial data on the earth's surface

The extension packages must be installed separately and loaded explicitly if needed. They also have separate documentation.

Functionality in spatstat.random

Following is a list of the functionality provided in the spatstat.random package only.

To simulate a random point pattern:

runifpoint generate n independent uniform random points
rpoint generate n independent random points
rmpoint generate n independent multitype random points
rpoispp simulate the (in)homogeneous Poisson point process
rmpoispp simulate the (in)homogeneous multitype Poisson point process
runifdisc generate n independent uniform random points in disc
rstrat stratified random sample of points
rMaternI simulate the \Matern Model I inhibition process
rMaternII simulate the \Matern Model II inhibition process
rSSI simulate Simple Sequential Inhibition process
rStrauss simulate Strauss process (perfect simulation)
rHardcore simulate Hard Core process (perfect simulation)
rStraussHard simulate Strauss-hard core process (perfect simulation)
rDiggleGratton simulate Diggle-Gratton process (perfect simulation)
rDGS simulate Diggle-Gates-Stibbard process (perfect simulation)
rPenttinen simulate Penttinen process (perfect simulation)
rNeymanScott simulate a general Neyman-Scott process
rPoissonCluster simulate a general Poisson cluster process
rMatClust simulate the \Matern Cluster process
rThomas simulate the Thomas process
rGaussPoisson simulate the Gauss-Poisson cluster process
rCauchy simulate Neyman-Scott Cauchy cluster process
rVarGamma simulate Neyman-Scott Variance Gamma cluster process
rthin random thinning
rcell simulate the Baddeley-Silverman cell process
rmh simulate Gibbs point process using Metropolis-Hastings
runifpointOnLines generate n random points along specified line segments
rpoisppOnLines generate Poisson random points along specified line segments

To randomly change an existing point pattern:

rshift random shifting of points
rthin random thinning
rlabel random (re)labelling of a multitype point pattern
quadratresample block resampling

See also rjitter and rexplode in the spatstat.geom package.

Random pixel images:

An object of class "im" represents a pixel image.

rnoise random pixel noise

Line segment patterns

An object of class "psp" represents a pattern of straight line segments.

rpoisline generate a realisation of the Poisson line process inside a window

Tessellations

An object of class "tess" represents a tessellation.

rpoislinetess generate tessellation using Poisson line process

Three-dimensional point patterns

An object of class "pp3" represents a three-dimensional point pattern in a rectangular box. The box is represented by an object of class "box3".

runifpoint3 generate uniform random points in 3-D
rpoispp3 generate Poisson random points in 3-D

Multi-dimensional space-time point patterns

An object of class "ppx" represents a point pattern in multi-dimensional space and/or time.

runifpointx generate uniform random points
rpoisppx generate Poisson random points

Probability Distributions

rknn theoretical distribution of nearest neighbour distance
dmixpois mixed Poisson distribution

Simulation

There are many ways to generate a random point pattern, line segment pattern, pixel image or tessellation in spatstat.

Random point patterns:

runifpoint generate n independent uniform random points
rpoint generate n independent random points
rmpoint generate n independent multitype random points
rpoispp simulate the (in)homogeneous Poisson point process
rmpoispp simulate the (in)homogeneous multitype Poisson point process
runifdisc generate n independent uniform random points in disc
rstrat stratified random sample of points
rMaternI simulate the \Matern Model I inhibition process
rMaternII simulate the \Matern Model II inhibition process
rSSI simulate Simple Sequential Inhibition process
rHardcore simulate hard core process (perfect simulation)
rStrauss simulate Strauss process (perfect simulation)
rStraussHard simulate Strauss-hard core process (perfect simulation)
rDiggleGratton simulate Diggle-Gratton process (perfect simulation)
rDGS simulate Diggle-Gates-Stibbard process (perfect simulation)
rPenttinen simulate Penttinen process (perfect simulation)
rNeymanScott simulate a general Neyman-Scott process
rMatClust simulate the \Matern Cluster process
rThomas simulate the Thomas process
rLGCP simulate the log-Gaussian Cox process
rGaussPoisson simulate the Gauss-Poisson cluster process
rCauchy simulate Neyman-Scott process with Cauchy clusters
rVarGamma simulate Neyman-Scott process with Variance Gamma clusters
rcell simulate the Baddeley-Silverman cell process
runifpointOnLines generate n random points along specified line segments
rpoisppOnLines generate Poisson random points along specified line segments

Resampling a point pattern:

quadratresample block resampling
rshift random shifting of (subsets of) points
rthin random thinning

Other random patterns:

rpoisline simulate the Poisson line process within a window
rpoislinetess generate random tessellation using Poisson line process
rMosaicSet generate random set by selecting some tiles of a tessellation
rMosaicField generate random pixel image by assigning random values in each tile of a tessellation

Resampling and randomisation procedures

You can build your own tests based on randomisation and resampling using the following capabilities:

quadratresample block resampling
rshift random shifting of (subsets of) points
rthin random thinning

Licence

This library and its documentation are usable under the terms of the "GNU General Public License", a copy of which is distributed with the package.

Acknowledgements

Kasper Klitgaard Berthelsen, Ya-Mei Chang, Tilman Davies, Ute Hahn, Abdollah Jalilian, Dominic Schuhmacher and Rasmus Waagepetersen made substantial contributions of code.

For comments, corrections, bug alerts and suggestions, we thank Monsuru Adepeju, Corey Anderson, Ang Qi Wei, Ryan Arellano, Jens Astrom, Robert Aue, Marcel Austenfeld, Sandro Azaele, Malissa Baddeley, Guy Bayegnak, Colin Beale, Melanie Bell, Thomas Bendtsen, Ricardo Bernhardt, Andrew Bevan, Brad Biggerstaff, Anders Bilgrau, Leanne Bischof, Christophe Biscio, Roger Bivand, Jose M. Blanco Moreno, Florent Bonneu, Jordan Brown, Ian Buller, Julian Burgos, Simon Byers, Ya-Mei Chang, Jianbao Chen, Igor Chernayavsky, Y.C. Chin, Bjarke Christensen, Lucia Cobo Sanchez, Jean-Francois Coeurjolly, Kim Colyvas, Hadrien Commenges, Rochelle Constantine, Robin Corria Ainslie, Richard Cotton, Marcelino de la Cruz, Peter Dalgaard, Mario D'Antuono, Sourav Das, Peter Diggle, Patrick Donnelly, Ian Dryden, Stephen Eglen, Ahmed El-Gabbas, Belarmain Fandohan, Olivier Flores, David Ford, Peter Forbes, Shane Frank, Janet Franklin, Funwi-Gabga Neba, Oscar Garcia, Agnes Gault, Jonas Geldmann, Marc Genton, Shaaban Ghalandarayeshi, Jason Goldstick, Pavel Grabarnik, C. Graf, Ute Hahn, Andrew Hardegen, Martin \Bogsted Hansen, Martin Hazelton, Juha Heikkinen, Mandy Hering, Markus Herrmann, Maximilian Hesselbarth, Paul Hewson, Hamidreza Heydarian, Kurt Hornik, Philipp Hunziker, Jack Hywood, Ross Ihaka, Cenk Icos, Aruna Jammalamadaka, Robert John-Chandran, Devin Johnson, Mahdieh Khanmohammadi, Bob Klaver, Lily Kozmian-Ledward, Peter Kovesi, Mike Kuhn, Jeff Laake, Robert Lamb, Frederic Lavancier, Tom Lawrence, Tomas Lazauskas, Jonathan Lee, George Leser, Angela Li, Li Haitao, George Limitsios, Andrew Lister, Nestor Luambua, Ben Madin, Martin Maechler, Kiran Marchikanti, Jeff Marcus, Robert Mark, Peter McCullagh, Monia Mahling, Jorge Mateu Mahiques, Ulf Mehlig, Frederico Mestre, Sebastian Wastl Meyer, Mi Xiangcheng, Lore De Middeleer, Robin Milne, Enrique Miranda, Jesper \Moller, Annie Mollie, Ines Moncada, Mehdi Moradi, Virginia Morera Pujol, Erika Mudrak, Gopalan Nair, Nader Najari, Nicoletta Nava, Linda Stougaard Nielsen, Felipe Nunes, Jens Randel Nyengaard, Jens \Oehlschlaegel, Thierry Onkelinx, Sean O'Riordan, Evgeni Parilov, Jeff Picka, Nicolas Picard, Tim Pollington, Mike Porter, Sergiy Protsiv, Adrian Raftery, Ben Ramage, Pablo Ramon, Xavier Raynaud, Nicholas Read, Matt Reiter, Ian Renner, Tom Richardson, Brian Ripley, Ted Rosenbaum, Barry Rowlingson, Jason Rudokas, Tyler Rudolph, John Rudge, Christopher Ryan, Farzaneh Safavimanesh, Aila \Sarkka, Cody Schank, Katja Schladitz, Sebastian Schutte, Bryan Scott, Olivia Semboli, Francois Semecurbe, Vadim Shcherbakov, Shen Guochun, Shi Peijian, Harold-Jeffrey Ship, Tammy L Silva, Ida-Maria Sintorn, Yong Song, Malte Spiess, Mark Stevenson, Kaspar Stucki, Jan Sulavik, Michael Sumner, P. Surovy, Ben Taylor, Thordis Linda Thorarinsdottir, Leigh Torres, Berwin Turlach, Torben Tvedebrink, Kevin Ummer, Medha Uppala, Andrew van Burgel, Tobias Verbeke, Mikko Vihtakari, Alexendre Villers, Fabrice Vinatier, Maximilian Vogtland, Sasha Voss, Sven Wagner, Hao Wang, H. Wendrock, Jan Wild, Carl G. Witthoft, Selene Wong, Maxime Woringer, Luke Yates, Mike Zamboni and Achim Zeileis.

Author(s)

\spatstatAuthors

.


spatstat.random documentation built on Oct. 22, 2023, 1:17 a.m.