Mixture Designs für Formulierungs-DoE
Mixture Design für Formulierungs-DoE: warum Komponenten mit Summe 1 faktorielle Designs sprengen, was L-Pseudokomponenten leisten, echter CovaDOE-Simplex-Lauf.
Oliver Kraft
CovaSyn

Sie haben vier Hilfsstoffe und eine fixe Gesamtmenge. Jedes Mal, wenn Sie einen Anteil erhöhen, muss ein anderer sinken. Führt man das durch ein Standard-faktorielles Design, erhält man eine Designmatrix voller Mischungen, die sich nicht zu 100 Prozent summieren, und ein Modell, dessen Koeffizienten nicht geschätzt werden können, weil die Spalten linear abhängig sind. Formulierung ist ein Mixture-Problem, kein faktorielles Problem, und braucht ein anderes Design.
Dieser Artikel zeigt, was sich ändert, anhand echter Designs, gebaut mit covadoe_create_design (mixture=true). Jede Run-Zahl und jede Koordinate unten ist wörtliche Tool-Ausgabe.
Warum ein faktorielles Design bei einer Formulierung scheitert
In einem faktoriellen Design bewegt sich jeder Faktor unabhängig. Temperatur und Katalysatorbeladung haben nichts miteinander zu tun, sodass ein 2^3-Design alle acht Ecken besuchen kann.
Bei einer Mischung sind die Komponenten dagegen gebunden:
x1 + x2 + ... + xq = 1
Diese eine Gleichung entzieht einen Freiheitsgrad. Konsequenzen, die ein Praktiker tatsächlich spürt:
- Sie können nicht eine Komponente allein ändern. Erhöht man Ethanol um 5 Prozent, muss etwas anderes um 5 Prozent sinken. Der "Effekt von Ethanol" lässt sich nie von dem trennen, was er verdrängt hat.
- Die Designmatrix ist singulär. Ein Modell mit Achsenabschnitt plus allen q Komponententermen kann nicht gefittet werden, weil sich die Komponentenspalten zu einer Konstanten summieren. Deshalb verwenden Mixture-Modelle die Scheffé-Form, die den Achsenabschnitt weglässt.
- Der zulässige Bereich ist ein Simplex, keine Box. Für drei Komponenten ist es ein Dreieck, kein Quadrat. Die Ecken des Quadrats (zum Beispiel 100 Prozent von allem) existieren nicht.
Die Antwort ist also eine Funktion der *Anteile*, und das Design muss auf dem Simplex leben.
Die zwei Standard-Simplex-Designs
Zwei Design-Familien decken den größten Teil der Formulierungsarbeit ab. Beide wurden hier an einem topischen Dreilösungsmittel-Vehikel aufgebaut: Ethanol, Wasser und Propylenglykol, jeweils mit einer formulierungsrealistischen Untergrenze (Ethanol mindestens 0,10, Wasser mindestens 0,30, Propylenglykol mindestens 0,10).
Simplex Lattice
Ein {q, m}-Simplex-Lattice platziert Punkte auf einem regelmäßigen Gitter des Simplex, wobei m der Grad des Polynoms ist, das Sie fitten wollen.
covadoe_create_design(design_type="simplex_lattice", mixture=true, degree=2) auf diesen drei Komponenten lieferte 6 Runs: drei reine Eckpunkte und drei binäre Mittelpunkte. Das ist genau die Anzahl der Terme in einem Scheffé-Quadratmodell für drei Komponenten (3 linear + 3 binär), das Design ist also gesättigt. Keine Fehler-Freiheitsgrade, sofern keine Wiederholungen ergänzt werden.
Bei Grad 3 lieferten dieselben drei Komponenten 10 Runs, was das Special-Cubic-Modell stützt.
Simplex Centroid
covadoe_create_design(design_type="simplex_centroid", mixture=true) auf denselben drei Komponenten lieferte 7 Runs: 3 Eckpunkte, 3 binäre 50/50-Mischungen und den Gesamt-Centroid bei gleichen Pseudokomponenten-Anteilen. Der Centroid lohnt sich - er liegt in der Mitte des Formulierungsraums, in dem man am ehesten operieren wird, und liefert einen Punkt, gegen den man Lack of Fit prüfen kann.
Eine vierte Komponente (Tween 80, Untergrenze 0,05) brachte den Simplex Centroid auf 15 Runs: 4 Eckpunkte + 6 binäre Mischungen + 4 ternäre Mischungen + 1 Gesamt-Centroid.
| Design (CovaDOE) | Komponenten | Runs | Was es schätzt |
|---|---|---|---|
simplex_lattice, Grad 2 | 3 | 6 | Scheffé-Quadratmodell (gesättigt) |
simplex_lattice, Grad 3 | 3 | 10 | Special Cubic |
simplex_centroid | 3 | 7 | quadratisch + Zentrumsprüfung |
simplex_centroid | 4 | 15 | bis zu ternären Mischtermen |
extreme_vertices (auto) | 4, aktive Obergrenzen | 21 | quadratisch in einem beschnittenen Bereich |
Alle Run-Zahlen oben sind das Feld n_runs, das covadoe_create_design zurückgibt.
L-Pseudokomponenten: der Teil, den man gern überspringt
Eine echte Formulierung ist nie ein voller Simplex. Es gibt immer Untergrenzen: mindestens 30 Prozent Wasser, mindestens 0,1 Prozent Gleitmittel, eine Mindest-Wirkstoffbeladung. Diese Grenzen schneiden einen kleineren Simplex aus dem großen heraus. Ein Lattice auf dem *vollen* Simplex zu laufen würde die meisten Runs in Mischungen legen, die gar nicht hergestellt werden dürfen.
L-Pseudokomponenten beheben das durch Reskalierung. Mit Untergrenzen L_i und
R = 1 - sum(L_i)
ist der reale Anteil der Komponente i
x_i = L_i + R * z_i
wobei z die Pseudokomponente ist, und die z-Werte selbst bilden einen sauberen Simplex mit Summe 1. Man designt in z, man fertigt in x.
Das Tool erledigt das automatisch und liefert beides zurück. Im Dreilösungsmittel-Beispiel lagen die Untergrenzen bei 0,10, 0,30 und 0,10, also sum(L) = 0,50 und R = 0,50. Der Simplex-Lattice-Run mit Pseudokomponenten-Koordinaten (0, 0,5, 0,5) kam als reale Mischung aus Ethanol 0,10, Wasser 0,55, Propylenglykol 0,35 zurück. Kontrolle: 0,30 + 0,50 * 0,5 = 0,55. Und 0,10 + 0,55 + 0,35 = 1,00.

