Sie beschreiben ein Taguchi-Experiment, bei dem das innere Array aus Kontrollfaktoren und das äußere Array aus Rauschfaktoren besteht. Jede Formulierung wird mehrfach verwendet. Der gekreuzte Entwurfsansatz ermöglicht die Schätzung der gesamten Steuerung durch Rauschwechselwirkungen. Diese sind wichtig, um einen robusten Prozess zu erstellen, da Sie Steuerungseinstellungen finden möchten, bei denen Änderungen der Rauschfaktoren nur minimale Auswirkungen auf die Reaktion haben. Erstens ist es nicht notwendig, zwei faktorielle Entwürfe zu kreuzen, um dies zu erreichen. Sie können Ihre Kontrollfaktoren im benutzerdefinierten Designer schwer zu ändern und Ihren Rauschfaktor einfach zu ändern machen. Im Modell fügen Sie dem Modell die gesamte Steuerung durch Rauschwechselwirkungen hinzu. Die Anzahl der von Ihnen ausgewählten ganzen Diagramme entspricht der Anzahl der Formulierungen, die Sie erstellen möchten. Die Gesamtzahl der Läufe geteilt durch die Anzahl der gesamten Diagramme ist die Anzahl der Unterdiagrammläufe innerhalb jedes gesamten Diagramms.
Sie können Fit Model verwenden, um diese Daten zu analysieren. Verwenden Sie dann das rote Dreiecksmenü, um eine Spalte mit einer Vorhersageformel zu speichern. Bringen Sie diese Spalte zum Vorhersage-Profiler im Menü Grafik. Legen Sie im Dialogfeld Ihre Rauschfaktoren fest. Sie erhalten ein Diagramm mit Ihrer Antwort plus Zeilen für die partielle Ableitung der Antwort in Bezug auf jeden der Rauschfaktoren. Ziel ist es, den gewünschten Antwortwert zu erhalten und gleichzeitig die partiellen Ableitungen so nahe wie möglich an Null zu bringen.
Kopieren Sie das folgende Tabellenskript und führen Sie es aus, um eine Tabelle mit einem Beispiel für Ihre Art von Problem zu erstellen. In der Tabelle befindet sich ein Profiler-Skript mit dem oben beschriebenen Diagramm.
New Table( "Bill Ross Example",
Add Rows( 32 ),
New Table Variable( "Design", "Custom Design" ),
New Table Variable( "Criterion", "D Optimal" ),
New Script(
"Model",
Fit Model(
Effects(
:Whole Plots & Random,
:X1,
:X2,
:X3,
:X4,
:X5,
:X1 * :X4,
:X2 * :X4,
:X3 * :X4,
:X1 * :X5,
:X2 * :X5,
:X3 * :X5
),
Y( :Y )
)
),
New Script(
"Evaluate Design",
DOE( Evaluate Design, X( Whole Plots, :X1, :X2, :X3, :X4, :X5 ) )
),
New Script(
"DOE Dialog",
DOE(
Custom Design,
{Add Response( Maximize, "Y", ., ., . ),
Add Factor( Continuous, -1, 1, "X1", 1 ),
Add Factor( Continuous, -1, 1, "X2", 1 ),
Add Factor( Continuous, -1, 1, "X3", 1 ),
Add Factor( Continuous, -1, 1, "X4", 0 ),
Add Factor( Continuous, -1, 1, "X5", 0 ), Set Random Seed( 596612307 ),
Number of Starts( 1361 ), 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( {1, 1}, {4, 1} ),
Add Term( {2, 1}, {4, 1} ), Add Term( {3, 1}, {4, 1} ),
Add Term( {1, 1}, {5, 1} ), Add Term( {2, 1}, {5, 1} ),
Add Term( {3, 1}, {5, 1} ), Add Alias Term( {1, 1}, {2, 1} ),
Add Alias Term( {1, 1}, {3, 1} ), Add Alias Term( {2, 1}, {3, 1} ),
Add Alias Term( {4, 1}, {5, 1} ), Set N Whole Plots( 8 ),
Set Sample Size( 32 ), Simulate Responses( 1 ), Save X Matrix( 0 ),
Make Design}
)
),
New Script(
"Profiler of Pred Formula Y",
Profiler(
Noise Factors( :X4, :X5 ),
Y( :Pred Formula Y ),
Profiler(
1,
Desirability Functions( 1 ),
Pred Formula Y << Response Limits(
{Lower( 25, 0.066 ), Middle( 45, 0.5 ), Upper( 65, 0.9819 ),
Goal( "Maximize" ), Importance( 1 )}
),
Name( "∂Pred Formula Y/∂X4" ) <<
Response Limits(
{Lower( -30, 0.066 ), Middle( 0, 0.99 ), Upper( 30, 0.066 ),
Goal( "Match Target" ), Importance( 1 )}
),
Name( "∂Pred Formula Y/∂X5" ) <<
Response Limits(
{Lower( -30, 0.066 ), Middle( 0, 0.99 ), Upper( 30, 0.066 ),
Goal( "Match Target" ), Importance( 1 )}
),
Term Value(
X1( 0, Lock( 0 ), Show( 1 ) ),
X2( 0, Lock( 0 ), Show( 1 ) ),
X3( 0, Lock( 0 ), Show( 1 ) ),
X4( 0, Lock( 0 ), Show( 1 ) ),
X5( 0, Lock( 0 ), Show( 1 ) )
)
)
)
),
New Column( "Whole Plots",
Character( 1 ),
"Nominal",
Set Property( "Design Role", DesignRole( Random Block ) ),
Set Property( "Value Ordering", {"1", "2", "3", "4", "5", "6", "7", "8"} ),
Set Values(
{"1", "1", "1", "1", "2", "2", "2", "2", "3", "3", "3", "3", "4", "4",
"4", "4", "5", "5", "5", "5", "6", "6", "6", "6", "7", "7", "7", "7",
"8", "8", "8", "8"}
),
Set Display Width( 83 )
),
New Column( "X1",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Property( "Coding", {-1, 1} ),
Set Property( "Design Role", DesignRole( Continuous ) ),
Set Property( "Factor Changes", Hard ),
Set Values(
[-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]
),
Set Display Width( 53 )
),
New Column( "X2",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Property( "Coding", {-1, 1} ),
Set Property( "Design Role", DesignRole( Continuous ) ),
Set Property( "Factor Changes", Hard ),
Set Values(
[-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]
),
Set Display Width( 53 )
),
New Column( "X3",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Property( "Coding", {-1, 1} ),
Set Property( "Design Role", DesignRole( Continuous ) ),
Set Property( "Factor Changes", Hard ),
Set Values(
[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]
),
Set Display Width( 53 )
),
New Column( "X4",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Property( "Coding", {-1, 1} ),
Set Property( "Design Role", DesignRole( Continuous ) ),
Set Property( "Factor Changes", Easy ),
Set Values(
[-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]
),
Set Display Width( 53 )
),
New Column( "X5",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Property( "Coding", {-1, 1} ),
Set Property( "Design Role", DesignRole( Continuous ) ),
Set Property( "Factor Changes", Easy ),
Set Values(
[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]
),
Set Display Width( 53 )
),
New Column( "Y",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Property(
"Response Limits",
{Goal( Maximize ), Lower( . ), Upper( . ), Importance( . )}
),
Set Values(
[42.7348146566894, 36.189171429355, 44.769471482189, 36.4898442411795,
59.6102462984316, 46.7297051797999, 57.9866542713854, 49.6693424137701,
41.4532268569068, 58.2950993674576, 40.3899254847144, 59.4779147187221,
43.1501858743337, 52.738367825711, 64.6706839593882, 55.2433411262629,
29.5924301117279, 37.4165044593035, 61.3682127043, 54.2129864134781,
45.9055183728695, 45.7025946700622, 49.1320040241035, 48.758181908546,
60.4851311417976, 54.5913985758853, 58.0309758072772, 64.0774047982442,
48.810716536316, 44.6394149127264, 48.1420425851012, 54.4952535477709]
),
Set Display Width( 93 )
),
New Column( "Pred Formula Y",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Property( "Notes", "Prediction Formula" ),
Formula(
49.842461429869 + 4.09946762351868 * :X1 + 2.7889107271487 * :X2 +
-2.24423598283116 * :X3 + -2.888449088547 * :X4 + 0.982106443023965 *
:X5 + :X1 * :X4 * 3.28346659528326 + :X2 * :X4 * 1.74098062427039 + :X3
* :X4 * 4.15729029616492 + :X1 * :X5 * 1.81202357486527 + :X2 * :X5 *
1.20487121370369 + :X3 * :X5 * 1.0272331020214
),
Set Property(
"Response Limits",
{Lower( 25, 0.066 ), Middle( 45, 0.5 ), Upper( 65, 0.9819 ),
Goal( "Maximize" ), Importance( 1 )}
),
Set Property( "Predicting", {:Y, Creator( "Fit Least Squares" )} ),
Set Selected,
Set Display Width( 105 )
)
)