Fractional Factorial Designs
Introduction to Fractional Factorial Designs
Two-level designs are sufficient for evaluating many production processes. Factor
levels of ±1
can indicate categorical factors, normalized
factor extremes, or simply “up” and “down” from current
factor settings. Experimenters evaluating process changes are
interested primarily in the factor directions that lead to process
improvement.
For experiments with many factors, two-level full factorial designs can lead to large amounts of data. For example, a two-level full factorial design with 10 factors requires 210 = 1024 runs. Often, however, individual factors or their interactions have no distinguishable effects on a response. This is especially true of higher order interactions. As a result, a well-designed experiment can use fewer runs for estimating model parameters.
Fractional factorial designs use a fraction of the runs required by full factorial designs. A subset of experimental treatments is selected based on an evaluation (or assumption) of which factors and interactions have the most significant effects. Once this selection is made, the experimental design must separate these effects. In particular, significant effects should not be confounded, that is, the measurement of one should not depend on the measurement of another.
Plackett-Burman Designs
Plackett-Burman designs are used when only main
effects are considered significant. Two-level Plackett-Burman designs require a
number of experimental runs that are a multiple of 4 rather than a power of 2. The
function hadamard
generates these
designs:
dPB = hadamard(8) dPB = 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
Binary factor levels are indicated by ±1
. The design is
for eight runs (the rows of dPB
) manipulating seven two-level
factors (the last seven columns of dPB
). The number of runs is a
fraction 8/27 = 0.0625 of the runs required by a full
factorial design. Economy is achieved at the expense of confounding main effects
with any two-way interactions.
General Fractional Designs
At the cost of a larger fractional design, you can specify which interactions you wish to consider significant. A design of resolution R is one in which no n-factor interaction is confounded with any other effect containing less than R – n factors. Thus, a resolution III design does not confound main effects with one another but may confound them with two-way interactions (as in Plackett-Burman Designs), while a resolution IV design does not confound either main effects or two-way interactions but may confound two-way interactions with each other.
Specify general fractional factorial designs using a full factorial design for a
selected subset of basic factors and generators for the remaining factors. Generators
are products of the basic factors, giving the levels for the remaining factors. Use
the function fracfact
to generate these
designs:
dfF = fracfact('a b c d bcd acd') 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 -1 1 -1 -1 1 1 1 -1 -1 -1 1 1 1 1 1 1
This is a six-factor design in which four two-level basic factors
(a
, b
, c
, and
d
in the first four columns of dfF
) are
measured in every combination of levels, while the two remaining factors (in the
last three columns of dfF
) are measured only at levels defined by
the generators bcd
and acd
, respectively.
Levels in the generated columns are products of corresponding levels in the columns
that make up the generator.
The challenge of creating a fractional factorial design is to choose basic factors
and generators so that the design achieves a specified resolution in a specified
number of runs. Use the function fracfactgen
to find appropriate
generators:
generators = fracfactgen('a b c d e f',4,4) generators = 'a' 'b' 'c' 'd' 'bcd' 'acd'
a
through f
, using 24 = 16 runs to achieve resolution IV. The
fracfactgen
function uses an efficient search algorithm to
find generators that meet the requirements.An optional output from fracfact
displays the confounding pattern of the design:
[dfF,confounding] = fracfact(generators); confounding confounding = 'Term' 'Generator' 'Confounding' 'X1' 'a' 'X1' 'X2' 'b' 'X2' 'X3' 'c' 'X3' 'X4' 'd' 'X4' 'X5' 'bcd' 'X5' 'X6' 'acd' 'X6' 'X1*X2' 'ab' 'X1*X2 + X5*X6' 'X1*X3' 'ac' 'X1*X3 + X4*X6' 'X1*X4' 'ad' 'X1*X4 + X3*X6' 'X1*X5' 'abcd' 'X1*X5 + X2*X6' 'X1*X6' 'cd' 'X1*X6 + X2*X5 + X3*X4' 'X2*X3' 'bc' 'X2*X3 + X4*X5' 'X2*X4' 'bd' 'X2*X4 + X3*X5' 'X2*X5' 'cd' 'X1*X6 + X2*X5 + X3*X4' 'X2*X6' 'abcd' 'X1*X5 + X2*X6' 'X3*X4' 'cd' 'X1*X6 + X2*X5 + X3*X4' 'X3*X5' 'bd' 'X2*X4 + X3*X5' 'X3*X6' 'ad' 'X1*X4 + X3*X6' 'X4*X5' 'bc' 'X2*X3 + X4*X5' 'X4*X6' 'ac' 'X1*X3 + X4*X6' 'X5*X6' 'ab' 'X1*X2 + X5*X6'
The confounding pattern shows that main effects are effectively separated by the design, but two-way interactions are confounded with various other two-way interactions.