HOME

TheInfoList



OR:

This is a comparison of statistical analysis software that allows doing inference with
Gaussian process In probability theory and statistics, a Gaussian process is a stochastic process (a collection of random variables indexed by time or space), such that every finite collection of those random variables has a multivariate normal distribution, i.e. ...
es often using approximations. This article is written from the point of view of
Bayesian statistics Bayesian statistics is a theory in the field of statistics based on the Bayesian interpretation of probability where probability expresses a ''degree of belief'' in an event. The degree of belief may be based on prior knowledge about the event, ...
, which may use a terminology different from the one commonly used in
kriging In statistics, originally in geostatistics, kriging or Kriging, also known as Gaussian process regression, is a method of interpolation based on Gaussian process governed by prior covariances. Under suitable assumptions of the prior, kriging giv ...
. The next section should clarify the mathematical/computational meaning of the information provided in the table independently of contextual terminology.


Description of columns

This section details the meaning of the columns in the table below.


Solvers

These columns are about the algorithms used to solve the
linear system In systems theory, a linear system is a mathematical model of a system based on the use of a linear operator. Linear systems typically exhibit features and properties that are much simpler than the nonlinear case. As a mathematical abstraction ...
defined by the
prior Prior (or prioress) is an ecclesiastical title for a superior in some religious orders. The word is derived from the Latin for "earlier" or "first". Its earlier generic usage referred to any monastic superior. In abbeys, a prior would be low ...
covariance matrix In probability theory and statistics, a covariance matrix (also known as auto-covariance matrix, dispersion matrix, variance matrix, or variance–covariance matrix) is a square matrix giving the covariance between each pair of elements of ...
, i.e., the matrix built by evaluating the kernel. * Exact: whether ''generic'' exact algorithms are implemented. These algorithms are usually appropriate only up to some thousands of datapoints. * Specialized: whether specialized ''exact'' algorithms for specific classes of problems are implemented. Supported specialized algorithms may be indicated as: ** ''Kronecker'': algorithms for separable kernels on grid data. ** ''Toeplitz'': algorithms for stationary kernels on uniformly spaced data. ** ''Semisep.'': algorithms for semiseparable covariance matrices. ** ''Sparse'': algorithms optimized for sparse covariance matrices. ** ''Block'': algorithms optimized for
block diagonal In mathematics, a block matrix or a partitioned matrix is a matrix that is '' interpreted'' as having been broken into sections called blocks or submatrices. Intuitively, a matrix interpreted as a block matrix can be visualized as the original ma ...
covariance matrices. ** ''Markov'': algorithms for kernels which represent (or can be formulated as) a Markov process. * Approximate: whether ''generic or specialized'' approximate algorithms are implemented. Supported approximate algorithms may be indicated as: ** ''Sparse'': algorithms based on choosing a set of "inducing points" in input space, or more in general imposing a sparse structure on the inverse of the covariance matrix. ** ''Hierarchical'': algorithms which approximate the covariance matrix with a
hierarchical matrix In numerical mathematics, hierarchical matrices (H-matrices) are used as data-sparse approximations of non-sparse matrices. While a sparse matrix of dimension n can be represented efficiently in O(n) units of storage by storing only its non-zero ent ...
.


Input