Jeder der 6 Lattice-Runs und alle 7 Centroid-Runs summieren sich in Realeinheiten exakt zu 1,00. Der Block coded_runs in der Tool-Antwort ist das Pseudokomponenten-Design; runs ist das, was im Labor eingewogen wird.
Warum das praktisch zählt: Fitten Sie Ihr Modell in Pseudokomponenten. Die Koeffizienten liegen dann auf einer vergleichbaren Skala und das Design ist gut konditioniert. Rückrechnung auf reale Anteile erst für die Herstellungsanweisung.
Wenn Untergrenzen nicht reichen: Extreme Vertices
Untergrenzen allein halten den Bereich als Simplex, nur einen kleineren. Kommen *Obergrenzen* hinzu, hört der Bereich auf, ein Simplex zu sein - er wird zu einem unregelmäßigen Polytop, und ein Lattice passt nicht mehr darauf.
Das zeigt sich in der Tool-Ausgabe. Eine Vierkomponenten-Mischung für eine Sofortfreisetzung wurde als simplex_lattice angefragt:
- API 0,10 bis 0,40
- Lactose 0,30 bis 0,70
- MCC 0,10 bis 0,40
- Croscarmellose-Natrium 0,02 bis 0,08
covadoe_create_design lieferte design_type: "extreme_vertices" mit 21 Runs und n_vertices: 12. Es baute nicht das angefragte Lattice, weil bei aktiven Obergrenzen die Lattice-Punkte außerhalb des zulässigen Bereichs fallen würden. Das Design zählt stattdessen die 12 Ecken des beschränkten Polytops auf und ergänzt Kanten- und Innenpunkte.
Zwei Dinge sind daraus mitzunehmen:
1. Prüfen Sie den zurückgegebenen `design_type`, nicht den angefragten. Das Tool wechselt die Methode still, wenn Ihre Restriktionen es verlangen. Das ist das richtige Verhalten, aber man sollte es bemerken, denn 21 Runs sind ein anderes Gespräch mit dem Labor als 6. 2. Der Sprengmittel-Bereich treibt einen großen Teil der Run-Zahl. Eine Komponente mit engem Fenster (hier 0,02 bis 0,08) erzeugt trotzdem eigene Eckpunkte. Wenn sie nicht modelliert werden muss, hält man sie fest und nimmt sie aus der Mischung heraus.
Was ein Mixture Design nicht sagt
- Es sagt nichts über Prozessfaktoren. Presskraft, Granulationszeit und Trocknungstemperatur sind keine Mixture-Komponenten. Sind sie relevant, braucht man ein gekreuztes Mixture-Prozess-Design (
covadoe_create_designakzeptiertprocess_factorszusammen mitmixture=true) oder eine separate Prozessstudie. Ein reines Mixture Design schreibt Prozessvariation der Mischungszusammensetzung zu. - Ein gesättigtes Design hat keine Fehlerschätzung. Das 6-Run-
{3,2}-Lattice fittet das Quadratmodell exakt. Das Bestimmtheitsmaß sieht hervorragend aus und bedeutet nichts. Fügen Sie Wiederholungs-Zentrumspunkte oder zusätzliche Innenpunkte hinzu, wenn Lack of Fit und reiner Fehler gewünscht sind. - Nur Interpolation. Das Modell gilt innerhalb des beschränkten Bereichs, auf dem designt wurde. Eine Extrapolation über die Eckpunkte hinaus ist durch die Daten nicht gedeckt, und die Pseudokomponenten-Reskalierung lässt das leicht vergessen.
- Das Design ist nicht die Antwort. Es ist eine Run-Liste. Modellqualität, Optimum und Design Space entstehen erst aus dem anschließenden Fit der gemessenen Antworten, mit Residuendiagnostik, und sind nur so gut wie die Analytik.
- Mischverhalten kann stark nichtlinear sein. Phasentrennung, Ausfällung bei Verdünnung und Perkolationsschwellen halten sich nicht an quadratische Modelle. Screenen Sie die Eckpunkte früh, damit Ausfälle vor der Festlegung des vollen Designs erkannt werden.
Häufige Fragen
Was ist ein Mixture Design in DoE?
Ein Mixture Design ist ein Versuchsplan, dessen Faktoren Anteile von Komponenten sind, die sich zu einer Konstanten summieren müssen, üblicherweise 1 oder 100 Prozent. Da die Komponenten nicht unabhängig sind, ist der zulässige Bereich ein Simplex statt einer Box, und das Modell wird in Scheffé-Form ohne Achsenabschnitt gefittet. Typische Designs sind Simplex Lattice, Simplex Centroid und, bei geltenden Obergrenzen, Extreme Vertices.
Wie unterscheidet sich ein Mixture Design von einem faktoriellen Design?
In einem faktoriellen Design variiert jeder Faktor unabhängig, sodass man einen nach dem anderen ändern und seinen isolierten Effekt schätzen kann. Bei einem Mixture Design summieren sich die Komponenten zu einer Konstanten, sodass die Erhöhung einer Komponente zwangsläufig eine andere senkt. Diese Restriktion macht die Designmatrix für ein gewöhnliches Achsenabschnitt-Modell singulär, entzieht einen Freiheitsgrad und beschränkt den Designbereich auf einen Simplex statt einen Hyperwürfel.
Was sind L-Pseudokomponenten?
L-Pseudokomponenten reskalieren einen beschränkten Mixture-Bereich, sodass er wieder ein voller Simplex wird. Mit Untergrenzen L_i und R = 1 - sum(L_i) ist jeder reale Anteil x_i = L_i + R * z_i, wobei z die Pseudokomponente ist. Man baut und fittet das Design in z, was gut konditioniert ist, und rechnet für die tatsächliche Formulierung auf x zurück. CovaDOE liefert beides: coded_runs sind Pseudokomponenten, runs sind reale Anteile.
Wie viele Runs braucht ein Simplex-Design?
Das hängt von der Zahl der Komponenten und dem Modellgrad ab. Mit covadoe_create_design gebaut, braucht ein Dreikomponenten-Simplex-Lattice Grad 2 6 Runs, Grad 3 10 Runs, und ein Dreikomponenten-Simplex-Centroid 7 Runs. Ein Vierkomponenten-Simplex-Centroid braucht 15. Aktive Obergrenzen trieben denselben Vierkomponenten-Fall auf ein 21-Run-Extreme-Vertices-Design mit 12 Eckpunkten.
Wann sollte ich Extreme Vertices statt eines Simplex Lattice verwenden?
Verwenden Sie Extreme Vertices, wenn Ihre Komponenten neben Untergrenzen auch Obergrenzen haben, oder wenn zusätzliche lineare Restriktionen bestehen, etwa ein fixes Füllstoffverhältnis. Solche Restriktionen machen aus dem zulässigen Bereich ein unregelmäßiges Polytop, in dem Lattice-Punkte außerhalb des erlaubten Raums fallen würden. CovaDOE erkennt das und liefert design_type: "extreme_vertices", selbst wenn ein Simplex Lattice angefragt wurde.
Kann ich Prozessvariablen wie Presskraft einbeziehen?
Nicht im Mixture-Teil. Prozessvariablen sind unabhängige Faktoren und gehören in ein gekreuztes Mixture-Prozess-Design, bei dem an jeder Kombination von Prozesseinstellungen ein Mixture Design läuft. covadoe_create_design unterstützt das über process_factors mit mixture=true. Die Run-Zahlen wachsen schnell, also screenen Sie die Prozessfaktoren zuerst separat und übernehmen Sie nur die signifikanten in das gekreuzte Design.
Weiterführende Beiträge
- Central Composite vs. Box-Behnken: welches Design, wann
- Definitive Screening Designs erklärt
- DoE-Poweranalyse vor dem Experiment
- ICH Q8 Design Space, NOR und PAR erklärt
Bauen und prüfen Sie Ihr eigenes Simplex-Design in der CovaSyn-Free-Tier, bevor Sie das erste Gramm einwiegen.
Tools für dieses Thema
Direkt im AI-Agenten nutzen.
- CovadoeDesign-of-Experiments, RSM, Templates.
