Cómo implementar PSA ( Análisis de ascenso más pronunciado) en modo JMP DOE?
Hola mi amigo
Muchas gracias por tu ayuda.
No estoy completamente seguro, pero creo que está hablando de un enfoque secuencial de la experimentación en el que (al explotar los resultados de un primer diseño) aumenta ese diseño al seleccionar nuevos puntos a lo largo de la línea de ascenso más pronunciado. Creo que hay muchos que sugieren que hay mejores formas de aumentar un diseño, aunque "mejor" dependerá de su situación particular.
A pesar de esto, si desea utilizar el enfoque, este script podría comenzar. Haga 'Archivo> Nuevo> Nuevo script', copie la JSL, luego 'Editar> Ejecutar script':
// ian.cox@jmp.com: 18Sep2010
// Quick demo of design augmentation by steepest ascent
// Make some random data from a main effects model with no interaction
dt1 = New Table("Original Design",
Add Rows( 10 ),
New Column( "x1", Numeric, Continuous, Formula( Random Uniform(-1, 1) ) ),
New Column( "x2", Numeric, Continuous, Formula( Random Uniform(-1, 1) ) ),
New Column( "y", Numeric, Continuous, Formula( (2 * :x1 + 3 * :x2) + 0.1 * Random Normal() ) )
);
// Fit the model
fmd = dt1 << Fit Model(
Y( :y ),
Effects( :x1, :x2 ),
Personality( Standard Least Squares ),
Emphasis( Effect Leverage ),
Invisible
);
fmo = fmd << Run;
// Get what we need
fmr = fmo << Report;
pn = fmo << GetParameterNames;
pe = fmo << GetEstimates;
ps = fmo << GetStdErrors;
Print(pn, pe, ps);
// Close the (invisible) report
fmr << CloseWindow;
// Take x1 to be the base factor
X2OverX1 = pe[3]/pe[2];
// Specify number of steps to take and x1 step size for each
n = 6;
delX1 = 0.3;
// Get points on the path of steepest ascent into a new 'design' table
x1pts = J(n, 1, .);
x2pts = J(n, 1, .);
for (p=1, p<=n, p++,
x1pts[p] = delX1 * p;
x2pts[p] = x1pts[p] * X2OverX1;
);
dt2 = AsTable(x1pts||x2pts);
dt2 << SetName("Path of Steepest Ascent from Fit of "||(dt1 << GetName));
x1Col = Column(dt2, "Col1") << SetName("x1");
x2Col = Column(dt2, "Col2") << SetName("x2");
// Concatenate the two design tables
dt1 << NewColumn("Design", Numeric, Ordinal, Values(J(Nrow(dt1), 1, 1)));
dt2 << NewColumn("Design", Numeric, Ordinal, Values(J(Nrow(dt2), 1, 2)));
dt3 = dt1 << Concatenate(dt2, Output Table( "Augmented Design" ));
// Use graph builder to show the final result
dt3 = Graph Builder(
Show Control Panel( 0 ),
Variables( X( :x1 ), Y( :x2 ), Color( :Design ) ),
Elements( Points( X, Y, Color, Legend( 1 ) ) ),
SendToReport(
Dispatch(
{},
"400",
ScaleBox,
{Legend Model( 1, Properties( 1, {Line Color( 67 )} ) )}
),
Dispatch( {}, "Graph Builder", FrameBox, {Marker Size( 4 )} )
)
);