These columns are about the points on which the Gaussian process is evaluated, i.e. x if the process is f(x). * ND: whether multidimensional input is supported. If it is, multidimensional output is always possible by adding a dimension to the input, even without direct support. * Non-real: whether arbitrary non-
real Real may refer to: Currencies * Brazilian real (R$) * Central American Republic real * Mexican real * Portuguese real * Spanish real * Spanish colonial real Music Albums * ''Real'' (L'Arc-en-Ciel album) (2000) * ''Real'' (Bright album) (2010) ...
input is supported (for example, text or
complex number In mathematics, a complex number is an element of a number system that extends the real numbers with a specific element denoted , called the imaginary unit and satisfying the equation i^= -1; every complex number can be expressed in the fo ...
s).


Output

These columns are about the values yielded by the process, and how they are connected to the data used in the fit. * Likelihood: whether arbitrary non-
Gaussian Carl Friedrich Gauss (1777–1855) is the eponym of all of the topics listed below. There are over 100 topics all named after this German mathematician and scientist, all in the fields of mathematics, physics, and astronomy. The English eponym ...
likelihoods are supported. * Errors: whether arbitrary non-uniform correlated errors on datapoints are supported for the Gaussian likelihood. Errors may be handled manually by adding a kernel component, this column is about the possibility of manipulating them separately. Partial error support may be indicated as: ** ''iid'': the datapoints must be
independent and identically distributed In probability theory and statistics, a collection of random variables is independent and identically distributed if each random variable has the same probability distribution as the others and all are mutually independent. This property is usual ...
. ** ''Uncorrelated'': the datapoints must be independent, but can have different distributions. ** ''Stationary'': the datapoints can be correlated, but the covariance matrix must be a
Toeplitz matrix In linear algebra, a Toeplitz matrix or diagonal-constant matrix, named after Otto Toeplitz, is a matrix in which each descending diagonal from left to right is constant. For instance, the following matrix is a Toeplitz matrix: :\qquad\begin a & b ...
, in particular this implies that the variances must be uniform.


Hyperparameters

These columns are about finding values of variables which enter somehow in the definition of the specific problem but that can not be inferred by the Gaussian process fit, for example parameters in the formula of the kernel. * Prior: whether specifying arbitrary hyperpriors on the
hyperparameter In Bayesian statistics, a hyperparameter is a parameter of a prior distribution; the term is used to distinguish them from parameters of the model for the underlying system under analysis. For example, if one is using a beta distribution to mo ...
s is supported. * Posterior: whether estimating the posterior is supported beyond
point estimation In statistics, point estimation involves the use of sample data to calculate a single value (known as a point estimate since it identifies a point in some parameter space) which is to serve as a "best guess" or "best estimate" of an unknown popula ...
, possibly in conjunction with other software. If both the "Prior" and "Posterior" cells contain "Manually", the software provides an interface for computing the marginal likelihood and its gradient w.r.t. hyperparameters, which can be feed into an optimization/sampling algorithm, e.g.,
gradient descent In mathematics, gradient descent (also often called steepest descent) is a first-order iterative optimization algorithm for finding a local minimum of a differentiable function. The idea is to take repeated steps in the opposite direction of the ...
or
Markov chain Monte Carlo In statistics, Markov chain Monte Carlo (MCMC) methods comprise a class of algorithms for sampling from a probability distribution. By constructing a Markov chain that has the desired distribution as its equilibrium distribution, one can obtain ...
.


Linear transformations

These columns are about the possibility of fitting datapoints simultaneously to a process and to linear transformations of it. * Deriv.: whether it is possible to take an arbitrary number of derivatives up to the maximum allowed by the smoothness of the kernel, for any differentiable kernel. Example partial specifications may be the maximum derivability or implementation only for some kernels. Integrals can be obtained indirectly from derivatives. * Finite: whether finite arbitrary \mathbb R^n \to \mathbb R^m linear transformations are allowed on the specified datapoints. * Sum: whether it is possible to sum various kernels and access separately the processes corresponding to each addend. It is a particular case of finite linear transformation but it is listed separately because it is a common feature.


Comparison table


Notes


References

{{reflist, refs= {{cite journal , last1=Foreman-Mackey , first1=Daniel , last2=Angus , first2=Ruth , last3=Agol , first3=Eric , last4=Ambikasaran , first4=Sivaram , s2cid=88521913 , title=Fast and Scalable Gaussian Process Modeling with Applications to Astronomical Time Series , journal=The Astronomical Journal , date=9 November 2017 , volume=154 , issue=6 , page=220 , doi=10.3847/1538-3881/aa9332, arxiv=1703.09710 , bibcode=2017AJ....154..220F {{cite journal , last1=P. Cunningham , first1=John , last2=Gilboa , first2=Elad , last3=Saatçi , first3=Yunus , s2cid=6878550 , title=Scaling Multidimensional Inference for Structured Gaussian Processes , journal=IEEE Transactions on Pattern Analysis and Machine Intelligence , date=Feb 2015 , volume=37 , issue=2 , pages=424–436 , doi=10.1109/TPAMI.2013.192, pmid=26353252 {{cite journal , last1=Leith , first1=D. J. , last2=Zhang , first2=Yunong , last3=Leithead , first3=W. E. , s2cid=13627455 , title=Time-series Gaussian Process Regression Based on Toeplitz Computation of O(N2) Operations and O(N)-level Storage , journal=Proceedings of the 44th IEEE Conference on Decision and Control , date=2005 , pages=3711–3716 , doi=10.1109/CDC.2005.1582739 {{cite journal , last1=Quiñonero-Candela , first1=Joaquin , last2=Rasmussen , first2=Carl Edward , title=A Unifying View of Sparse Approximate Gaussian Process Regression , journal=Journal of Machine Learning Research , date=5 December 2005 , volume=6 , pages=1939–1959 , url=http://www.jmlr.org/papers/v6/quinonero-candela05a.html , accessdate=23 May 2020 {{cite journal , last1=Ambikasaran , first1=S. , last2=Foreman-Mackey , first2=D. , last3=Greengard , first3=L. , last4=Hogg , first4=D. W. , last5=O’Neil , first5=M. , s2cid=15206293 , title=Fast Direct Methods for Gaussian Processes , journal=IEEE Transactions on Pattern Analysis and Machine Intelligence , date=1 Feb 2016 , volume=38 , issue=2 , pages=252–265 , doi=10.1109/TPAMI.2015.2448083, pmid=26761732 , arxiv=1403.6015 {{cite journal , last1=Neumann , first1=Marion , last2=Huang , first2=Shan , last3=E. Marthaler , first3=Daniel , last4=Kersting , first4=Kristian , title=pyGPs -- A Python Library for Gaussian Process Regression and Classification , journal=Journal of Machine Learning Research , date=2015 , volume=16 , pages=2611–2616 , url=http://jmlr.org/papers/v16/neumann15a.html {{cite journal , last1=Gardner , first1=Jacob R , last2=Pleiss , first2=Geoff , last3=Bindel , first3=David , last4=Weinberger , first4=Kilian Q , last5=Wilson , first5=Andrew Gordon , title=GPyTorch: Blackbox Matrix-Matrix Gaussian Process Inference with GPU Acceleration , journal=Advances in Neural Information Processing Systems , date=2018 , volume=31 , pages=7576–7586 , arxiv=1809.11165 , url=http://papers.nips.cc/paper/7985-gpytorch-blackbox-matrix-matrix-gaussian-process-inference-with-gpu-acceleration.pdf , accessdate=23 May 2020 {{cite journal , last1=Rasmussen , first1=Carl Edward , last2=Nickisch , first2=Hannes , title=Gaussian processes for machine learning (GPML) toolbox , journal=Journal of Machine Learning Research , date=Nov 2010 , volume=11 , issue=2 , pages=3011–3015 , doi=10.1016/0002-9610(74)90157-3, pmid=4204594 {{cite journal , last1=Novak , first1=Roman , last2=Xiao , first2=Lechao , last3=Hron , first3=Jiri , last4=Lee , first4=Jaehoon , last5=Alemi , first5=Alexander A. , last6=Sohl-Dickstein , first6=Jascha , last7=Schoenholz , first7=Samuel S. , title=Neural Tangents: Fast and Easy Infinite Neural Networks in Python , journal=International Conference on Learning Representations , date=2020, arxiv=1912.02803 {{cite journal , last1=Vanhatalo , first1=Jarno , last2=Riihimäki , first2=Jaakko , last3=Hartikainen , first3=Jouni , last4=Jylänki , first4=Pasi , last5=Tolvanen , first5=Ville , last6=Vehtari , first6=Aki , title=GPstuff: Bayesian Modeling with Gaussian Processes , journal=Journal of Machine Learning Research , date=Apr 2013 , volume=14 , pages=1175−1179 , url=http://jmlr.csail.mit.edu/papers/v14/vanhatalo13a.html , accessdate=23 May 2020 {{cite journal , last1=Marelli , first1=Stefano , last2=Sudret , first2=Bruno , title=UQLab: a framework for uncertainty quantification in MATLAB , journal=Vulnerability, Uncertainty, and Risk. Quantification, Mitigation, and Management , date=2014 , pages=2554–2563 , doi=10.3929/ethz-a-010238238 , url=https://www.research-collection.ethz.ch/bitstream/handle/20.500.11850/379365/eth-14488-01.pdf?sequence=1&isAllowed=y , accessdate=28 May 2020 {{cite journal , last1=Matthews , first1=Alexander G. de G. , last2=van der Wilk , first2=Mark , last3=Nickson , first3=Tom , last4=Fujii , first4=Keisuke , last5=Boukouvalas , first5=Alexis , last6=León-Villagrá , first6=Pablo , last7=Ghahramani , first7=Zoubin , last8=Hensman , first8=James , title=GPflow: A Gaussian process library using TensorFlow , journal=Journal of Machine Learning Research , date=April 2017 , volume=18 , issue=40 , pages=1–6 , arxiv=1610.08733 , url=http://jmlr.org/papers/v18/16-537.html , accessdate=6 July 2020 {{cite journal , last1=Couckuyt , first1=Ivo , last2=Dhaene , first2=Tom , last3=Demeester , first3=Piet , title=ooDACE toolbox: a flexible object-oriented Kriging implementation , journal=Journal of Machine Learning Research , date=2014 , volume=15 , pages=3183–3186 , url=http://www.jmlr.org/papers/volume15/couckuyt14a/couckuyt14a.pdf , accessdate=8 July 2020 {{cite journal , last1=Zilber , first1=Daniel , last2=Katzfuss , first2=Matthias , title=Vecchia–Laplace approximations of generalized Gaussian processes for big non-Gaussian spatial data , journal=Computational Statistics & Data Analysis , date=January 2021 , volume=153 , page=107081 , doi=10.1016/j.csda.2020.107081 , arxiv=1906.07828 , s2cid=195068888 , url=https://www.sciencedirect.com/science/article/pii/S0167947320301729 , access-date=1 September 2021 , issn=0167-9473 {{cite journal , last1=Kalaitzis , first1=Alfredo , last2=Lawrence , first2=Neil D. , title=A Simple Approach to Ranking Differentially Expressed Gene Expression Time Courses through Gaussian Process Regression , journal=BMC Bioinformatics , date=May 20, 2011 , volume=12 , issue=1 , pages=180 , doi=10.1186/1471-2105-12-180 , pmid=21599902 , pmc=3116489 , issn=1471-2105 {{cite journal , last1=Roustant , first1=Olivier , last2=Ginsbourger , first2=David , last3=Deville , first3=Yves , title=DiceKriging, DiceOptim: Two R Packages for the Analysis of Computer Experiments by Kriging-Based Metamodeling and Optimization , journal=Journal of Statistical Software , date=2012 , volume=51 , issue=1 , pages=1–55 , doi=10.18637/jss.v051.i01 , s2cid=60672249 , url=https://www.jstatsoft.org/v51/i01/, doi-access=free {{cite journal , first1=Michaël , last1=Baudin , first2=Anne , last2=Dutfoy , first3=Bertrand , last3=Iooss , first4=Anne-Laure , last4=Popelin , title=Open TURNS: An industrial software for uncertainty quantification in simulation , date=2015 , arxiv=1501.05242 {{cite journal , last1=Sarkka , first1=Simo , last2=Solin , first2=Arno , last3=Hartikainen , first3=Jouni , title=Spatiotemporal Learning via Infinite-Dimensional Bayesian Filtering and Smoothing: A Look at Gaussian Process Regression Through Kalman Filtering , journal=IEEE Signal Processing Magazine , date=2013 , volume=30 , issue=4 , pages=51–61 , doi=10.1109/MSP.2013.2246292 , s2cid=7485363 , url=https://ieeexplore.ieee.org/document/6530736 , access-date=2 September 2021


External links



The website hosting C. E. Rasmussen's book ''Gaussian processes for machine learning''; contains a (partially outdated) list of software. Comparisons of mathematical software Statistical software Statistics-related lists