Metamodels are approximate mathematical models, also called surrogate models, used to emulate the response of complex modelling frameworks when given sample model responses. They are typically used when an analytical function is not available or when obtaining a function value is computationally expensive, such as in large scale finite element simulations. Metamodels mimic the behavior of the more complex analytical function while significantly reducing computational time. Metamodeling methods are often used in design optimization to provide function evaluations of the objective function(s) and response(s). Because of the robust nature of metamodels, they can be applied to problems at any length scale. They are essentially multidimensional interpolation methods.
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 (see links: 1, 2, 3, and 4). 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 produce 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.
Generally, metamodels are only capable of interpolating within the provided parameter design space, so care must be taken to avoid inputting parameters less than or greater than the parameter's minimum or maximum, respectively.
Normalizing Model Inputs
When using metamodels, it is important for inputs to be normalized in order to mitigate potential problems with high order of magnitude parameters. For non-normalized inputs, generally the highest order of magnitude parameter will control the surrogate output. This is most noticeable when using a Radial Basis Function Network (RBFN). Since RBFNs map the input parameters to a radius (or vector magnitude), parameters that can be negative or positive (such as compressive/tensile stresses) will not be mapped monotonically. That is, compressive stresses will be mapped the same as tensile ones. To avoid this problem, the N-dimensional model space can be mapped to a unit hypercube. This forces all parameters to be mapped monotonically (one-to-one) between a minimum of 0 and a maximum of 1. Effectively, this is mapping each input to a standard uniform distribution, U(0,1). This can be represented by the equation:
Using this normalization method, negative values can be properly monotonically mapped for RBFNs.
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 An implementation of the RBF surrogate is also available in python.
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
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/
A comparative study of metamodeling methods for multi objective crashworthiness optimization
Numerical simulations of multiple vehicle crashes and multidisciplinary crashworthiness optimization
Pages in category "Metamodeling"
The following 6 pages are in this category, out of 6 total.
- Creep characterization of vapor-grown carbon nanofiber/vinyl ester nanocomposites using a response surface methodology
- Numerical simulations of multiple vehicle crashes and multidisciplinary crashworthiness optimization