Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Gaussian process
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Statistical model}} 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]]. The distribution of a Gaussian process is the [[joint distribution]] of all those (infinitely many) random variables, and as such, it is a distribution over functions with a continuous domain, e.g. time or space. The concept of Gaussian processes is named after [[Carl Friedrich Gauss]] because it is based on the notion of the Gaussian distribution ([[normal distribution]]). Gaussian processes can be seen as an infinite-dimensional generalization of multivariate normal distributions. Gaussian processes are useful in [[statistical model]]ling, benefiting from properties inherited from the normal distribution. For example, if a [[random process]] is modelled as a Gaussian process, the distributions of various derived quantities can be obtained explicitly. Such quantities include the average value of the process over a range of times and the error in estimating the average using sample values at a small set of times. While exact models often scale poorly as the amount of data increases, multiple [[Gaussian process approximations|approximation methods]] have been developed which often retain good accuracy while drastically reducing computation time. ==Definition== A time continuous [[stochastic process]] <math>\left\{X_t ; t\in T\right\}</math> is Gaussian [[if and only if]] for every [[finite set]] of [[indexed family|indices]] <math>t_1,\ldots,t_k</math> in the index set <math>T</math> <math display="block"> \mathbf{X}_{t_1, \ldots, t_k} = (X_{t_1}, \ldots, X_{t_k}) </math> is a [[multivariate normal distribution|multivariate Gaussian]] [[random variable]].<ref name="DrMacKayGPNN">{{cite book| last=MacKay | first=David J.C.| author-link=David J.C. MacKay| title=Information Theory, Inference, and Learning Algorithms |year=2003 | pages=540|publisher=[[Cambridge University Press]]| isbn=9780521642989|url=http://www.inference.phy.cam.ac.uk/itprnn/book.pdf | quote=The probability distribution of a function <math>y(\mathbf{x})</math> is a Gaussian processes if for any finite selection of points <math>\mathbf{x}^{(1)},\mathbf{x}^{(2)},\ldots,\mathbf{x}^{(N)}</math>, the density <math>P(y(\mathbf{x}^{(1)}),y(\mathbf{x}^{(2)}),\ldots,y(\mathbf{x}^{(N)}))</math> is a Gaussian}}</ref> As the sum of independent and Gaussian distributed random variables is again Gaussian distributed, that is the same as saying every linear combination of <math> (X_{t_1}, \ldots, X_{t_k}) </math> has a univariate Gaussian (or normal) distribution. Using [[Characteristic function (probability theory)|characteristic functions]] of random variables with <math>i</math> denoting the [[imaginary unit]] such that <math>i^2 =-1</math>, the Gaussian property can be formulated as follows: <math>\left\{X_t ; t\in T\right\}</math> is Gaussian if and only if, for every finite set of indices <math>t_1,\ldots,t_k</math>, there are real-valued <math>\sigma_{\ell j}</math>, <math>\mu_\ell</math> with <math>\sigma_{jj} > 0</math> such that the following equality holds for all <math>s_1,s_2,\ldots,s_k\in\mathbb{R}</math>, <math display="block"> { \mathbb E }\left[\exp\left(i \sum_{\ell=1}^k s_\ell \, \mathbf{X}_{t_\ell}\right)\right] = \exp \left(-\tfrac{1}{2} \sum_{\ell, j} \sigma_{\ell j} s_\ell s_j + i \sum_\ell \mu_\ell s_\ell\right),</math> or <math> { \mathbb E } \left[ {\mathrm e}^{ i\, \mathbf{s}\, (\mathbf{X}_t - \mathbf{\mu}) } \right] = {\mathrm e}^{ - \mathbf{s}\, \sigma\, \mathbf{s}/2 }</math>. The numbers <math>\sigma_{\ell j}</math> and <math>\mu_\ell</math> can be shown to be the [[covariance]]s and [[mean (mathematics)|means]] of the variables in the process.<ref>{{cite book |last=Dudley |first=R.M. |title=Real Analysis and Probability |year=1989 |publisher=Wadsworth and Brooks/Cole |isbn=0-534-10050-3 }}</ref> ==Variance== The variance of a Gaussian process is finite at any time <math>t</math>, formally<ref name="Lapidoth2017">{{cite book|author=Amos Lapidoth|title=A Foundation in Digital Communication|url=https://books.google.com/books?id=6oTuDQAAQBAJ&q=independence|date=8 February 2017|publisher=Cambridge University Press|isbn=978-1-107-17732-1}}</ref>{{rp|p. 515}} <math display="block"> \operatorname{var}[X(t)] = { \mathbb E } \left[\left|X(t)-\operatorname{E}[X(t)]\right|^2\right] < \infty \quad \text{for all } t \in T.</math> ==Stationarity== For general stochastic processes [[Stationary process#strict-sense stationarity|strict-sense stationarity]] implies [[Stationary process#wide-sense stationarity|wide-sense stationarity]] but not every wide-sense stationary stochastic process is strict-sense stationary. However, for a Gaussian stochastic process the two concepts are equivalent.<ref name="Lapidoth2017"/>{{rp|p. 518}} A Gaussian stochastic process is strict-sense stationary if and only if it is wide-sense stationary. ==Example== There is an explicit representation for stationary Gaussian processes.<ref name="KacSiegert1947">{{cite journal |last1= Kac| first1= M.|last2 = Siegert|first2 = A.J.F|year= 1947|title= An Explicit Representation of a Stationary Gaussian Process|journal= The Annals of Mathematical Statistics|volume=18|issue=3|pages= 438–442|doi= 10.1214/aoms/1177730391 |doi-access= free}}</ref> A simple example of this representation is <math display="block"> X_t = \cos(at)\, \xi_1 + \sin(at)\, \xi_2</math> where <math>\xi_1</math> and <math>\xi_2</math> are independent random variables with the [[Normal distribution#Standard normal distribution|standard normal distribution]]. ==Covariance functions== {{main|Covariance function}} {{further|Variogram}} A key fact of Gaussian processes is that they can be completely defined by their second-order statistics.<ref name="prml">{{cite book |last=Bishop |first=C.M. |title= Pattern Recognition and Machine Learning |year=2006 |publisher=[[Springer Science+Business Media|Springer]] |isbn=978-0-387-31073-2}}</ref> Thus, if a Gaussian process is assumed to have mean zero, defining the [[covariance function]] completely defines the process' behaviour. Importantly the non-negative definiteness of this function enables its spectral decomposition using the [[Karhunen–Loève theorem|Karhunen–Loève expansion]]. Basic aspects that can be defined through the covariance function are the process' [[stationary process|stationarity]], [[isotropy]], [[smoothness]] and [[periodic function|periodicity]].<ref name="brml">{{cite book |last=Barber |first=David |title=Bayesian Reasoning and Machine Learning |url=http://web4.cs.ucl.ac.uk/staff/D.Barber/pmwiki/pmwiki.php?n=Brml.HomePage |year=2012 |publisher=[[Cambridge University Press]] |isbn=978-0-521-51814-7}}</ref><ref name="gpml">{{cite book |last=Rasmussen |first=C.E. |author2=Williams, C.K.I |title=Gaussian Processes for Machine Learning |url=http://www.gaussianprocess.org/gpml/ |year=2006 |publisher=[[MIT Press]] |isbn=978-0-262-18253-9}}</ref> [[stationary process|Stationarity]] refers to the process' behaviour regarding the separation of any two points <math>x</math> and <math>x'</math>. If the process is stationary, the covariance function depends only on <math>x-x'</math>. For example, the [[Ornstein–Uhlenbeck process]] is stationary. If the process depends only on <math>|x-x'|</math>, the Euclidean distance (not the direction) between <math>x</math> and <math>x'</math>, then the process is considered isotropic. A process that is concurrently stationary and isotropic is considered to be [[homogeneous]];<ref name="PRP">{{cite book |last=Grimmett |first=Geoffrey |author2=David Stirzaker|title= Probability and Random Processes| year=2001 |publisher=[[Oxford University Press]] |isbn=978-0198572220}}</ref> in practice these properties reflect the differences (or rather the lack of them) in the behaviour of the process given the location of the observer. Ultimately Gaussian processes translate as taking priors on functions and the smoothness of these priors can be induced by the covariance function.<ref name ="brml"/> If we expect that for "near-by" input points <math>x</math> and <math>x'</math> their corresponding output points <math>y</math> and <math>y'</math> to be "near-by" also, then the assumption of continuity is present. If we wish to allow for significant displacement then we might choose a rougher covariance function. Extreme examples of the behaviour is the Ornstein–Uhlenbeck covariance function and the squared exponential where the former is never differentiable and the latter infinitely differentiable. Periodicity refers to inducing periodic patterns within the behaviour of the process. Formally, this is achieved by mapping the input <math>x</math> to a two dimensional vector <math>u(x) = \left( \cos(x), \sin(x) \right)</math>. ===Usual covariance functions=== [[File:Gaussian process draws from prior distribution.png|thumbnail|300px|right|The effect of choosing different kernels on the prior function distribution of the Gaussian process. Left is a squared exponential kernel. Middle is Brownian. Right is quadratic.]] There are a number of common covariance functions:<ref name="gpml"/> *Constant : <math> K_\operatorname{C}(x,x') = C </math> *Linear: <math> K_\operatorname{L}(x,x') = x^\mathsf{T} x'</math> *white Gaussian noise: <math> K_\operatorname{GN}(x,x') = \sigma^2 \delta_{x,x'}</math> *Squared exponential: <math> K_\operatorname{SE}(x,x') = \exp \left(-\tfrac{d^2}{2\ell^2} \right)</math> *Ornstein–Uhlenbeck: <math> K_\operatorname{OU}(x,x') = \exp \left(-\tfrac{d} \ell \right)</math> *Matérn: <math> K_\operatorname{Matern}(x,x') = \tfrac{2^{1-\nu}}{\Gamma(\nu)} \left(\tfrac{\sqrt{2\nu}d}{\ell} \right)^\nu K_\nu \left(\tfrac{\sqrt{2\nu}d}{\ell} \right)</math> *Periodic: <math> K_\operatorname{P}(x,x') = \exp\left(-\tfrac{2}{\ell^2} \sin^2 (d/2) \right)</math> *Rational quadratic: <math> K_\operatorname{RQ}(x,x') = \left(1+d^2\right)^{-\alpha}, \quad \alpha \geq 0</math> Here <math>d = |x- x'| </math>. The parameter <math>\ell</math> is the characteristic length-scale of the process (practically, "how close" two points <math>x</math> and <math>x'</math> have to be to influence each other significantly), ''<math>\delta</math>'' is the [[Kronecker delta]] and <math>\sigma</math> the [[standard deviation]] of the noise fluctuations. Moreover, <math>K_\nu</math> is the [[modified Bessel function]] of order <math>\nu</math> and <math>\Gamma(\nu)</math> is the [[gamma function]] evaluated at <math>\nu</math>. Importantly, a complicated covariance function can be defined as a linear combination of other simpler covariance functions in order to incorporate different insights about the data-set at hand. The inferential results are dependent on the values of the hyperparameters <math>\theta</math> (e.g. <math>\ell</math> and <math>\sigma</math>) defining the model's behaviour. A popular choice for <math>\theta</math> is to provide ''[[maximum a posteriori]]'' (MAP) estimates of it with some chosen prior. If the prior is very near uniform, this is the same as maximizing the [[marginal likelihood]] of the process; the marginalization being done over the observed process values <math>y</math>.<ref name= "gpml"/> This approach is also known as ''maximum likelihood II'', ''evidence maximization'', or ''[[empirical Bayes]]''.<ref name="seegerGPML">{{cite journal |last1= Seeger| first1= Matthias |year= 2004 |title= Gaussian Processes for Machine Learning|journal= International Journal of Neural Systems|volume= 14|issue= 2|pages= 69–104 |doi=10.1142/s0129065704001899 | pmid= 15112367 | citeseerx= 10.1.1.71.1079 | s2cid= 52807317 }}</ref> ==Continuity== For a Gaussian process, [[Continuous stochastic process#Continuity in probability|continuity in probability]] is equivalent to [[Continuous stochastic process#Mean-square continuity|mean-square continuity]]<ref>{{cite book |chapter-url=https://www.mathunion.org/fileadmin/ICM/Proceedings/ICM1974.2/ICM1974.2.ocr.pdf |title=Proceedings of the International Congress of Mathematicians |first=R. M. |last=Dudley |author-link=Richard M. Dudley |year=1975 |volume=2 |pages=143–146 |chapter=The Gaussian process and how to approach it}}</ref>{{rp|145}}{{rp|91 "Gaussian processes are discontinuous at fixed points."}}<ref name = "banerjeeGelfandSmoothness">{{cite journal | first1 = Sudipto | last1 = Banerjee | first2 = Alan E. | last2 = Gelfand | title = On smoothness properties of spatial processes | journal = Journal of Multivariate Analysis | year = 2003 | volume = 84 | issue = 1 | pages = 85–100 | doi = 10.1016/S0047-259X(02)00016-7 | url = https://doi.org/10.1016/S0047-259X(02)00016-7}}</ref> and [[Continuous stochastic process#Continuity with probability one|continuity with probability one]] is equivalent to [[Continuous stochastic process#Sample continuity|sample continuity]].<ref>{{cite book |first=R. M. |last=Dudley |title=Selected Works of R.M. Dudley |chapter=Sample Functions of the Gaussian Process |date=2010 |author-link=Richard M. Dudley |journal=[[Annals of Probability]] |volume=1 |issue=1 |pages=66–103 |doi=10.1007/978-1-4419-5821-1_13 |isbn=978-1-4419-5820-4 |chapter-url=http://projecteuclid.org/euclid.aop/1176997026 }}</ref> The latter implies, but is not implied by, continuity in probability. Continuity in probability holds if and only if the [[autocovariance|mean and autocovariance]] are continuous functions. In contrast, sample continuity was challenging even for [[#Stationarity|stationary Gaussian processes]] (as probably noted first by [[Andrey Kolmogorov]]), and more challenging for more general processes.<ref>{{cite book |last=Talagrand |first=Michel |author-link=Michel Talagrand |title=Upper and lower bounds for stochastic processes: modern methods and classical problems |year=2014 |publisher=Springer, Heidelberg |isbn=978-3-642-54074-5 |url=https://www.springer.com/gp/book/9783642540745|series=Ergebnisse der Mathematik und ihrer Grenzgebiete. 3. Folge / A Series of Modern Surveys in Mathematics }}</ref>{{rp|Sect. 2.8}} <ref>{{citation | last = Ledoux | first = Michel | editor1-last = Dobrushin | editor1-first = Roland | editor2-last = Groeneboom | editor2-first = Piet | editor3-last = Ledoux | editor3-first = Michel | contribution = Isoperimetry and Gaussian analysis | doi = 10.1007/BFb0095676 | location = Berlin | mr = 1600888 | pages = 165–294 | publisher = Springer | series = Lecture Notes in Mathematics | title = Lectures on Probability Theory and Statistics: Ecole d'Eté de Probabilités de Saint-Flour XXIV–1994 | volume = 1648 | isbn = 978-3-540-62055-6 | year = 1996}}</ref>{{rp|69,81}} <ref>{{cite book | last = Adler | first = Robert J. | title = An Introduction to Continuity, Extrema, and Related Topics for General Gaussian Processes | journal = Lecture Notes-Monograph Series | isbn = 0-940600-17-X | jstor = 4355563 | location = Hayward, California | mr = 1088478 | publisher = Institute of Mathematical Statistics | volume = 12 | year = 1990}}</ref>{{rp|80}} <ref>{{cite journal |title=Review of: Adler 1990 'An introduction to continuity...' |first=Simeon M. |last=Berman |date=1992 |journal=Mathematical Reviews|mr = 1088478}}</ref> As usual, by a sample continuous process one means a process that admits a sample continuous [[Stochastic process#Modification|modification]]. <ref name=Dudley67>{{cite journal |first=R. M. |last=Dudley |author-link=Richard M. Dudley |title=The sizes of compact subsets of Hilbert space and continuity of Gaussian processes |journal=Journal of Functional Analysis |volume=1 |issue= 3|pages=290–330 |year=1967|doi=10.1016/0022-1236(67)90017-1 |doi-access=free }}</ref>{{rp|292}} <ref name=MarcusShepp72>{{cite book |chapter-url=https://projecteuclid.org/euclid.bsmsp/1200514231 |title=Proceedings of the sixth Berkeley symposium on mathematical statistics and probability, vol. II: probability theory |first1=M.B. |last1=Marcus |first2=Lawrence A. |last2=Shepp |author-link2=Lawrence Shepp |year=1972 |publisher=Univ. California, Berkeley |pages=423–441 |chapter=Sample behavior of Gaussian processes|volume=6 |issue=2 }}</ref>{{rp|424}} ===Stationary case=== For a stationary Gaussian process <math>X=(X_t)_{t\in\R},</math> some conditions on its spectrum are sufficient for sample continuity, but fail to be necessary. A necessary and sufficient condition, sometimes called Dudley–Fernique theorem, involves the function <math>\sigma</math> defined by <math display="block"> \sigma(h) = \sqrt{ {\mathbb E} \big[ X(t+h) - X(t) \big]^2 } </math> (the right-hand side does not depend on <math>t</math> due to stationarity). Continuity of <math>X</math> in probability is equivalent to continuity of <math>\sigma</math> at <math>0.</math> When convergence of <math>\sigma(h)</math> to <math>0</math> (as <math>h\to 0</math>) is too slow, sample continuity of <math>X</math> may fail. Convergence of the following integrals matters: <math display="block"> I(\sigma) = \int_0^1 \frac{ \sigma(h) }{ h \sqrt{ \log(1/h) } } \, dh = \int_0^\infty 2\sigma( e^{-x^2}) \, dx ,</math> these two integrals being equal according to [[integration by substitution]] <math display="inline"> h = e^{-x^2}, </math> <math display="inline">x = \sqrt{\log(1/h)} .</math> The first integrand need not be bounded as <math>h\to 0+,</math> thus the integral may converge (<math>I(\sigma)<\infty</math>) or diverge (<math>I(\sigma)=\infty</math>). Taking for example <math display="inline">\sigma( e^{-x^2}) = \tfrac{1}{x^a}</math> for large <math>x,</math> that is, <math display="inline">\sigma(h) = (\log(1/h))^{-a/2}</math> for small <math>h,</math> one obtains <math>I(\sigma)<\infty</math> when <math>a>1,</math> and <math>I(\sigma)=\infty</math> when <math>0 < a\le 1.</math> In these two cases the function <math>\sigma</math> is increasing on <math>[0,\infty),</math> but generally it is not. Moreover, the condition {{block indent | em = 1.5 | text ={{vanchor|(*)}} there exists <math>\varepsilon > 0</math> such that <math>\sigma</math> is monotone on <math>[0,\varepsilon]</math>}} does not follow from continuity of <math>\sigma</math> and the evident relations <math>\sigma(h) \ge 0</math> (for all <math>h</math>) and <math>\sigma(0) = 0.</math> {{math theorem | name = Theorem 1 | math_statement = Let <math>\sigma</math> be continuous and satisfy [[#(*)|(*)]]. Then the condition <math>I(\sigma) < \infty</math> is necessary and sufficient for sample continuity of <math>X.</math>}} Some history.<ref name=MarcusShepp72 />{{rp|424}} Sufficiency was announced by [[Xavier Fernique]] in 1964, but the first proof was published by [[Richard M. Dudley]] in 1967.<ref name=Dudley67 />{{rp|Theorem 7.1}} Necessity was proved by Michael B. Marcus and [[Lawrence Shepp]] in 1970.<ref name=MarcusShepp70>{{cite journal |first1=Michael B. |last1=Marcus |first2=Lawrence A. |last2=Shepp |author-link2=Lawrence Shepp |title=Continuity of Gaussian processes |journal=[[Transactions of the American Mathematical Society]] |volume=151 |issue= 2|pages=377–391 |year=1970 |doi=10.1090/s0002-9947-1970-0264749-1 |jstor=1995502 |doi-access=free }}</ref>{{rp|380}} There exist sample continuous processes <math>X</math> such that <math>I(\sigma)=\infty;</math> they violate condition [[#(*)|(*)]]. An example found by Marcus and Shepp <ref name=MarcusShepp70 />{{rp|387}} is a random [[Lacunary function#Lacunary trigonometric series|lacunary Fourier series]] <math display="block"> X_t = \sum_{n=1}^\infty c_n ( \xi_n \cos \lambda_n t + \eta_n \sin \lambda_n t ) ,</math> where <math>\xi_1,\eta_1,\xi_2,\eta_2,\dots</math> are independent random variables with [[Normal distribution#Standard normal distribution|standard normal distribution]]; frequencies <math>0<\lambda_1<\lambda_2<\dots</math> are a fast growing sequence; and coefficients <math>c_n>0</math> satisfy <math display="inline">\sum_n c_n < \infty.</math> The latter relation implies <math display="inline">{\mathbb E} \sum_n c_n ( |\xi_n| + |\eta_n| ) = \sum_n c_n {\mathbb E} [ |\xi_n| + |\eta_n| ] = \text{const} \cdot \sum_n c_n < \infty,</math> whence <math display="inline">\sum_n c_n ( |\xi_n| + |\eta_n| ) < \infty</math> almost surely, which ensures uniform convergence of the Fourier series almost surely, and sample continuity of <math>X.</math> [[File:Autocorrelation of a random lacunary Fourier series.svg|thumb|411px|Autocorrelation of a random lacunary Fourier series]] Its autocovariation function <math display="block"> {\mathbb E}[X_t X_{t+h}] = \sum_{n=1}^\infty c_n^2 \cos \lambda_n h </math> is nowhere monotone (see the picture), as well as the corresponding function <math>\sigma,</math> <math display="block"> \sigma(h) = \sqrt{ 2 {\mathbb E}[X_t X_t] - 2 {\mathbb E}[X_t X_{t+h}] } = 2 \sqrt{ \sum_{n=1}^\infty c_n^2 \sin^2 \frac{\lambda_n h}2 } .</math> ==Brownian motion as the integral of Gaussian processes== A [[Wiener process]] (also known as Brownian motion) is the integral of a [[White noise#Continuous-time white noise|white noise generalized Gaussian process]]. It is not [[stationary process|stationary]], but it has [[stationary increments]]. The [[Ornstein–Uhlenbeck process]] is a [[stationary process|stationary]] Gaussian process. The [[Brownian bridge]] is (like the Ornstein–Uhlenbeck process) an example of a Gaussian process whose increments are not [[statistical independence|independent]]. The [[fractional Brownian motion]] is a Gaussian process whose covariance function is a generalisation of that of the Wiener process. ==RKHS structure and Gaussian process== Let <math>f</math> be a mean-zero Gaussian process <math>\left\{X_t ; t\in T\right\}</math> with a non-negative definite covariance function <math>K</math> and let <math> R</math> be a symmetric and positive semidefinite function. Then, there exists a Gaussian process <math> X</math> which has the covariance <math> R</math>. Moreover, the [[reproducing kernel Hilbert space]] (RKHS) associated to <math> R </math> coincides with the [[Cameron–Martin theorem]] associated space <math> R(H)</math> of <math> X</math>, and all the spaces <math> R(H)</math>, <math> H_X</math>, and <math>\mathcal{H}(K)</math> are isometric.<ref name="Viitasaari2014">{{cite journal|last1=Azmoodeh|first1= Ehsan | last2=Sottinen | first2= Tommi | last3= Viitasaari | first3 =Lauri |last4= Yazigi| first4= Adil |title=Necessary and sufficient conditions for Hölder continuity of Gaussian processes|journal= Statistics & Probability Letters | volume=94 |year=2014|pages=230–235|doi=10.1016/j.spl.2014.07.030|arxiv=1403.2215 }}</ref> From now on, let <math>\mathcal{H}(R)</math> be a [[reproducing kernel Hilbert space]] with positive definite kernel <math>R</math>. Driscoll's zero-one law is a result characterizing the sample functions generated by a Gaussian process: <math display="block">\lim_{n\to\infty} \operatorname{tr}[K_n R_n^{-1}] < \infty,</math> where <math>K_n</math> and <math>R_n</math> are the covariance matrices of all possible pairs of <math>n</math> points, implies <math display="block">\Pr[f \in \mathcal{H}(R)] = 1.</math> Moreover, <math display="block">\lim_{n\to\infty} \operatorname{tr}[K_n R_n^{-1}] = \infty</math> implies <ref name="Driscoll1973">{{cite journal|last1=Driscoll|first1=Michael F.|title=The reproducing kernel Hilbert space structure of the sample paths of a Gaussian process|journal=Zeitschrift für Wahrscheinlichkeitstheorie und Verwandte Gebiete | volume=26|issue=4|year=1973|pages=309–316|issn=0044-3719|doi=10.1007/BF00534894|s2cid=123348980|doi-access=free}}</ref> <math display="block">\Pr[f \in \mathcal{H}(R)] = 0.</math> This has significant implications when <math>K = R</math>, as <math display="block">\lim_{n \to \infty} \operatorname{tr}[R_n R_n^{-1}] = \lim_{n\to\infty}\operatorname{tr}[I] = \lim_{n \to \infty} n = \infty.</math> As such, almost all sample paths of a mean-zero Gaussian process with positive definite kernel <math>K</math> will lie outside of the Hilbert space <math>\mathcal{H}(K)</math>. ==Linearly constrained Gaussian processes== For many applications of interest some pre-existing knowledge about the system at hand is already given. Consider e.g. the case where the output of the Gaussian process corresponds to a magnetic field; here, the real magnetic field is bound by Maxwell's equations and a way to incorporate this constraint into the Gaussian process formalism would be desirable as this would likely improve the accuracy of the algorithm. A method on how to incorporate linear constraints into Gaussian processes already exists:<ref>{{cite arXiv| last1=Jidling|first1=Carl| last2=Wahlström|first2=Niklas|last3=Wills|first3=Adrian|last4=Schön|first4=Thomas B.| date=2017-09-19| title=Linearly constrained Gaussian processes|class=stat.ML|eprint=1703.00787}}</ref> Consider the (vector valued) output function <math>f(x)</math> which is known to obey the linear constraint (i.e. <math>\mathcal{F}_X</math> is a linear operator) <math display="block">\mathcal{F}_X(f(x)) = 0.</math> Then the constraint <math>\mathcal{F}_X</math> can be fulfilled by choosing <math>f(x) = \mathcal{G}_X(g(x))</math>, where <math>g(x) \sim \mathcal{GP}(\mu_g, K_g)</math> is modelled as a Gaussian process, and finding <math>\mathcal{G}_X</math> such that <math display="block">\mathcal{F}_X(\mathcal{G}_X(g)) = 0 \qquad \forall g.</math> Given <math>\mathcal{G}_X</math> and using the fact that Gaussian processes are closed under linear transformations, the Gaussian process for <math>f</math> obeying constraint <math>\mathcal{F}_X</math> becomes <math display="block">f(x) = \mathcal{G}_X g \sim \mathcal{GP} ( \mathcal{G}_X \mu_g, \mathcal{G}_X K_g \mathcal{G}_{X'}^\mathsf{T} ).</math> Hence, linear constraints can be encoded into the mean and covariance function of a Gaussian process. ==Applications== [[Image:Regressions sine demo.svg|thumbnail|right|An example of Gaussian Process Regression (prediction) compared with other regression models.<ref>The documentation for [[scikit-learn]] also has similar [http://scikit-learn.org/stable/auto_examples/gaussian_process/plot_compare_gpr_krr.html examples].</ref>]] A Gaussian process can be used as a [[prior probability distribution]] over [[Function (mathematics)|functions]] in [[Bayesian inference]].<ref name="gpml"/><ref>{{cite book |last=Liu |first=W. |author2=Principe, J.C. |author3=Haykin, S. |title=Kernel Adaptive Filtering: A Comprehensive Introduction |url=http://www.cnel.ufl.edu/~weifeng/publication.htm |year=2010 |publisher=[[John Wiley & Sons|John Wiley]] |isbn=978-0-470-44753-6 |access-date=2010-03-26 |archive-url=https://web.archive.org/web/20160304042652/http://www.cnel.ufl.edu/~weifeng/publication.htm |archive-date=2016-03-04 |url-status=dead }}</ref> Given any set of ''N'' points in the desired domain of your functions, take a [[multivariate Gaussian]] whose covariance [[matrix (mathematics)|matrix]] parameter is the [[Gram matrix]] of your ''N'' points with some desired [[stochastic kernel|kernel]], and [[sampling (mathematics)|sample]] from that Gaussian. For solution of the multi-output prediction problem, Gaussian process regression for vector-valued function was developed. In this method, a 'big' covariance is constructed, which describes the correlations between all the input and output variables taken in ''N'' points in the desired domain.<ref name="Alvares2012">{{cite journal |last1= Álvarez|first1= Mauricio A.|last2= Rosasco | first2= Lorenzo |last3= Lawrence|first3=Neil D.|year= 2012 |title= Kernels for vector-valued functions: A review|journal= Foundations and Trends in Machine Learning|volume= 4|issue= 3|pages= 195–266 |doi=10.1561/2200000036|s2cid= 456491|url= http://eprints.whiterose.ac.uk/114503/1/1106.6251v2.pdf}}</ref> This approach was elaborated in detail for the matrix-valued Gaussian processes and generalised to processes with 'heavier tails' like [[Student's t-distribution#Student's t-process|Student-t processes]].<ref name="Zexun2020">{{cite journal |last1= Chen| first1= Zexun |last2= Wang| first2= Bo|last3= Gorban|first3=Alexander N.|year= 2019 |title= Multivariate Gaussian and Student-t process regression for multi-output prediction|journal= Neural Computing and Applications|volume=32|issue=8|pages= 3005–3028 | doi=10.1007/s00521-019-04687-8|doi-access= free| arxiv= 1703.04455 }}</ref> Inference of continuous values with a Gaussian process prior is known as Gaussian process regression, or [[kriging]]; extending Gaussian process regression to [[Kernel methods for vector output|multiple target variables]] is known as ''cokriging''.<ref>{{cite book |last=Stein |first=M.L. |title=Interpolation of Spatial Data: Some Theory for Kriging |year=1999 |publisher = [[Springer Science+Business Media|Springer]]}}</ref> Gaussian processes are thus useful as a powerful non-linear multivariate [[interpolation]] tool. Kriging is also used to extend Gaussian process in the case of mixed integer inputs.<ref>{{Cite journal | doi=10.1016/j.neucom.2023.126472 | title=A mixed-categorical correlation kernel for Gaussian process| journal=Neurocomputing| volume=550| pages=126472| year=2023| last1=Saves| first1=Paul | last2=Diouane| first2=Youssef | last3=Bartoli| first3=Nathalie | last4=Lefebvre| first4=Thierry | last5=Morlier| first5=Joseph | arxiv=2211.08262}}</ref> Gaussian processes are also commonly used to tackle numerical analysis problems such as numerical integration, solving differential equations, or optimisation in the field of [[probabilistic numerics]]. Gaussian processes can also be used in the context of mixture of experts models, for example.<ref>{{Cite journal |doi = 10.1109/TPAMI.2013.183|pmid = 26353224|title = Gaussian Process-Mixture Conditional Heteroscedasticity|journal = IEEE Transactions on Pattern Analysis and Machine Intelligence|volume = 36|issue = 5|pages = 888–900|year = 2014|last1 = Platanios |first1 = Emmanouil A.|last2 = Chatzis|first2 = Sotirios P.|s2cid = 10424638}}</ref><ref>{{Cite journal | doi=10.1016/j.neucom.2013.04.029| title=A latent variable Gaussian process model with Pitman–Yor process priors for multiclass classification| journal=Neurocomputing| volume=120| pages=482–489| year=2013| last1=Chatzis| first1=Sotirios P.}}</ref> The underlying rationale of such a learning framework consists in the assumption that a given mapping cannot be well captured by a single Gaussian process model. Instead, the observation space is divided into subsets, each of which is characterized by a different mapping function; each of these is learned via a different Gaussian process component in the postulated mixture. In the natural sciences, Gaussian processes have found use as probabilistic models of astronomical time series and as predictors of molecular properties.<ref>{{Cite thesis |doi = 10.17863/CAM.93643|title = Applications of Gaussian Processes at Extreme Lengthscales: From Molecules to Black Holes|degree = PhD| publisher = University of Cambridge|year = 2022 |first=Ryan-Rhys |last=Griffiths| arxiv=2303.14291 }}</ref> They are also being increasingly used as surrogate models for force field optimization.<ref>{{cite journal |last1=Shanks |first1=B. L. |last2=Sullivan |first2=H. W. |last3=Shazed |first3=A. R. |last4=Hoepfner |first4=M. P. |title=Accelerated Bayesian Inference for Molecular Simulations using Local Gaussian Process Surrogate Models |journal=Journal of Chemical Theory and Computation |date=2024 |volume=20 |issue=9 |pages=3798–3808 |doi=10.1021/acs.jctc.3c01358 |pmid=38551198 |url=https://pubs.acs.org/doi/full/10.1021/acs.jctc.3c01358|arxiv=2310.19108 }}</ref> ===Gaussian process prediction, or Kriging=== {{further|Kriging}} [[File:Gaussian Process Regression.png|thumbnail|right|Gaussian Process Regression (prediction) with a squared exponential kernel. Left plot are draws from the prior function distribution. Middle are draws from the posterior. Right is mean prediction with one standard deviation shaded.]] When concerned with a general Gaussian process regression problem (Kriging), it is assumed that for a Gaussian process <math>f</math> observed at coordinates <math>x</math>, the vector of values {{tmath|f(x)}} is just one sample from a multivariate Gaussian distribution of dimension equal to number of observed coordinates {{tmath|n}}. Therefore, under the assumption of a zero-mean distribution, {{tmath|f (x') \sim N (0, K(\theta,x,x'))}}, where {{tmath|K(\theta,x,x')}} is the covariance matrix between all possible pairs {{tmath|(x,x')}} for a given set of hyperparameters ''θ''.<ref name= "gpml"/> As such the log marginal likelihood is: <math display="block">\log p(f(x')\mid\theta,x) = -\frac{1}{2} \left(f(x)^\mathsf{T} K(\theta,x,x')^{-1} f(x') + \log \det(K(\theta,x,x')) + n \log 2\pi \right)</math> and maximizing this marginal likelihood towards {{mvar|θ}} provides the complete specification of the Gaussian process {{math|''f''}}. One can briefly note at this point that the first term corresponds to a penalty term for a model's failure to fit observed values and the second term to a penalty term that increases proportionally to a model's complexity. Having specified {{mvar|θ}}, making predictions about unobserved values {{tmath|f(x^*)}} at coordinates {{math|''x''*}} is then only a matter of drawing samples from the predictive distribution <math>p(y^*\mid x^*,f(x),x) = N(y^*\mid A,B)</math> where the posterior mean estimate {{mvar|A}} is defined as <math display="block">A = K(\theta,x^*,x) K(\theta,x,x')^{-1} f(x)</math> and the posterior variance estimate ''B'' is defined as: <math display="block">B = K(\theta,x^*,x^*) - K(\theta,x^*,x) K(\theta,x,x')^{-1} K(\theta,x^*,x)^\mathsf{T} </math> where {{tmath|K(\theta,x^*,x)}} is the covariance between the new coordinate of estimation ''x''* and all other observed coordinates ''x'' for a given hyperparameter vector {{mvar|θ}}, {{tmath|K(\theta,x,x')}} and {{tmath|f(x)}} are defined as before and {{tmath|K(\theta,x^*,x^*)}} is the variance at point {{math|''x''*}} as dictated by {{mvar|θ}}. It is important to note that practically the posterior mean estimate of {{tmath|f(x^*)}} (the "point estimate") is just a linear combination of the observations {{tmath|f(x)}}; in a similar manner the variance of {{tmath|f(x^*)}} is actually independent of the observations {{tmath|f(x)}}. A known bottleneck in Gaussian process prediction is that the computational complexity of inference and likelihood evaluation is cubic in the number of points |''x''|, and as such can become unfeasible for larger data sets.<ref name= "brml"/><ref name="highDimBayesianGeostat">{{Cite journal |last1 = Banerjee| first1 = Sudipto | title= High-dimensional Bayesian Geostatistics |journal= Bayesian Analysis | year = 2017 | volume = 12 | issue = 2 | pages=583–614| doi= 10.1214/17-BA1056R | url=https://doi.org/10.1214/17-BA1056R | pmid = 29391920 | pmc = 5790125 }}</ref> Works on sparse Gaussian processes, that usually are based on the idea of building a ''representative set'' for the given process ''f'', try to circumvent this issue. <ref name="smolaSparse">{{cite journal |last1= Smola| first1= A.J.| last2=Schoellkopf | first2= B. |year= 2000 |title= Sparse greedy matrix approximation for machine learning |journal= Proceedings of the Seventeenth International Conference on Machine Learning| pages=911–918| citeseerx= 10.1.1.43.3153}}</ref><ref name="CsatoSparse">{{cite journal |last1= Csato| first1=L.| last2=Opper | first2= M. |year= 2002 |title= Sparse on-line Gaussian processes |journal= Neural Computation |number=3| volume= 14 | pages=641–668 | doi=10.1162/089976602317250933| pmid=11860686| citeseerx=10.1.1.335.9713| s2cid=11375333}}</ref><ref name="banerjeePredictiveProcess">{{Cite journal |last1 = Banerjee| first1 = Sudipto | last2=Gelfand | first2 = Alan E.| last3 = Finley | first3 = Andrew O. | last4 = Sang | first4 = Huiyan | title= Gaussian Predictive Process Models for large spatial datasets |journal= Journal of the Royal Statistical Society, Series B (Statistical Methodology) | year = 2008 | volume = 70 | issue = 4 | pages=825–848| doi=10.1111/j.1467-9868.2008.00663.x | url=https://doi.org/10.1111/j.1467-9868.2008.00663.x | pmid = 19750209 | pmc = 2741335}}</ref> The [[kriging]] method can be used in the latent level of a [[nonlinear mixed-effects model]] for a spatial functional prediction: this technique is called the latent kriging.<ref>{{Cite journal |last1=Lee|first1=Se Yoon |first2=Bani|last2=Mallick| title = Bayesian Hierarchical Modeling: Application Towards Production Results in the Eagle Ford Shale of South Texas|journal=Sankhya B|year=2021|volume=84 |pages=1–43 |doi=10.1007/s13571-020-00245-8|doi-access=free}}</ref> Other classes of scalable Gaussian process for analyzing massive datasets have emerged from the [[Vecchia approximation]] and Nearest Neighbor Gaussian Processes (NNGP).<ref name="DattaEtAl2016">{{cite journal|last1=Datta|first1=Abhirup|last2=Banerjee|first2=Sudipto|last3=Finley|first3=Andrew|last4=Gelfand|first4=Alan|title=Hierarchical Nearest-Neighbor Gaussian Process Models for Large Spatial Data|journal=Journal of the American Statistical Association|year=2016|volume=111|issue=514|pages=800–812|doi=10.1080/01621459.2015.1044091|pmid=29720777 |pmc=5927603 }}</ref><ref name = "highDimBayesianGeostat"></ref> Often, the covariance has the form <math display="inline">K(\theta, x,x') = \frac{1}{\sigma^2} \tilde{K}(\theta,x,x')</math>, where <math>\sigma^2</math> is a scaling parameter. Examples are the Matérn class covariance functions. If this scaling parameter <math>\sigma^2</math> is either known or unknown (i.e. must be marginalized), then the posterior probability, <math>p(\theta \mid D)</math>, i.e. the probability for the hyperparameters <math>\theta</math> given a set of data pairs <math>D</math> of observations of <math>x</math> and <math>f(x)</math>, admits an analytical expression.<ref>{{Cite journal| last1=Ranftl|first1=Sascha|last2=Melito|first2=Gian Marco|last3=Badeli|first3=Vahid|last4=Reinbacher-Köstinger|first4=Alice| last5=Ellermann|first5=Katrin|last6=von der Linden|first6=Wolfgang|date=2019-12-31|title=Bayesian Uncertainty Quantification with Multi-Fidelity Data and Gaussian Processes for Impedance Cardiography of Aortic Dissection|journal=Entropy| volume=22|issue=1| pages=58|doi=10.3390/e22010058|issn=1099-4300|pmc=7516489|pmid=33285833|bibcode=2019Entrp..22...58R |doi-access=free}}</ref> === Bayesian neural networks as Gaussian processes === {{further|Neural network Gaussian process}} Bayesian neural networks are a particular type of [[Bayesian network]] that results from treating [[deep learning]] and [[artificial neural network]] models probabilistically, and assigning a [[Prior probability|prior distribution]] to their [[Statistical parameter|parameters]]. Computation in artificial neural networks is usually organized into sequential layers of [[artificial neuron]]s. The number of neurons in a layer is called the layer width. As layer width grows large, many Bayesian neural networks reduce to a Gaussian process with a [[Closed-form expression|closed form]] compositional kernel. This Gaussian process is called the Neural Network Gaussian Process (NNGP) (not to be confused with the Nearest Neighbor Gaussian Process <ref name="DattaEtAl2016"></ref>).<ref name="gpml"/><ref name="novak2020">{{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 }}</ref><ref>{{Cite book|last=Neal|first=Radford M.|title=Bayesian Learning for Neural Networks|publisher=Springer Science and Business Media| year=2012}}</ref> It allows predictions from Bayesian neural networks to be more efficiently evaluated, and provides an analytic tool to understand [[deep learning]] models. == Computational issues == <!-- linked --> {{See also|Gaussian process approximations}} In practical applications, Gaussian process models are often evaluated on a grid leading to multivariate normal distributions. Using these models for prediction or parameter estimation using maximum likelihood requires evaluating a multivariate Gaussian density, which involves calculating the determinant and the inverse of the covariance matrix. Both of these operations have cubic computational complexity which means that even for grids of modest sizes, both operations can have a prohibitive computational cost. This drawback led to the development of multiple [[Gaussian process approximations|approximation methods]].<ref name = "highDimBayesianGeostat"></ref> ==See also== * [[Bayes linear statistics]] * [[Bayesian interpretation of regularization]] * [[Kriging]] * [[Gaussian free field]] * [[Gauss–Markov process]] * [[Gradient-enhanced kriging]] (GEK) * [[Student's t-distribution#Student's t-process|Student's t-process]] == References == {{Reflist}} ==External links== {{wikibooks|Gaussian process}} ===Literature=== * [https://gaussianprocess.org The Gaussian Processes Web Site, including the text of Rasmussen and Williams' Gaussian Processes for Machine Learning] * {{cite arXiv|eprint=1505.02965 |last1=Ebden |first1=Mark |title=Gaussian Processes: A Quick Introduction |year=2015 |class=math.ST }} * [http://publications.nr.no/917_Rapport.pdf A Review of Gaussian Random Fields and Correlation Functions] * [https://web.archive.org/web/20180826005000/https://pdfs.semanticscholar.org/c9f2/1b84149991f4d547b3f0f625f710750ad8d9.pdf Efficient Reinforcement Learning using Gaussian Processes] ===Software=== {{further|Comparison of Gaussian process software}} * [http://www.gaussianprocess.org/gpml/code/matlab/doc/ GPML: A comprehensive Matlab toolbox for GP regression and classification] * [http://sourceforge.net/projects/kriging STK: a Small (Matlab/Octave) Toolbox for Kriging and GP modeling] * [http://www.uqlab.com/ Kriging module in UQLab framework (Matlab)] * [http://codes.arizona.edu/toolbox/ CODES Toolbox: implementations of Kriging, variational kriging and multi-fidelity models (Matlab)] * [http://au.mathworks.com/matlabcentral/fileexchange/38880: Matlab/Octave function for stationary Gaussian fields] * [https://github.com/Yelp/MOE Yelp MOE – A black box optimization engine using Gaussian process learning] * [http://www.sumo.intec.ugent.be/ooDACE ooDACE] {{Webarchive|url=https://web.archive.org/web/20200809021046/http://sumo.intec.ugent.be/ooDACE |date=2020-08-09 }} – A flexible object-oriented Kriging Matlab toolbox. * [https://web.archive.org/web/20141009045756/http://becs.aalto.fi/en/research/bayes/gpstuff/ GPstuff – Gaussian process toolbox for Matlab and Octave] * [https://github.com/SheffieldML/GPy GPy – A Gaussian processes framework in Python] * [https://github.com/GeoStat-Framework/GSTools GSTools - A geostatistical toolbox, including Gaussian process regression, written in Python] * [http://www.tmpl.fi/gp/ Interactive Gaussian process regression demo] * [https://github.com/ChristophJud/GPR Basic Gaussian process library written in C++11] * [http://scikit-learn.org scikit-learn] – A machine learning library for Python which includes Gaussian process regression and classification * [https://sambo-optimization.github.io SAMBO Optimization] library for Python supports sequential optimization driven by Gaussian process regressor from [[scikit-learn]]. * [https://github.com/modsim/KriKit] - The Kriging toolKit (KriKit) is developed at the Institute of Bio- and Geosciences 1 (IBG-1) of Forschungszentrum Jülich (FZJ) ===Video tutorials=== * [http://videolectures.net/gpip06_mackay_gpb Gaussian Process Basics by David MacKay] * [http://videolectures.net/epsrcws08_rasmussen_lgp Learning with Gaussian Processes by Carl Edward Rasmussen] * [http://videolectures.net/mlss07_rasmussen_bigp Bayesian inference and Gaussian processes by Carl Edward Rasmussen] {{Stochastic processes}} {{Authority control}} {{DEFAULTSORT:Gaussian Process}} [[Category:Stochastic processes]] [[Category:Kernel methods for machine learning]] [[Category:Nonparametric Bayesian statistics]] [[Category:Normal distribution]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Authority control
(
edit
)
Template:Block indent
(
edit
)
Template:Citation
(
edit
)
Template:Cite arXiv
(
edit
)
Template:Cite book
(
edit
)
Template:Cite journal
(
edit
)
Template:Cite thesis
(
edit
)
Template:Further
(
edit
)
Template:Main
(
edit
)
Template:Math
(
edit
)
Template:Math theorem
(
edit
)
Template:Mvar
(
edit
)
Template:Reflist
(
edit
)
Template:Rp
(
edit
)
Template:See also
(
edit
)
Template:Short description
(
edit
)
Template:Sister project
(
edit
)
Template:Stochastic processes
(
edit
)
Template:Tmath
(
edit
)
Template:Webarchive
(
edit
)
Template:Wikibooks
(
edit
)