Design of ExperimentsΒΆ

The method is used in the following context: \vect{x}= \left( x^1,\ldots,x^{n_X} \right) is a vector of input parameters. We want to determine a particular set of values of \vect{x} according to a particular design of experiments .

Different types of design of experiments can be determined:

  • some stratified patterns: axial, composite, factorial or box patterns,
  • some weighted patterns that we can split into different categories: the random patterns, the low discrepancy sequences and the Gauss product.
Stratified design of experiments
All stratified design of experiments are defined from the data of a center point and some discretization levels. The same number of levels for each direction is proposed: let us denote by n_{level} that discretization number.
The axial pattern contains points only along the axes. It is not convenient to model interactions between variables. The pattern is obtained by discretizing each direction according to specified levels, symmetrically with respect to the center of the design of experiments . The number of points generated is 1 + 2dn_{level}.
The factorial pattern contains points only on diagonals. It is not convenient to model influences of single input variables. The pattern is obtained by discretizing each principal diagonal according to the specified levels, symmetrically with respect to the center of the design of experiments . The number of points generated is 1 + 2^dn_{level}.
The composite pattern is the union of both previous ones. The number of points generated is 1 + 2dn_{level} + 2^dn_{level}.
The box pattern is a simple regular discretization of a pavement around the center of the design of experiments , with the number of intermediate points specified for each direction (denoted n_{level\_direction\_i}). The number of points generated is \displaystyle \prod_{i=1}^{d} (2+n_{level\_direction\_i}).
The following figures illustrates the different patterns obtained.

(Source code, png, hires.png, pdf)

../../_images/design_experiment-1.png

(Source code, png, hires.png, pdf)

../../_images/design_experiment-2.png

(Source code, png, hires.png, pdf)

../../_images/design_experiment-3.png

(Source code, png, hires.png, pdf)

../../_images/design_experiment-4.png
Weighted design of experiments
The first category is the random patterns, where the set of input data is generated from the joint distribution of the input random vector, according to the Monte Carlo sampling technique or the LHS one (refer to and ).
Care: the LHS sampling method requires the independence of the input random variables.
The second category is the low discrepancy sequences. The Faure, Halton, Haselgrove, Reverse Halton and Sobol sequences are proposed.
The third category is the Gauss product which is the set of points which components are the respective Gauss set (i.e. the roots of the orthogonal polynomials with respect to the univariate distribution).

(Source code, png, hires.png, pdf)

../../_images/design_experiment-5.png

(Source code, png, hires.png, pdf)

../../_images/design_experiment-6.png

(Source code, png, hires.png, pdf)

../../_images/design_experiment-7.png

(Source code, png, hires.png, pdf)

../../_images/design_experiment-8.png
Combinatorial generators
In some situations, one want to explore all the possibilities related to constrained discrete uncertainties. In this case, we need to obtain all the sets of indices fulfilling the constraints. Examples of constraints are:
  • being a subset with k elements of a set with n elements, with k\leq n;
  • being a permutation of k elements taken into a set of n elements, with k\leq n;
  • being an element of a Cartesian product of sets with n_1,\hdots,n_d elements.

It is important to get indices and not real-valued vectors. The distinction is made explicit by calling these design of experiments Combinatorial Generators, which produce collections of indices instead of samples.

The following figures illustrates the different patterns obtained.

(Source code, png, hires.png, pdf)

../../_images/design_experiment-9.png

(Source code, png, hires.png, pdf)

../../_images/design_experiment-10.png

(Source code, png, hires.png, pdf)

../../_images/design_experiment-11.png

API: