ooDACE toolbox
1.4
|
The ooDACE toolbox is a versatile Matlab toolbox that implements the popular Gaussian Process based kriging surrogate models. Kriging is in particular popular for approximating (and optimizing) deterministic computer experiments. Given a dataset the toolbox automatically fits a kriging surrogate model to it. Afterwards the kriging surrogate can be fully exploited instead of the (probably more expensive) simulation code.
The toolbox is aimed for solving complex applications (expensive simulation codes, physical experiments, ...) and for researching new kriging extensions and techniques.
See download page
Now the toolbox is ready to be used. The ooDACE toolbox is designed in an object oriented (OO) fashion. It is strongly recommended to exploit the OO design directly, i.e., use the Kriging and Optimizer matlab classes. However, for convenience wrapper scripts (dacefit, predictor) are provided that emulate the DACE toolbox interface (see wrapper scripts for more information).
Lets define n as the number of observations and d as the number of input parameters. Then the n-by-d input sample matrix is denoted by samples (each row is one observation) and the corresponding output values are stored in the n-by-1 matrix values.
The ooDACE toolbox provides a script, oodacefit.m
, that just takes your dataset (a samples and values matrix) and returns a fitted kriging object, all other parameters are set to some sensible defaults. For instance,
For more flexibility the user can utilize the kriging classes directly. lb and ub are 1-by-d arrays defining the lower bounds and upper bounds, respectively, needed to optimize the hyperparameters. In addition, a set of starting values has to be specified, namely, hyperparameters0 is also an 1-by-d array. Example code to create a kriging model follows:
See the included demo.m
and oodacefit.m
scripts for more example code on how to use the ooDACE toolbox (including more advanced features such as using blind kriging (BlindKriging
) or how to use regression instead of interpolation). For more information on the classes and their methods please refer to the doxygen documentation and the source files.
The ooDACE toolbox provides two scripts dacefit.m
and predictor.m
that emulate the behavior of the DACE toolbox ([1]). Note, that full compatibility between ooDACE and the DACE toolbox is not provided. The scripts merely aim to ease the transition from the DACE toolbox to the ooDACE toolbox.
Example code:
Obviously, a lot less code is used to copy the setup described above. However, less code means less flexibility (e.g., blind
kriging and regression kriging are not available using the wrapper scripts). Hence, it is suggested to learn the object oriented interface of ooDACE and use it instead.
Suggestions on how to improve the ooDACE toolbox are always welcome. For more information please see the feedback page.