Wie lege ich Einschränkungen für kategoriale Variablen fest?Ich versuche, ein Design mit etwa 10 kategorialen Variablen zu erstellen, jede mit zwei Ebenen (0,1).Ich möchte, dass mein Design die Haupteffekte und alle binären Wechselwirkungen modelliert.Wenn ich die JMP-Standardwerte verwende, erhalte ich ein D-optimales Design, sodass die durchschnittliche Anzahl der cetegorischen Variablen auf der Ebene „1“ etwa 5 beträgt. Gibt es eine Möglichkeit, das Design so einzuschränken, dass ich nur höchstens 3 zulassen würde? die Variablen auf dem "1"-Pegel sein?(Ich verstehe, dass dies möglicherweise mehr Läufe erfordert, aber ich bin damit einverstanden.)
Danke schön.
Betreff: Wie lege ich Einschränkungen für kategoriale Variablen fest?Wenn Sie ungleich sagen, schränken Sie den Algorithmus mit nur 100 Läufen zu sehr ein. Möglicherweise können Sie nicht alle Modellterme schätzen.
Wenn Sie beispielsweise auf nur 3 Faktoren mit ihrer hohen Einstellung beschränken, gibt es 120 mögliche Kombinationen. Selbst wenn Sie alle 120 Kombinationen auswählen, können Sie kein Haupteffektmodell abschätzen. Warum? Weil Sie eine eingebaute Singularität haben. Insbesondere der Schnittpunkt (eine Spalte mit Einsen in der Designmatrix) wäre gleich einer linearen Kombination aller Faktoren: 1/3*(x1+x2+x3+x4+x5+x6+x7+x8+x9+x10 ). Daher kann die Analyse nicht abgeschlossen werden und es konnte kein Design für ein solches Modell gefunden werden.
Sie sind vielleicht besser dran, wenn Sie wieder "nicht mehr als" 3 oder 4 oder was auch immer Sie wünschen, sagen.
Betreff: Wie lege ich Einschränkungen für kategoriale Variablen fest?Dan, nochmals vielen Dank für eine sehr hilfreiche Antwort.Ich suche glücklich nach einem guten Design, werde aber wieder behindert...
Ich versuche, ein Diagramm zu erstellen, das die Designdiagnose (von besonderem Interesse ist die durchschnittliche Varianz der Vorhersage) als Funktion der Anzahl kategorialer Faktoren auf hoher Ebene darstellt.In allen Fällen habe ich zehn zweistufige Faktoren, und ich erlaube nur eine festgelegte Anzahl von Läufen, 100.Ich erwarte irgendwie, dass sich das Design verschlechtert, wenn ich auf hoher Ebene "zu viele" oder "zu wenige" zugelassen habe.
Daher führe ich das DOE-Skript immer wieder mit einer Reihe unterschiedlicher Einschränkungen aus, wie viele Faktoren auf hoher Ebene zulässig sind, dh:
Unzulässige Kombinationen ( X1 + X2 + X3 + X4 + X5 + X6 + X7 + X8 + X9 + X10 != 2
Unzulässige Kombinationen ( X1 + X2 + X3 + X4 + X5 + X6 + X7 + X8 + X9 + X10 != 3
Unzulässige Kombinationen ( X1 + X2 + X3 + X4 + X5 + X6 + X7 + X8 + X9 + X10 != 4
Unzulässige Kombinationen ( X1 + X2 + X3 + X4 + X5 + X6 + X7 + X8 + X9 + X10 != 5
Unzulässige Kombinationen ( X1 + X2 + X3 + X4 + X5 + X6 + X7 + X8 + X9 + X10 != 6
Unzulässige Kombinationen ( X1 + X2 + X3 + X4 + X5 + X6 + X7 + X8 + X9 + X10 != 7
Unzulässige Kombinationen ( X1 + X2 + X3 + X4 + X5 + X6 + X7 + X8 + X9 + X10 != 8
(Es wäre schön, dies in einer Schleife zu haben, aber ich kopiere einfach das Skript und füge es ein).
Was ich finde, ist, dass nur diejenigen mit 2 oder 8 Faktoren auf den hohen Ebenen zusammenlaufen und das Design liefern!. Bei den anderen erhalte ich die Fehlermeldung "Der optimale Designer konnte nicht konvergieren".Gibt es eine Möglichkeit, dies zu umgehen?
Betreff: Wie lege ich Einschränkungen für kategoriale Variablen fest?Sie müssen das Skript nicht verwenden, um das Design zu erstellen. Das Skript ist nur eine bequeme Möglichkeit, die gesamte Arbeit einzurichten.
Sie brauchen das Skript, wie ich es für die Einschränkungen gepostet hatte. Angesichts Ihres Wunsches, verschiedene Szenarien auszuprobieren, würde ich empfehlen, mit der GUI zu arbeiten, aber die linearen Einschränkungen als "Skript für nicht zulässige Kombinationen" anzugeben und das von mir bereitgestellte Skript einzufügen. Auf diese Weise können Sie etwas ausprobieren, und wenn es Ihnen nicht gefällt, klicken Sie einfach auf die Schaltfläche „Zurück“, nehmen Sie eine Änderung vor und versuchen Sie es erneut.
Was die Anzahl der Läufe betrifft, ist die Mindestanzahl der Läufe die Gesamtzahl der Modellterme, die Sie zu schätzen versuchen. Für 10 2-Stufen-Faktoren hätten Sie einen Schnittpunkt (1) + Haupteffekte (10) + wechselseitige Wechselwirkungen (45). Das ergibt insgesamt 56 Begriffe, das ist also die Mindestanzahl an Läufen.
Die Standardanzahl von Läufen hat einige eingebaute Kriterien, die einige Freiheitsgrade für Fehler (normalerweise 4) bieten und eine Orthogonalität (bis zu einem gewissen Punkt) anstreben. Es ist keine einfache Formel. Für dieselbe Situation beträgt die Standardanzahl von Durchläufen 60 (weshalb Ryan dieses Design generiert hat – und 4 Freiheitsgrade für Fehler bemerkt). Die Standardanzahl der Läufe berücksichtigt keine Einschränkungen (meines Wissens!). Wenn Sie dasselbe Design mit oder ohne Einschränkungen erstellen, bleibt der Standardwert daher bei 60. Die Standardeinstellung garantiert KEIN Design, das Ihren Anforderungen entspricht! Wie Sie angemerkt haben, kann es schwieriger sein, ein gutes Design zu finden, wenn Sie Einschränkungen hinzufügen, und es sind oft mehr Durchläufe erforderlich. Da 60 schreckliche Ergebnisse lieferte, wählen Sie eine höhere Zahl. Soweit ich weiß, gibt es keine einfache Berechnung, die Ihnen die Anzahl der Durchläufe angibt, die erforderlich sind, um ein bestimmtes Niveau für die durchschnittliche Vorhersagevarianz zu erreichen (aber vergessen Sie nicht die VARIANZ der Vorhersagevarianz! Mit anderen Worten, vergessen Sie nicht die Darstellung des Anteils des Designraums).
Hoffe, das hilft und viel Spaß beim Suchen nach einem guten Design!
Betreff: Wie lege ich Einschränkungen für kategoriale Variablen fest?Danke Ryan und Dan!
Ich habe das Skript ausgeführt und kann die Designs erstellen. Ich habe alle binären Wechselwirkungen zwischen den 10 Variablen hinzugefügt, aber jetzt ist eine andere Frage aufgetaucht. Wenn ich mich auf der höheren Ebene auf höchstens 3 Faktoren beschränke und nur 60 Durchläufe zulasse (wie im Skript), sieht die Design-Diagnose wirklich schrecklich aus (die D-Effizienz ist sehr niedrig und die durchschnittliche Varianz der Vorhersage ist sehr hoch). Es scheint, dass, wenn ich die uneingeschränkten Designs über die GUI erstelle, eine Hintergrundberechnung für die Mindest- und Standardanzahl von Läufen erfolgt, die basierend auf den Modellbedingungen ausgefüllt wird. Wenn ich das Skript verwende, kann ich auswählen, wie viele Läufe ausgeführt werden (Ryan wählte 60), aber gibt es eine Möglichkeit, diese Hintergrundberechnung für die Standardanzahl von Durchläufen aufzurufen?
(Was ich wirklich versuche, ist, einige Diagramme zu erstellen, um die Kompromisse zwischen der Anzahl der zweistufigen Variablen, der maximalen Anzahl von Variablen auf höherer Ebene pro Lauf und der Gesamtzahl der Läufe zu verstehen, die erforderlich sind, um eine bestimmte durchschnittliche Varianz der Vorhersage zu erreichen? )
Betreff: Wie lege ich Einschränkungen für kategoriale Variablen fest?Ryans Ansatz ist genau das, was ich vorschlagen wollte. Wenn Sie Ihre Faktoren jedoch WIRKLICH kategorial belassen möchten (und davon ausgehen, dass sie x1 - x10 heißen), können Sie ein Skript für nicht zulässige Kombinationen angeben, das wie folgt aussieht:
(x1 == 2) + (x2 == 2) + (x3 == 2) + (x4 == 2) + (x5 == 2) + (x6 == 2) + (x7 == 2)
+(x8 == 2) + (x9 == 2) + (x10 == 2) > 3
Beachten Sie, dass die Faktoren kategorial sind, sodass jedes der X# == 2 tatsächlich sagt, ob sich dieser Faktor auf der zweiten Ebene befindet.
Betreff: Wie lege ich Einschränkungen für kategoriale Variablen fest?Wenn ich darauf stoße, wandle ich normalerweise den kategorialen Faktor in einen diskreten numerischen 0/1-Faktor um und verwende dann unzulässige Kombinationen, um sicherzustellen, dass die Summe die gewünschte Anzahl von Einsen nicht überschreitet. Für 10 Eingänge (Haupteffektmodell, aber nur um Ihnen eine Vorstellung zu geben), etwa so:
DOE(
Custom Design,
{Add Response( Maximize, "Y", ., ., . ), Add Factor( Discrete Numeric, {0, 1}, "X1", 0 ),
Add Factor( Discrete Numeric, {0, 1}, "X2", 0 ), Add Factor( Discrete Numeric, {0, 1}, "X3", 0 ),
Add Factor( Discrete Numeric, {0, 1}, "X4", 0 ), Add Factor( Discrete Numeric, {0, 1}, "X5", 0 ),
Add Factor( Discrete Numeric, {0, 1}, "X6", 0 ), Add Factor( Discrete Numeric, {0, 1}, "X7", 0 ),
Add Factor( Discrete Numeric, {0, 1}, "X8", 0 ), Add Factor( Discrete Numeric, {0, 1}, "X9", 0 ),
Add Factor( Discrete Numeric, {0, 1}, "X10", 0 ), Set Random Seed( 1550400750 ), Number of Starts( 3017 ),
Add Term( {1, 0} ), Add Term( {1, 1} ), Add Term( {2, 1} ), Add Term( {3, 1} ), Add Term( {4, 1} ),
Add Term( {5, 1} ), Add Term( {6, 1} ), Add Term( {7, 1} ), Add Term( {8, 1} ), Add Term( {9, 1} ),
Add Term( {10, 1} ), Set Sample Size( 16 ), Disallowed Combinations(
X1 + X2 + X3 + X4 + X5 + X6 + X7 + X8 + X9 + X10 > 3
), Make Design}
);