Gaussian Process Regression¶
A simulation is seen as a function f(x)+ϵ (x∈RD) with additional random error ϵ∼N(0,vt). This optional error is due to the stochastic nature of most simulations.
Note
This error does not depend on x. An extension to model an error depending on x will be added in the future.
The GaussianProcess module uses regression to model the simulation as a Gaussian process. We refer to Girard’s thesis [1] for a really good explanation of GP regression.
“A Gaussian process is a collection of random variables, any finite number of which have (consistent) joint Gaussian distributions.” – Rasmussen, C. E. Gaussian Processes in Machine Learning, Advanced Lectures on Machine Learning, Springer Berlin Heidelberg, 2004, 3176, 63-71
“Once the mean and covariance functions are defined, everything else about GPs follows from the basic rules of probability applied to multivariate Gaussians.” – Zoubin Ghahramani
Note
The following explanation is an excerpt from my paper [2].
m(x)=E[G(x)] (x∈Rd) is the mean function of the Gaussian process and C(xi,xj)=Cov[G(xi),G(xj)] is the covariance function. For any given set of inputs {x1,…,xn}, (G(x1),…,G(xn)) is a random vector with an n-dimensional normal distribution N(μ,Σ). μ is the vector of mean values (m(x1),…,m(xn)) and Σ is the covariance matrix with Σij=C(xi,xj)
For modeling f(x), we use the Gaussian squared exponential covariance function C(xi,xj)=vexp[−12(xi−xj)TW−1(xi−xj)], as it performs well regarding accuracy. Without loss of generality, we use m(x)=m.
W−1=diag(w1,…,wd) and v are hyperparameters of the Gaussian process. We have a set of observed simulation results B={(xi,ti)}Ni=1 as supporting points with xi∈Rd and ti=f(xi)+ϵi with white noise ϵi∼N(0,vt). This noise represents the aleatory uncertainty of the simulation that calculates f(x).
To model the noisy observations ti we use K=Σ+vtI as covariance matrix for regression. Therefore, we have an additional hyperparameter vt. The hyperparameters W−1, vt, and v can be estimated from a given dataset with a maximum likelihood approach. In the following, we use β=K−1t with t=(t1,…,tN)T to simplify notation.
Now, the Gaussian process can be used as a surrogate for the simulation model. The prediction μ(x) and code plus aleatory uncertainty σ2(x) at a new input x is:
1-d Example:

Usage: See Getting Started
References¶
[1] | Girard, A. Approximate Methods for Propagation of Uncertainty with Gaussian Process Models, University of Glasgow, 2004 |
[2] | Baumgaertel, P.; Endler, G.; Wahl, A. M. & Lenz, R. Inverse Uncertainty Propagation for Demand Driven Data Acquisition, Proceedings of the 2014 Winter Simulation Conference, IEEE Press, 2014, 710-721 (https://www6.cs.fau.de/publications/public/2014/WinterSim2014_baumgaertel.pdf) |