Computer experiment

Source: Wikipedia, the free encyclopedia.

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

climate models
are often used because experimentation on an earth sized object is impossible.

Objectives

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.

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,

. 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

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

Matern covariance
, which includes both the exponential () and Gaussian covariances (as ).

Design of computer experiments

The design of computer experiments has considerable differences from

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

low discrepancy sequences
.

Problems with massive sample sizes

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

Further reading

  • Santner, Thomas (2003). The Design and Analysis of Computer Experiments. Berlin: Springer. .