×

This example shows how to do fractional factorial designs with different resolutions using MATLAB.

Author(s): Mark A. Tschopp

In the preceding example, we looked at a 1/2 fractional factorial with four factors (8 runs). Unfortunately, this is the minimum number of combinations of four factors that can be generated, because at least 'n+1' runs are required for 'n' factors.

Here, let's look at five factors (a, b, c, d, e) at two different levels (-1, +1). In this case, a full factorial design would require 32 runs. However, we could generate a 1/2 fractional factorial design with 16 runs or a 1/4 fractional factorial design with 8 runs. The difference between the two fractional factorial designs is the Resolution of the design, which corresponds to the level of aliasing or confounding between main effects and interactions. For example, in the 'fracfactgen' function, a third entry can be used to specify the Resolution of the design.

- A Resolution 3 fractional factorial has aliasing for both main effects and two-factor interactions
- A Resolution 4 fractional factorial has aliasing for two-factor interactions
- A Resolution 5 fractional factorial does not have any aliasing for main effects and two-factor interactions

For example, to produce a Resolution 3 design for five factors.

nfactor = 5; d = eye(nfactor); Res = 3; generators = fracfactgen(d,[], Res); [dfF,confounding] = fracfact(generators);

which gives...

generators = 'a' 'b' 'c' 'abc' 'bc' dfF = -1 -1 -1 -1 1 -1 -1 1 1 -1 -1 1 -1 1 -1 -1 1 1 -1 1 1 -1 -1 1 1 1 -1 1 -1 -1 1 1 -1 -1 -1 1 1 1 1 1 confounding = 'Term' 'Generator' 'Confounding' 'X1' 'a' 'X1 + X4*X5' 'X2' 'b' 'X2 + X3*X5' 'X3' 'c' 'X3 + X2*X5' 'X4' 'abc' 'X4 + X1*X5' 'X5' 'bc' 'X5 + X1*X4 + X2*X3' 'X1*X2' 'ab' 'X1*X2 + X3*X4' 'X1*X3' 'ac' 'X1*X3 + X2*X4' 'X1*X4' 'bc' 'X5 + X1*X4 + X2*X3' 'X1*X5' 'abc' 'X4 + X1*X5' 'X2*X3' 'bc' 'X5 + X1*X4 + X2*X3' 'X2*X4' 'ac' 'X1*X3 + X2*X4' 'X2*X5' 'c' 'X3 + X2*X5' 'X3*X4' 'ab' 'X1*X2 + X3*X4' 'X3*X5' 'b' 'X2 + X3*X5' 'X4*X5' 'a' 'X1 + X4*X5'

Compare this with a Resolution 5 design for five factors.

nfactor = 5; d = eye(nfactor); Res = 5; generators = fracfactgen(d,[], Res); [dfF,confounding] = fracfact(generators);

which gives...

generators = 'a' 'b' 'c' 'd' 'abcd' dfF = -1 -1 -1 -1 1 -1 -1 -1 1 -1 -1 -1 1 -1 -1 -1 -1 1 1 1 -1 1 -1 -1 -1 -1 1 -1 1 1 -1 1 1 -1 1 -1 1 1 1 -1 1 -1 -1 -1 -1 1 -1 -1 1 1 1 -1 1 -1 1 1 -1 1 1 -1 1 1 -1 -1 1 1 1 -1 1 -1 1 1 1 -1 -1 1 1 1 1 1 confounding = 'Term' 'Generator' 'Confounding' 'X1' 'a' 'X1' 'X2' 'b' 'X2' 'X3' 'c' 'X3' 'X4' 'd' 'X4' 'X5' 'abcd' 'X5' 'X1*X2' 'ab' 'X1*X2' 'X1*X3' 'ac' 'X1*X3' 'X1*X4' 'ad' 'X1*X4' 'X1*X5' 'bcd' 'X1*X5' 'X2*X3' 'bc' 'X2*X3' 'X2*X4' 'bd' 'X2*X4' 'X2*X5' 'acd' 'X2*X5' 'X3*X4' 'cd' 'X3*X4' 'X3*X5' 'abd' 'X3*X5' 'X4*X5' 'abc' 'X4*X5'

Obviously, the Resolution 5 design gives almost identical information to the full factorial design with 1/2 the number of factor combinations (no aliasing of main effects or two-factor interactions). On the other hand, the Resolution 3 design does not require a lot of runs, but we may not be able to tell whether the main effects of particular factors are real without running additional experiments (since they are aliased with other effects). In some cases, where running the Resolution 5 design might take too long or is too costly, the Resolution 3 design will have to suffice OR this design may be used to try to narrow down (screen) the factors so that followup DOEs can evaluate the important factors.