# Metamodeling

Line 1: | Line 1: | ||

− | Metamodels are approximate mathematical models, also called surrogate models, used to predict a response given input values. They are typically used when an analytical function is not available or when obtaining a function value is computationally expensive. | + | Metamodels are approximate mathematical models, also called surrogate models, used to predict a response given input values. They are typically used when an analytical function is not available or when obtaining a function value is computationally expensive. Metamodels mimic the behavior of the more complex analytical function while minimizing computational time. Metamodeling methods are often used in design optimization to provide function evaluations of the objective function(s) and response(s). |

==Metamodel Terminology== | ==Metamodel Terminology== | ||

− | '''''Design of Experiments (DOE)''''' – selected points and their function evaluations within the design space used to build the metamodel. DOEs are typically constructed using methods such as latin hypercube sampling (lhs) to provide design points which are spread throughout the design space. | + | '''''Design of Experiments (DOE)''''' – selected points and their function evaluations within the design space used to build the metamodel. DOEs are typically constructed using methods such as latin hypercube sampling (lhs) to provide design points which are spread throughout the design space. The sample points provide a way to "train" the metamodel to capture simulation model behavior throughout the design space. |

'''''Design Point or Training Point''''' – design variable and response from the design of experiments used to construct or train the metamodel. | '''''Design Point or Training Point''''' – design variable and response from the design of experiments used to construct or train the metamodel. | ||

Line 11: | Line 11: | ||

==Building a Metamodel== | ==Building a Metamodel== | ||

− | '''1)''' Create Design of Experiment points to use as Design points with upper and lower bounds on the variables. The number of points depends on the problem but generally should be at least ''3xN'' where ''N'' is the number of variables. More points can produces a more accurate model but this is not always true. | + | '''1)''' Create Design of Experiment points to use as Design points with upper and lower bounds on the variables. The number of points depends on the problem but generally should be at least ''3xN'' where ''N'' is the number of variables. More points can produces a more accurate model but this is not always true. More points can also increase computational time, as the response from the analytical function needs to be calculated for each point. |

'''2)''' Obtain responses of interest at each design point and test point. This is typically done by running simulations, performing experiments, or using an analytical function. | '''2)''' Obtain responses of interest at each design point and test point. This is typically done by running simulations, performing experiments, or using an analytical function. | ||

Line 19: | Line 19: | ||

==Metamodel Techniques== | ==Metamodel Techniques== | ||

===Polynomial Response Surface (PRS)=== | ===Polynomial Response Surface (PRS)=== | ||

− | This is a MATLAB function script file for building an PRS metamodel.[[Media:get_ypred_prs.m|MATLAB PRS function]] | + | As the name implies, the PRS method uses a polynomial function of the design variables to approximate the response of the analytical model. This is a MATLAB function script file for building an PRS metamodel.[[Media:get_ypred_prs.m|MATLAB PRS function]] |

===Gaussian Process (GP)=== | ===Gaussian Process (GP)=== | ||

This file contains a MATLAB function script for building a GP metamodel. This function requires an outside toolbox and a link for this toolbox can be found in the comments section of the file. [[Media:get_ypred_gp.m|MATLAB GP function]] | This file contains a MATLAB function script for building a GP metamodel. This function requires an outside toolbox and a link for this toolbox can be found in the comments section of the file. [[Media:get_ypred_gp.m|MATLAB GP function]] | ||

===Radial Basis Function (RBF)=== | ===Radial Basis Function (RBF)=== | ||

− | This is a MATLAB function script file for building an RBF metamodel.[[Media:get_ypred_rbf.m|MATLAB RBF function]] | + | Radial basis functions are real-valued functions whose value depends only on the distance from the origin or center. A typical metamodel will use a sum of weighted radial basis functions, each with a different center and weight to approximate the analytical model. This is a MATLAB function script file for building an RBF metamodel.[[Media:get_ypred_rbf.m|MATLAB RBF function]] |

This file contains a MATLAB script to create a text file containing an analytic RBF equation based on a previously built RBF metamodel.[[Media:write_rbf.m| Write RBF equation]] | This file contains a MATLAB script to create a text file containing an analytic RBF equation based on a previously built RBF metamodel.[[Media:write_rbf.m| Write RBF equation]] | ||

