Skip to content

Home / DOE / Create Designs / Create Central Composite (CCD) Design / Math Details

Math Details

This page gives the quantities a central composite design is built from and how each one is formed: the three groups of runs it holds, the axial distance \(\alpha\) and the three rules that can set it, the stored table the defaults come from, and how the blocking splits the design.

Notation

Term Description
\(k\) the number of factors
\(F\) the number of factorial runs, the run count of the two level part
\(\alpha\) the axial distance, in coded units
\(C\) the number of center points
\(C_f\), \(C_a\) the center points assigned to the factorial portion and to the axial portion
\(t\) \(2k + C\), used by the orthogonality rule
\(b\) the number of block generators applied to the factorial portion
\(N\) the number of rows in the design

The three groups of runs

A central composite design is three groups of rows stacked in this order:

  1. The factorial portion, \(F\) rows, which is a two level factorial or fraction on all \(k\) factors, built exactly as Two Level Factorial Designs describes. Its fraction is reported as \(2^k / F\).
  2. The axial portion, \(2k\) rows. There are two rows per factor: one with that factor at \(-\alpha\) and every other factor at \(0\), and one with that factor at \(+\alpha\) and every other factor at \(0\).
  3. The center points, \(C\) rows, every factor at \(0\).

so the design holds

\[ N = F + 2k + C \]

rows. Each row is tagged with which group it came from, and the tag distinguishes the low axial rows from the high axial rows, which is what lets the blocking below treat the axial portion as a unit.

The factorial portion is a two level design in every respect, so the number of factors it can give its own columns to is \(\log_2 F\) and the rest are formed as products. \(F\) is therefore always a power of two.

The axial distance

\(\alpha\) is the one quantity in the design that is not a count. Three rules can set it, and the dialog chooses among them.

Face centered. The axial points sit on the faces of the cube, at the same coded distance as the factorial points:

\[ \alpha = 1 \]

This is the only one of the three that does not depend on the design's size. It is also the only one that adds no new factor level beyond the two the factorial part already uses, so the design has three levels per factor rather than five.

Optimal rotatability. The axial distance is the fourth root of the factorial run count:

\[ \alpha = F^{1/4} \]

Optimal orthogonality. Write \(t = 2k + C\). Then

\[ q = \left( \sqrt{F + t} - \sqrt{F} \right)^{2}, \qquad \alpha = \left( \tfrac{1}{4} \, q \, F \right)^{1/4} \]

This is the only one of the three that reads the number of center points, so on this rule changing \(C\) changes \(\alpha\), and on the other two it does not.

The stored table of defaults

Beside those three rules the product carries a table of 44 stored central composite designs, indexed by factor count, factorial run count and block count. Factor counts run from 2 to 10. Each entry stores a default \(\alpha\), a split of the center points between the factorial and axial portions, and two flags recording whether that design is orthogonally blocked and whether it is rotatable.

The stored entry is what supplies the design's defaults: the default \(\alpha\) and the default number of center points are read from it, and the split \(C_f\), \(C_a\) is read from it whenever the design is blocked. A combination of factor count, run count and block count that is not in the table has no stored defaults, and the center point split is then left to the caller.

The stored \(\alpha\) for an unblocked design is the rotatable value. Every unblocked entry in the table holds \(F^{1/4}\) rounded to four significant figures: 1.414 at \(F = 4\), 1.682 at 8, 2 at 16, 2.378 at 32, 2.828 at 64 and 3.364 at 128. So the default for an unblocked design and the optimal rotatability rule agree, up to that rounding.

Where orthogonal blocking and rotatability cannot both hold, the table keeps orthogonal blocking. Four blocked entries store an \(\alpha\) that is not the rotatable value, and each of those four is flagged orthogonal and not rotatable:

Factors Factorial runs Blocks Stored \(\alpha\) Rotatable \(F^{1/4}\)
3 8 2 1.633 1.682
3 8 3 1.633 1.682
5 32 2 2.366 2.378
5 32 3 2.366 2.378
6 32 2 2.366 2.378
6 32 3 2.366 2.378

Every other blocked entry stores the rotatable value and is flagged both orthogonal and rotatable, so for those the two properties coincide and no choice has to be made.

The list of block counts the dialog offers for a given factor and run count is read from this table, not computed. It is the distinct block counts above one that the table holds for that combination, with one block always available.

Blocking

The axial portion is treated as a single block and the factorial portion is divided.

With two blocks and blocking in the design rather than on replicates, the split is exactly the two groups: block 1 is the whole factorial portion, block 2 is the whole axial portion.

With more than two blocks, the factorial portion is divided by block generators the ordinary way, giving

\[ 2^{b} \]

blocks from \(b\) generators, and the axial portion is then given the next block number after those, which is \(2^{b} + 1\). The axial rows are never split across blocks.

The center points are divided between the two portions according to the stored split \(C_f\), \(C_a\), and the factorial portion's share is distributed across its blocks. The block counter stops advancing once the axial rows are reached, which is what keeps the axial portion in one block.

Blocking on replicates uses none of this mechanism.

Coding and the levels each factor takes

The coded values a factor takes are \(-\alpha\), \(-1\), \(0\), \(+1\) and \(+\alpha\), which is five distinct levels when \(\alpha \neq 1\) and three when \(\alpha = 1\). Each is converted to the value written on the design sheet by the design's own coding, so an axial point falls outside the low and high the factor was given whenever \(\alpha > 1\).

Every quantitative factor is put on a common scale before the regression runs. One expression does it, whichever coding is in force, using a centre \(m_c\) and a scale \(s_c\) that the coding chooses:

\[ x_{\text{coded}} = \frac{x - m_c}{s_c} \]

A categorical factor is never coded this way. Its coded value is \(1\), and the level it sits at selects which coefficient is used instead.

An interaction's coded value is the product of the coded values of the factors in it.

That is worth stating plainly because it is a property of the design rather than of the arithmetic: on every rule except face centered, the axial runs ask for factor settings beyond the range typed into the dialog.

The design description

The description block written at the top of the design sheet reports the fraction of the factorial portion, the factor count, the run count and the value of \(\alpha\) in use.

Shared Math Details used here

This design uses shared formulas defined once in Shared Math Details. See those pages for the exact definitions.

Shared concept Used here for Reference
Aliasing and resolution the factorial portion's generators, alias table and blocking Aliasing and Resolution
Design coding turning \(\pm 1\), \(0\) and \(\pm \alpha\) into the values written on the design sheet Design Coding

See Also

References

  1. Box, G. E. P. and Wilson, K. B. (1951). On the Experimental Attainment of Optimum Conditions. Journal of the Royal Statistical Society, Series B, 13(1), 1 to 45.
  2. Box, G. E. P. and Hunter, J. S. (1957). Multi-Factor Experimental Designs for Exploring Response Surfaces. The Annals of Mathematical Statistics, 28(1), 195 to 241.
  3. Montgomery, D. C. (2013). Design and Analysis of Experiments, 8th edition. Wiley.
  4. Myers, R. H., Montgomery, D. C., and Anderson-Cook, C. M. (2016). Response Surface Methodology: Process and Product Optimization Using Designed Experiments, 4th edition. Wiley.