A computer experiment or simulation experiment is an experiment used to study a computer simulation, also referred to as an in silico system. This area includes computational physics, computational chemistry, computational biology and other similar disciplines.
Computer simulations are constructed to emulate a physical system. Because these are meant to replicate some aspect of a system in detail, they often do not yield an analytic solution. Therefore, methods such as discrete event simulation or finite element solvers are used. A computer model is used to make inferences about the system it replicates. For example, climate models are often used because experimentation on an earth sized object is impossible.
Computer experiments have been employed with many purposes in mind. Some of those include:
- Uncertainty quantification: Characterize the uncertainty present in a computer simulation arising from unknowns during the computer simulation's construction.
- Inverse problems: Discover the underlying properties of the system from the physical data.
- Bias correction: Use physical data to correct for bias in the simulation.
- Data assimilation: Combine multiple simulations and physical data sources into a complete predictive model.
- Systems design: Find inputs that result in optimal system performance measures.
Computer simulation modeling
Modeling of computer experiments typically uses a Bayesian framework. Bayesian statistics is an interpretation of the field of statistics where which all evidence about the true state of the world is explicitly expressed in the form of probabilities. In the realm of computer experiments, the Bayesian interpretation would imply we must form a prior distribution that represents our prior belief on the structure of the computer model. The use of this philosophy for computer experiments started in the 1980s and is nicely summarized by Sacks et al. (1989) . While the Bayesian approach is widely used, frequentist approaches have been recently discussed .
The basic idea of this framework is to model the computer simulation as an unknown function of a set of inputs. The computer simulation is implemented as a piece of computer code that can be evaluated to produce a collection of outputs. Examples of inputs to these simulations are coefficients in the underlying model, initial conditions and forcing functions. It is natural to see the simulation as a deterministic function that maps these inputs into a collection of outputs. On the basis of seeing our simulator this way, it is common to refer to the collection of inputs as , the computer simulation itself as , and the resulting output as . Both and are vector quantities, and they can be very large collections of values, often indexed by space, or by time, or by both space and time.
Although is known in principle, in practice this is not the case. Many simulators comprise tens of thousands of lines of high-level computer code, which is not accessible to intuition. For some simulations, such as climate models, evaluatution of the output for a single set of inputs can require millions of computer hours .
Gaussian process prior
The typical model for a computer code output is a Gaussian process. For notational simplicity, assume is a scalar. Owing to the Bayesian framework, we fix our belief that the function follows a Gaussian process, where is the mean function and is the covariance function. Popular mean functions are low order polynomials and a popular covariance function is Matern covariance, which includes both the exponential () and Gaussian covariances (as ).
Design of computer experiments
The design of computer experiments has considerable differences from design of experiments for parametric models. Since a Gaussian process prior has an infinite dimensional representation, the concepts of A and D criteria (see Optimal design), which focus on reducing the error in the parameters, cannot be used. Replications would also be wasteful in cases when the computer simulation has no error. Criteria that are used to determine a good experimental design include integrated mean squared prediction error  and distance based criteria .
Problems with massive sample sizes
Unlike physical experiments, it is not uncommon for computer experiments to have thousands of different input combinations. Because the standard inference requires matrix inversion of a square matrix of the size of the number of samples (), the cost grows on the . Matrix inversion of large, dense matrices can also cause induce numerical inaccuracies. Currently, this problem is avoided by using approximation methods, e.g. .
- Uncertainty quantification
- Bayesian statistics
- Gaussian process emulator
- Design of experiments
- Monte Carlo method
- Surrogate model