===Kriging (KR)=== | ===Kriging (KR)=== | ||

− | This file contains a MATLAB function script for building a KR metamodel. This | + | This file contains a MATLAB function script for building a KR metamodel. This function requires an outside toolbox and a link for this toolbox can be found in the comments section of the file. [[Media:get_ypred_krig.m|MATLAB KR function]] |

===Support Vector Regression (SVR)=== | ===Support Vector Regression (SVR)=== | ||

This file contains a MATLAB function script for building a SVR metamodel. This function requires an outside toolbox and a link for this toolbox can be found in the comments section of the file. [[Media:get_ypred_svr.m|MATLAB SVR function]] | This file contains a MATLAB function script for building a SVR metamodel. This function requires an outside toolbox and a link for this toolbox can be found in the comments section of the file. [[Media:get_ypred_svr.m|MATLAB SVR function]] |

## Revision as of 15:10, 6 December 2013

Metamodels are approximate mathematical models, also called surrogate models, used to predict a response given input values. They are typically used when an analytical function is not available or when obtaining a function value is computationally expensive. Metamodels mimic the behavior of the more complex analytical function while minimizing computational time. Metamodeling methods are often used in design optimization to provide function evaluations of the objective function(s) and response(s).

## Contents |

## Metamodel Terminology

* Design of Experiments (DOE)* – selected points and their function evaluations within the design space used to build the metamodel. DOEs are typically constructed using methods such as latin hypercube sampling (lhs) to provide design points which are spread throughout the design space. The sample points provide a way to "train" the metamodel to capture simulation model behavior throughout the design space.

* Design Point or Training Point* – design variable and response from the design of experiments used to construct or train the metamodel.

* Validation Point, Test Point, or Sampling Point* – points within the design space where a prediction is desired, also used to check the accuracy of the metamodel.

## Building a Metamodel

**1)** Create Design of Experiment points to use as Design points with upper and lower bounds on the variables. The number of points depends on the problem but generally should be at least *3xN* where *N* is the number of variables. More points can produces a more accurate model but this is not always true. More points can also increase computational time, as the response from the analytical function needs to be calculated for each point.

**2)** Obtain responses of interest at each design point and test point. This is typically done by running simulations, performing experiments, or using an analytical function.

**3)** Build the metamodel using one of numerous techniques and check the error using an error metric.

## Metamodel Techniques

### Polynomial Response Surface (PRS)

As the name implies, the PRS method uses a polynomial function of the design variables to approximate the response of the analytical model. This is a MATLAB function script file for building an PRS metamodel.MATLAB PRS function

### Gaussian Process (GP)

This file contains a MATLAB function script for building a GP metamodel. This function requires an outside toolbox and a link for this toolbox can be found in the comments section of the file. MATLAB GP function

### Radial Basis Function (RBF)

Radial basis functions are real-valued functions whose value depends only on the distance from the origin or center. A typical metamodel will use a sum of weighted radial basis functions, each with a different center and weight to approximate the analytical model. This is a MATLAB function script file for building an RBF metamodel.MATLAB RBF function

This file contains a MATLAB script to create a text file containing an analytic RBF equation based on a previously built RBF metamodel. Write RBF equation

### Kriging (KR)

This file contains a MATLAB function script for building a KR metamodel. This function requires an outside toolbox and a link for this toolbox can be found in the comments section of the file. MATLAB KR function

### Support Vector Regression (SVR)

This file contains a MATLAB function script for building a SVR metamodel. This function requires an outside toolbox and a link for this toolbox can be found in the comments section of the file. MATLAB SVR function

This file contains a MATLAB script to create a text file containing an analytic SVR equation based on a previously built SVR metamodel. Write SVR equation

### Optimized Ensemble (EN)

An Ensemble of metamodels using optimized weight factors. See the link below for a description of the method. The following file contains a MATLAB function file implementing this method. MATLAB EN function http://www.springerlink.com/content/u406m252480277x0/