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.

Background

edit

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.

Objectives

edit

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

edit

Modeling of computer experiments typically uses a Bayesian framework. Bayesian statistics is an interpretation of the field of statistics where 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) [1]. While the Bayesian approach is widely used, frequentist approaches have been recently discussed [2].

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, evaluation of the output for a single set of inputs can require millions of computer hours [3].

Gaussian process prior

edit

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

edit

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 [4] and distance based criteria [5].

Popular strategies for design include latin hypercube sampling and low discrepancy sequences.

Problems with massive sample sizes

edit

Unlike physical experiments, it is common 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 numerical inaccuracies. Currently, this problem is solved by greedy decision tree techniques, allowing effective computations for unlimited dimensionality and sample size patent WO2013055257A1, or avoided by using approximation methods, e.g. [6].

See also

edit

Further reading

edit
  • Santner, Thomas (2003). The Design and Analysis of Computer Experiments. Berlin: Springer. ISBN 0-387-95420-1.
  • Fehr, Jörg; Heiland, Jan; Himpe, Christian; Saak, Jens (2016). "Best practices for replicability, reproducibility and reusability of computer-based experiments exemplified by model reduction software". AIMS Mathematics. 1 (3): 261–281. arXiv:1607.01191. doi:10.3934/Math.2016.3.261. S2CID 14715031.