您正在描述Taguchi实验,其中内部阵列由控制因子组成,外部阵列由噪声因子组成。每个配方都使用多次。交叉设计方法允许通过噪声相互作用来估计所有控制。这些对于创建鲁棒的过程非常重要,因为您想找到控制设置,使噪声因子的变化对响应的影响最小。首先,没有必要交叉两个因子设计来完成此任务。您可以在Custom Designer中使控制系数难以更改,而噪声系数则易于更改。在模型中,将所有通过噪声交互作用的控制添加到模型中。您选择的整个图的数量就是您要创建的配方的数量。总运行数除以整个图的数量即为每个整个图内的子图运行数。
您可以使用拟合模型来分析这些数据。然后,使用红色三角形菜单保存带有预测公式的列。将此列转到“图形”菜单上的“预测分析器”。在对话框中指定您的噪音系数。您将得到一个带有响应的图,并加上一行以表示每个噪声因子的响应偏导数。目标是在使偏导数尽可能接近零的同时获得所需的响应值。
复制并运行下面的表脚本,以创建带有此类问题示例的表。上面有我描述的图形的表中有一个Profiler脚本。
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 )
)
)