mixle.doe.mixture module¶
Mixture experiment designs on the simplex.
In a mixture experiment the factors are component proportions that must be non-negative and sum to
one, so the design space is the (q-1)-simplex rather than a box. These generators return a
(n, q) array whose rows are valid blends (each row sums to 1). Use them with a mixture (Scheffe)
polynomial when modelling the response. lower/upper bounds map the canonical simplex design
onto pseudo-components for constrained mixtures.
- simplex_lattice(q, m)[source]
{q, m}simplex-lattice design forqmixture components.Each component takes one of the
m + 1evenly spaced proportions0, 1/m, ..., 1and the proportions in a blend sum to one. The design is exactly the set of such blends –C(q+m-1, m)points – and supports a degree-mScheffe mixture polynomial.Returns a
(C(q+m-1, m), q)array of blends (rows sum to 1).
- simplex_centroid(q)[source]
Simplex-centroid design for
qmixture components.Runs the centroid of every non-empty subset of components: the
qpure components, theC(q,2)binary 1/2:1/2 blends, … up to the overall centroid (all components at1/q) –2**q - 1blends in total. Supports the special cubic mixture model.Returns a
(2**q - 1, q)array of blends (rows sum to 1).
- to_pseudocomponents(blends, lower)[source]
Map canonical simplex blends onto pseudo-components with per-component lower bounds.
With lower bounds
l_i(summing to< 1), a constrained mixture’s feasible region is itself a smaller simplex; this maps a canonical blendxonto the real proportionsa_i = l_i + (1 - sum l) * x_i(the standard L-pseudocomponent transform), so any simplex design above can be run inside the constrained region. Rows still sum to 1.