Detección de desviación o fluencia variable de procesoHola,
¿Hay algún método disponible en JMP para detectar la deriva / fluencia / gradiente para un gran conjunto de variables de proceso durante un período de tiempo determinado? Luego, el usuario establecería el umbral en lo que consideraría que el gradiente es demasiado alto o demasiado bajo y debe ser marcado.
Actualmente soy consciente de que la herramienta de selección de procesos tiene una opción de resúmenes de deriva que se puede habilitar y que muestra la media de cambio ascendente, descendente y cambio absoluto. En este caso, estoy buscando la deriva general (ya sea positiva o negativa), sin embargo, la variación absoluta (de lo que veo) se calcula como [Abs (cambio ascendente) + Abs (cambio descendente)]. Esto no me dice si en general ha subido o bajado. Técnicamente, estoy buscando Abs (cambio ascendente + cambio descendente [valor negativo]).
Mi solución alternativa actual es escribir una pantalla que convierta el resultado de la selección del proceso en una tabla de datos y rehacer el cálculo. Sin embargo, esto significa que los valores calculados están desarticulados de la plataforma Processing Screening, que tiene un montón de funciones útiles como Quick Graph / Quick Control Charts, etc. Además, no funciona bien con el filtro de datos local.
Realmente agradecería si alguien más tiene alguna idea de cómo puedo abordar esto. ¡Gracias!AnalíticaRe: Detección de deriva o fluencia variable de procesoPuede agregar una columna a la tabla de selección de procesos:
names default to here(1);
dt = Open("$Sample_Data/iris.jmp");
//Open Process Screening with drift summaries
ps = dt << Process Screening(
Y( :Sepal length, :Sepal width, :Petal length, :Petal width ),
Control Chart Type( "Indiv and MR" ),
Drift Summaries( 1 )
);
//calculate the combined drift
UpDrift = (ps << XPath( "//NumberColBox[NumberColBoxHeader[text()='Mean Up Drift']]" ))[1] << Get;
DownDrift = (ps << XPath( "//NumberColBox[NumberColBoxHeader[text()='Mean Down Drift']]" ))[1] << Get;
CombinedDrift = Abs( Matrix(UpDrift) + Matrix(DownDrift) );
//Add column to table with Combined Drift
ncb = (ps << XPath( "//TableBox" )) << Append( NumberColBox("Combined Drift", CombinedDrift) );Debería ver una nueva columna 'Deriva combinada' a la derecha:

Re: Detección de deriva o fluencia variable de proceso¡Hola!
Muchas gracias por responderme sobre esto. Creo que esta es una solución casi completa, pero parece que los valores calculados que estamos agregando al cuadro de la tabla de selección del proceso original no coinciden realmente con los parámetros / columna apropiados. Me pregunto si hay alguna manera de agregar el nombre de la columna a la matriz que se genera en este script para que pueda coincidir cuando agreguemos los valores.
Además, me pregunto si es posible que hagamos la columna permanente. Cuando aplicamos un filtro de datos local y hace un recalc, la columna desaparece. Aunque una solución rápida probablemente sea ejecutar el filtro de datos en la tabla de datos y volver a ejecutar este script.Re: Detección de deriva o fluencia variable de procesoNo estoy seguro de lo que quiere decir con los valores calculados que no coinciden. ¿Puede dar un ejemplo de la discrepancia?
Estoy de acuerdo con su solución temporal en el segundo párrafo, recalcular después de una actualización de un filtro de datos podría ser el camino más fácil a seguir.
Re: Detección de deriva o fluencia variable de procesoHola,
En términos de la discrepancia, tomaremos su captura de pantalla como ejemplo, mirando los valores en la columna de deriva combinada, notará que cuando sumamos la deriva media hacia arriba y hacia abajo, los valores no coinciden. Creo que las matemáticas se hacen correctamente entre las dos matrices, pero cuando los valores se vuelven a agregar, puede haber una desalineación con el orden de los parámetros de la columna en la tabla de selección del proceso original.
Esperando que esto lo aclare.Re: Detección de deriva o fluencia variable de procesoTienes razón y me disculpo por no haber detectado el pedido incorrecto antes. He usado este método varias veces y aún no me he encontrado con ese problema (simplemente volví y revisé algunos scripts propios). Por alguna razón, la extracción de datos de la tabla parece usar el orden ordenado de la tabla, pero al escribir datos, las filas vuelven en un orden diferente. Trabajaré para resolver eso.
Re: Detección de deriva o fluencia variable de procesoTodavía estoy trabajando con JMP Support para averiguar por qué la clasificación de la tabla se aplica a los valores leídos de la tabla pero no a los escritos en la tabla. Por ahora, aquí hay una burda solución:
names default to here(1);
dt = Open("$Sample_Data/iris.jmp");
//Open Process Screening with drift summaries
ps = dt << Process Screening(
Y( :Sepal length, :Sepal width, :Petal length, :Petal width ),
Control Chart Type( "Indiv and MR" ),
Drift Summaries( 1 )
);
//Add a dummy column and use set values to reset the table order
ncb = (ps << XPath( "//TableBox" )) << Append( newCol = NumberColBox("Delete Me", {}));
newCol << Set Values({});
newCol << Delete Box;
//calculate the combined drift
UpDrift = (ps << XPath( "//NumberColBox[NumberColBoxHeader[text()='Mean Up Drift']]" ))[1] << Get;
DownDrift = (ps << XPath( "//NumberColBox[NumberColBoxHeader[text()='Mean Down Drift']]" ))[1] << Get;
CombinedDrift = Abs( Matrix(UpDrift) + Matrix(DownDrift) );
ncb = (ps << XPath( "//TableBox" )) << Append( newCol = NumberColBox("Combined Drift", CombinedDrift));