Experimental Design Lecture: Difference between revisions
From charlesreid1
| Line 88: | Line 88: | ||
</source> | </source> | ||
Comparing the two functions: | |||
[[Image:ExpDesignTwoFunctions.png|400px]] | |||
And comparing their error: | |||
[[Image:ExpDesignTwoFunctionsError.png|400px]] | |||
==Latin Hypercube== | ==Latin Hypercube== | ||
Revision as of 17:34, 20 June 2011
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:
And comparing their error:
Latin Hypercube
Space-Filling
Response surface
More in detail on this