Introducción
La plataforma Functional Data Explorer (FDE) de JMP es una herramienta muy útil para modelar curvas o datos espectrales como salidas. Pero, ¿qué sucede si tengo varias curvas como salidas? ¿Y si cada una de esas curvas tiene una prioridad diferente para mi negocio? ¿Se puede utilizar JMP para modelar, comparar y optimizar varias curvas al mismo tiempo? Me han hecho estas mismas preguntas varias veces durante el último mes y (por supuesto) la respuesta es "sí". Siga leyendo para descubrir cómo.
Fondo
Usaré un archivo DOE.jmp de Mill ligeramente modificado de los datos de muestra para crear este ejemplo. El archivo está adjunto a esta entrada del blog. Los datos representan un experimento diseñado para optimizar un proceso de molino de rodillos, con el objetivo de que la curva de tamaño se reduzca rápidamente. Agregué una columna que rastrea el uso de energía durante cada ejecución experimental. El objetivo de esta columna es minimizar el uso de energía durante el proceso. También agregué un lote objetivo a los datos como Lote 0 y eliminé algunas de las otras columnas en la tabla de datos.
Ahora, este es un buen conjunto de datos para ilustrar cómo optimizar las curvas en competencia: esperaría que el uso de más energía haga que el proceso reduzca el tamaño de las partículas más rápido, y espero que haya un punto feliz en el espacio de diseño donde el uso de energía pueda ser bajo y donde el proceso de molienda pueda ser rápido. En el gráfico a continuación, puedo ver que la ejecución de DOE más rápida (línea roja) está cerca del medio en el uso de energía, y el uso de energía más bajo (línea azul) está en gran parte en el medio para el tiempo del proceso de molienda. Las líneas verdes representan curvas objetivo para cada resultado.

Explorador de datos funcionales
Supongo que los lectores ya sabrán cómo utilizar la plataforma FDE. Si necesitas un repaso, consulta esta excelente descripción general de @Peter_Hersh .
Concentrarse en varias salidas a la vez es fácil. Una vez que cargué los objetivos para cada salida, ajusté los modelos B Spline a cada uno, luego hice clic derecho en el cuadro de pestaña en la parte superior y seleccioné Establecer estilo > Dispersión horizontal para poder ver ambos perfiladores uno al lado del otro. Una vez que los perfiladores están vinculados (haga clic en el triángulo rojo del perfilador y seleccione Configuración de factor > Vincular perfiladores ), puedo ver las compensaciones a medida que optimizo una salida. Tiene sentido que el tamaño más rápido ocurra en la esquina de alta temperatura, alta resistencia de los cordones, bajo refrigerante y alta cantidad de calor. Del mismo modo, el menor consumo de energía proviene de una esquina diferente donde la temperatura y el flujo son bajos.

Proceso para obtener ambas curvas
Sin embargo, lo que aún no puedo hacer es indicarle a JMP qué curva es más importante y luego usar las herramientas de JMP para encontrar automáticamente el punto óptimo donde el proceso sea rápido y económico. Hay al menos dos métodos para hacer esto:
Método 1: Fórmulas de columnas guardadas
Este método no funcionará en todas las situaciones, pero es muy rápido y sencillo. Si mis curvas objetivo siempre están por encima o por debajo de todas las demás curvas, es decir, si estoy intentando maximizar o minimizar una curva, entonces puedo guardar las fórmulas para cada curva y usar el Generador de perfiles de predicción para ver y optimizar ambos procesos a la vez.
- Para cada una de las curvas, seleccione el triángulo rojo en Análisis funcional DOE. Seleccione Guardar columnas > Guardar fórmula de predicción .

- Seleccione Gráfico > Perfilador , luego seleccione las fórmulas de predicción y haga clic en Aceptar para continuar.

- En el triángulo rojo de Prediction Profiler, seleccione Optimization and Desirability (Optimización y deseabilidad ), active Desirability Functions (Funciones de deseabilidad) , luego regrese a ese menú y seleccione Set Desirability (Establecer deseabilidad) . En las ventanas que aparecen, seleccione Minimize (Minimizar ) y luego asigne una importancia de 1 a Size (Tamaño). Luego, seleccione Minimize nuevamente, pero esta vez establezca la importancia de Power (Energía) en 2. Esto significaría que el uso de Power es dos veces más importante que el perfil de tamaño.

