Secuencias de comandos: ¿cómo seleccionar la distribución que mejor se ajuste y recopilar parámetros de capacidad?Quiero crear un script que haga lo siguiente:
1) tomar un conjunto de datos (1 columna a la vez)
2) hacer un ajuste continuo para todas las distribuciones
3) encontrar el mejor ajuste, aplicar los límites de especificaciones y analizar los parámetros de capacidad (CpK específicamente)
4) enviar el CpK (y probablemente otras cosas) a una tabla
Sé cómo hacer esto manualmente, pero incluso después de hacerlo y guardar un script, el script no regenera el mismo análisis que hice originalmente. Si establezco los límites de especificaciones dentro de una distribución determinada (el triángulo rojo al lado de Normal 3 en lugar del triángulo de nivel superior), eso se pierde por completo en el script. Si los configuro desde el nivel superior, la información se almacena, pero tengo entre 50 y 100 conjuntos de datos para ejecutar este análisis, y son una variedad de distribuciones. Necesito el guión para encontrar el MEJOR ajuste, luego hago este análisis.
El ejemplo 1 a continuación es un fragmento de código con el que me puse a trabajar (aún no se genera en una tabla, pero al menos obtuve la distribución y el análisis correctos), pero requiere que sepa que los datos serán una mezcla Normal 3. Si uso el Ejemplo 2, el valor predeterminado es una distribución Normal, lo cual es incorrecto. Si pudiera descubrir cómo evaluar el mejor ajuste como parámetro, podría usarlo en una función de cambio o comparable para configurar la sintaxis requerida para cada distribución.
// Example 1 that gives meaningful results, but requires me to know the distribution
Distribution(
Column("Test Data"),
Fit Distribution (Normal Mixtures( Spec Limits( LSL( -1 ), USL( 1 ) ), Clusters( 3 ) )
)
);
// Example 2 gives garbage because it assumes the distribution is normal, and it's never normal
Distribution(
Column("Test Data"),
Fit Distribution ("All"), Capability Analysis ( LSL( -1 ), USL( 1 ) )
);Otra ayuda para enviar a una mesa también sería genial. Este es mi primer script JMP y me cuesta encontrar ejemplos claros en la Guía de scripting.
Re: Scripting: ¿Cómo seleccionar la mejor distribución y recopilar parámetros de capacidad?Estoy de acuerdo con la cautela de Stephen.
Entiendo el deseo de reducir el tedio que supone realizar un análisis de este tipo a mano con un guión. Un script es una manera perfecta de automatizar la actividad de JMP.
Pero la capacidad de ajustar y clasificar todos los modelos de distribución a la vez está pensada para una exploratorio análisis. Se podría realizar una exploración de este tipo en las primeras etapas del desarrollo del proceso, cuando se sabe poco sobre el comportamiento del proceso. Por otro lado, realizar un estudio de capacidad es una confirmatorio Análisis que se realiza al final del desarrollo del proceso, cuando se sabe mucho y nada sobre el proceso está cambiando. Por ejemplo, un análisis de capacidad adecuado requiere que se haya demostrado el control del proceso, al menos durante la fase I.
Realmente no se puede automatizar el decisión subjetiva sobre el modelo de distribución mientras se utiliza métodos objetivos . O tal vez debería decirlo así: "Sólo porque puedas no significa que debas hacerlo".
Re: Scripting: ¿Cómo seleccionar la mejor distribución y recopilar parámetros de capacidad?Tendría cuidado al utilizar el mejor ajuste, ya que el mejor ajuste numérico no siempre es el mejor ajuste lógicamente. En mi experiencia, he descubierto que la plataforma de distribución se ajusta demasiado; por ejemplo, sugiero que una mezcla Normal 3 era la mejor opción, pero según la teoría de cómo se generan los datos, un ajuste logarítmico normal era el más apropiado.
Requiere un grado de evaluación subjetiva; en el ejemplo anterior, las puntuaciones del AICc para los ajustes más exóticos/complejos fueron solo una fracción más bajas. Si muchas de las columnas comparten el mismo mecanismo de generación de datos, podría ser prudente elegir la mejor clasificación para todas esas columnas combinando las clasificaciones de todas las diferentes columnas.
Esto requerirá un poco más de JSL, ya que deberá guardar la tabla de mejores ajustes para cada columna, clasificarlas, compararlas y luego extraer el mejor ajuste entre las columnas.Re: Scripting: ¿Cómo seleccionar la mejor distribución y recopilar parámetros de capacidad?Gracias por la ayuda, pero el análisis de capacidad aún tiene por defecto una distribución Normal. ¡Sin embargo, me diste algunas otras ideas de codificación sobre cómo mejorar mi guión! El comando "cuadro de contorno" es muy útil.
Pude usar el "cuadro de esquema" para analizar el ajuste superior de la tabla Comparar distribuciones y eliminar ese nombre (Mezcla Normal 3) para crear la cadena requerida para la llamada de análisis de capacidad requerida para esa distribución. Esto NO es elegante, pero está funcionando hasta ahora.
Gracias.
Re: Scripting: ¿Cómo seleccionar la mejor distribución y recopilar parámetros de capacidad?Aquí tienes un guión que debería darte un buen comienzo. Realiza las tareas deseadas para una sola columna.
names default to here(1);
dt=open("$SAMPLE_DATA\big class.jmp");
// Set the limits for the target column
dt:height << set property("spec limits",{LSL(57),USL(68),show limits(1)});
// Run the Distribution Platform
dis=Distribution(
Continuous Distribution( Column( :height ), Fit Distribution( "All" ) ),
capability analysis(1)
);
// Point to the first capability analysis and create a data table from it
dtCpk = report(dis)[outline box(9)][1][3][1]<<MAKE data="https://community.jmp.com/" table=""></MAKE>