From charlesreid1

Revision as of 17:34, 20 June 2011 by Admin (talk | contribs) (→‎Example)

Overview of Experimental Design and Surrogate Models

The Problem Statement

Purpose: create a cheap representation of an expensive computer model

We're picking some input parameters, and some output variables

Normally there is a map from one to the other: the real function $ f $,

$ \boldsymbol{y} = f(\boldsymbol{x}) $

And we're creating a surrogate model $ g $,

$ \boldsymbol{y} = g(\boldsymbol{x}) $

This is sometimes called a "metamodel", because it's a model of a model

Classes of Surrogate Models

There are several classes or forms for $ g $

  • Latin hypercube
  • Space-filling
  • Uniform
  • Neural networks
  • Gaussian
  • Polynomials (response surface methodology)

I won't cover all, I will only cover latin hypercube, space-filling, and response surface methodologies

Surrogate Modeling

When constructing surrogate models, important to distinguish between computer surrogate modeling (metamodeling) and experimental surrogate modeling

Big difference: experiments have random errors


Basic Concepts for Experiments

Analysis of Variance tables

Basic Concepts for Metamodeling

Metamodeling: regression on data without random errors

Trying to predict true value $ f(\boldsymbol{x}) $ using surrogate model $ g(\boldsymbol{x}) $

Mean square error:

$ MSE(g) = \int_R \left( f(\boldsymbol{x}) - g(\boldsymbol{x}) \right) d\boldsymbol{x} $

where R is the region in parameter space where the metamodel applies

Example

Example function:

Real function f:

function real = real_function()                                      
                                                                     
% Define the domain of the real function                             
x=0:(pi/32):2*pi;                                                    
                                                                     
real = 2*x.*cos(4*pi*x);

Surrogate function f:

function surrogate = surrogate_function()

% Define the region in which the function is valid
x = 0:(pi/32):2*pi;

surrogate = 0.9931 + 1.96*(x-0.5) - 76.8838*(x-0.5).^2 - 152.0006*(x-0.5).^3 ...
        + 943.8565*(x-0.5).^4 + 1857.1427*(x-0.5).^5 - 3983.9332*(x-0.5).^6 ...
        - 7780.7937*(x-0.5).^7 + 5756.3561*(x-0.5).^8 + 11147.1698*(x-0.5).^9;

Comparing the two functions:

ExpDesignTwoFunctions.png

And comparing their error:

ExpDesignTwoFunctionsError.png

Latin Hypercube

Space-Filling

Response surface

More in detail on this

Response Surface Methodology

Factorial Design

Fractional Factorial Design

Full Factorial Design

Composite Design

Other Alternatives

Box-Behnkin

Whatever Others