Automatización de simulación de perfiles de predicción¡Hola a todos!
Dentro del Prediction Profiler, el usuario puede generar valores PPM con fórmulas de predicción, entradas y límites de especificaciones dados. Esto se puede hacer simplemente presionando el botón "simular" junto al generador de perfiles de predicción en la configuración de la interfaz gráfica de usuario del generador de perfiles. En este punto, se generará una tabla que contiene los valores de media, PPM y desviación estándar.
Tengo curiosidad: ¿Se puede automatizar este proceso dentro de un script (o en cualquier otro lugar de la GUI) para producir múltiples valores PPM en un rango de valores establecido para cualquiera de las variables de entrada? . Usaría estos datos para luego trazar y mostrar los diversos valores de PPM frente a los parámetros de entrada dados. Por ahora, no he encontrado la forma de hacer esto. Actualmente, la única forma es simplemente alterar el valor de entrada y presionar el botón de simulación nuevamente, luego documentar manualmente el valor de PPM de salida. Obviamente, esta no es una forma muy eficiente de hacerlo, pero a través de mis búsquedas en línea y en estos foros no he encontrado otro método.
¡Agradecería mucho cualquier consejo que ayude a automatizar este proceso! Gracias.
GAMAScriptingVentanasRe: Automatización de simulación de perfiles de predicciónHola @Chico de los cereales , bienvenido a la comunidad!
El simulador en JMP tiene una herramienta llamada experimento de simulación que se creó para lo que creo que está tratando de lograr aquí.El siguiente script tiene comentarios que debería poder seguir, junto con una exploración de los menús de simulación para encontrar los comandos correctos (busque en el triángulo rojo junto a Simulación dentro del generador de perfiles).¿Es este el camino que estás buscando?
Names default to here(1);
// Open a sample data set and make a prediction for yield
dt = Open("$Sample_data/Ro.jmp");
fm = Fit Model(
Y( :Yield ),
Effects( :Aperture, :Ranging, :Cadence ),
Personality( "Standard Least Squares" ),
Emphasis( "Effect Leverage" ),
Run(
:Yield << {Summary of Fit( 1 ), Analysis of Variance( 1 ),
Parameter Estimates( 1 ), Lack of Fit( 0 ), Scaled Estimates( 0 ),
Plot Actual by Predicted( 1 ), Plot Regression( 0 ),
Plot Residual by Predicted( 1 ), Plot Studentized Residuals( 0 ),
Plot Effect Leverage( 1 ), Plot Residual by Normal Quantiles( 0 ),
Box Cox Y Transformation( 0 )}
)
);
fm << Prediction Formula;
// Use simulation in the profiler to estimate variation in yield at a single point
prf = Profiler(
Y( :Pred Formula Yield ),
Profiler(
1,
Term Value(
Aperture( 11.25, Lock( 0 ), Show( 1 ) ),
Ranging( 10, Lock( 0 ), Show( 1 ) ),
Cadence( 22.5, Lock( 0 ), Show( 1 ) )
),
Simulator(
1,
Factors(
Aperture << Random( Normal( 11.25, 2 ) ),
Ranging << Random( Normal( 10, 1 ) ),
Cadence << Random( Normal( 22.5, 4 ) )
),
Responses( Pred Formula Yield << No Noise )
)
)
);
// Do a simulation experiment to calculation variation in yield for
// different levels of your inputs. Note that you might need to
// adjust the ranges for different variables before this step using
// 'resent factor grid' to ensure you explore the relevant space.
dtSim = prf << Simulator( Simulation Experiment( 512, 1 ) );
dtSim << New Column( "Lowest Yield Expected",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( :Pred Formula Yield Mean - 3 * :Pred Formula Yield SD )
);
// Graph results
dtSim << Graph Builder(
Size( 558, 552 ),
Show Control Panel( 0 ),
Variables(
X( :Aperture ),
Y( :Ranging ),
Wrap( :Cadence, Levels( 9 ) ),
Color( :Lowest Yield Expected )
),
Elements( Contour( X, Y, Legend( 9 ) ) )
);

Re: Automatización de simulación de perfiles de predicciónGracias @ih , ¡esta respuesta es justo lo que estaba buscando! Agradezco los comentarios y el código completo para cada una de las secciones que describí.
Mi única pregunta adicional es cómo puedo establecer los "Límites de especificación" desde el simulador en este script también. Como esto:
// Use simulation in the profiler to estimate variation in yield at a single point
prf = Profiler(
Y( :Pred Formula Yield ),
Profiler(
1,
Term Value(
Aperture( 11.25, Lock( 0 ), Show( 1 ) ),
Ranging( 10, Lock( 0 ), Show( 1 ) ),
Cadence( 22.5, Lock( 0 ), Show( 1 ) )
),
Simulator(
1,
Factors(
Aperture << Random( Normal( 11.25, 2 ) ),
Ranging << Random( Normal( 10, 1 ) ),
Cadence << Random( Normal( 22.5, 4 ) )
),
Responses( Pred Formula Yield << No Noise ),
<FONT color="#FF0000"> Spec Limits( Pred Formula Yield, LSL(0), USL(2) ) // insert actual Spec Limits Code here</FONT> )
)
);Si agrego este código equivalente, aparece el cuadro de diálogo Spec Limits, pero no he podido llenarlo con varias expresiones en la llamada "Spec Limits ()". He tenido problemas para encontrar documentación para cosas pequeñas como esta.