- Haga clic con la tecla Alt presionada en cualquiera de las curvas de la sección Tiempo del generador de perfiles, luego seleccione Bloquear configuración de factor y haga clic en Aceptar. (Bloquearla evita que el generador de perfiles piense que puede moverse a diferentes lugares de la curva como parte del proceso de optimización). A continuación, en el menú Optimización y deseabilidad, seleccione Maximizar deseabilidad . Si cambia los niveles de importancia de cada curva y luego selecciona Maximizar deseabilidad nuevamente, cambiará el punto óptimo.

Método 2: JMP realiza el cálculo
El primer método solo funciona si intento minimizar o maximizar una curva. No funciona si necesito que coincida con una curva específica que no sea un máximo o un mínimo. Cuando una o más de las curvas deben ajustarse a una forma que no sea un máximo o un mínimo, generar una tabla intermedia y luego ajustar un modelo a esa tabla permite optimizar múltiples respuestas funcionales. Para lograr esto, volveré a mi salida FDE original:
- Mantenga presionada la tecla Alt y haga clic en el espacio en blanco del generador de perfiles de tiempo en la salida Tamaño; asegúrese de que la configuración del factor de bloqueo esté seleccionada y, a continuación, haga clic en Aceptar . Repita este procedimiento en la salida Potencia. Si los generadores de perfiles ya están vinculados, la segunda salida se bloqueará automáticamente. Al bloquear este factor, la salida del siguiente paso será mucho más pequeña.
- Haga clic en el triángulo rojo cerca de FDOE Profiler para Tamaño, luego seleccione Tabla de cuadrícula de salida .
- En la tabla que aparece, cambie el nombre de la columna “Error integrado del objetivo 0” a “Error de tamaño”.

- Repita los pasos 2 y 3 para Energía, cambiando el nombre de la columna “Error integrado” a “Error de energía”.

- Para simplificar las cosas, puedes eliminar todas las columnas en ambas tablas de la cuadrícula, después de las columnas “Error” que previamente renombraste.

- Utilice la herramienta Tablas > Actualizar para combinar las dos tablas. Deberá hacer coincidir las primeras cinco columnas, pero esto no implica hacer muchos clics: simplemente seleccione todas las opciones entre Hora y T(°C) en ambos grupos de columnas y, luego, seleccione Coincidir .

Ahora lo único que tengo que hacer es ajustar un modelo para minimizar el error de cada una de mis respuestas. Una red neuronal es una buena opción en este caso.
Puedo establecer Desirability de manera similar al método anterior. En este caso, sin embargo, quiero minimizar el error de la curva objetivo para cada una de mis respuestas. Lo bueno de este método es que funciona para cualquier curva objetivo. Si establezco la importancia relativa igual que antes, con Power siendo el doble de importante que Speed, el punto óptimo que obtengo es tener cada entrada al máximo excepto Flow, que me gustaría establecer al mínimo. Aún mejor, dado que todavía tengo mi plataforma FDE original abierta con los perfiladores uno al lado del otro, puedo ver cómo se verán mis salidas automáticamente, ya que los tres perfiladores están vinculados.

Conclusión
Es probable que existan todo tipo de razones por las que una persona podría querer optimizar varias curvas simultáneamente. Por ejemplo:
- Para automóviles, curvas de eficiencia de combustible y potencia del motor.
- Para el desarrollo de fármacos, curvas de disolución y espectroscopia de RMN.
- Para los gurús financieros, comparar distintas curvas de riesgo-retorno entre sí.
Con los dos métodos descritos anteriormente, se puede abordar cada una de estas situaciones y, dado que se utilizan todos los datos funcionales, las respuestas llegan mucho más rápido y con mucha mayor precisión.
@Jed_Campbell ¡gracias por este fantástico tutorial! Tengo una pregunta: en la sección "Método 2", la parte en la que se envía a la cuadrícula, menciona que la nueva tabla de datos tiene una columna llamada " Error integrado del objetivo 0". ¿De dónde viene esto? ¿Falta algún paso? Tengo JMP Pro v.18, pero no puedo encontrar esta columna. ¡Gracias!
@dray173 la columna "Error integrado del destino 0" se genera automáticamente cuando se crea la tabla, pero solo si ya le has dicho a JMP cuál es la función de destino. Lo he pasado por alto en la sección Explorador de datos funcionales, lo siento. Supongo que te has saltado este paso. Si no me equivoco, para especificar el destino, debes seleccionar Funciones de destino > Cargar en el esquema de Comandos cerca de la parte superior. Este también debería ser el primer paso y debería hacerse antes de ajustar cualquier modelo.

Gracias por ayudar a aclarar esto y, por favor, déjame saber si esta fue la solución que necesitabas.