Problema de optimización bayesianaEn un estudio de I+D anterior, utilicé con éxito un diseño de experimentos (DOE) de mezcla de 4 factores (3 factores de mezcla y un efecto categórico de "isómero" de 3 niveles) para encontrar la configuración óptima para una formulación química con tres atributos de calidad Y1, Y2 e Y3.
Utilicé este caso en un curso del Departamento de Energía (DOE) y usé fórmulas de simulación para calcular las respuestas Y123. Se obtuvieron buenos modelos y la optimización fue sencilla y satisfactoria; véase el documento adjunto "FORMULACIÓN QUÍMICA DE LA MEZCLA DE ANÁLISIS DEL DOE".
Partiendo de un modelo DOE de Kowalski de 12 experimentos, tengo dificultades con la optimización bayesiana (véase el anexo "OPTIMIZACIÓN BAYESIANA"). Esto sigue fallando debido a un modelo Y2 muy poco fiable. ¿Por qué la optimización bayesiana recomienda "Máxima Deseabilidad" con este modelo Y2 tan poco fiable? Partiendo de otros DOE de selección y llenado de espacio, sigo obteniendo el mismo modelo Y2 poco fiable.
¿Cuál es el problema? ¿Cómo solucionarlo?
Diseño de experimentosRe: Problema de optimización bayesianaHola @frankderuyck ,
Aunque no guarda relación con tu caso de uso específico, si tienes problemas para ajustar un modelo de proceso gaussiano basado en tus datos utilizando la plataforma de optimización bayesiana, te recomendaría estas dos opciones:
- Impulsa la exploración de tu espacio de diseño creando puntos candidatos mediante el criterio MaxPro . Este criterio, independiente del modelo, garantiza la máxima distancia entre los puntos existentes y los nuevos puntos candidatos, lo que te permite cubrir el espacio experimental de manera eficiente.
- También puedes cambiar la configuración predeterminada del umbral RSquare de aumento basado en modelos (por ejemplo, si aumentas este umbral de 0,25 (valor predeterminado) a 0,7, aumentarás la parte de exploración) y, posiblemente, ajustar el tipo de correlación (gaussiana, Mattern 3/2 y 5/2 o exponencial) al inicio de tu bucle BO, en caso de que alguno de estos tipos de correlación se adapte mejor a tu caso de uso. Mattern 5/2 es una buena opción predeterminada, pero la gaussiana podría proporcionar resultados ligeramente mejores para Y2.
En todos los casos, el profesional debe mantener el control de la plataforma y sus resultados, y elegir la opción más pertinente a la situación (exploración/explotación). Presenté un caso práctico en un seminario francés sobre optimización de la comercialización (BO) donde el modo automático (seguir ciegamente las recomendaciones de la plataforma con la configuración predeterminada) conduce a resultados subóptimos. Tan pronto como se implementa la exploración (debido a un ajuste inadecuado y poco fiable del modelo) mediante la adición de algunos puntos de exploración, el modelo comprende las relaciones entre las entradas y las salidas, y la explotación puede volverse mucho más interesante.
Al observar su fórmula de respuesta, lo que se puede ver es que son muy diferentes:
- Y1 tiene un modelo con efectos principales y efectos de interacción, aproximadamente del mismo tamaño (los efectos principales son ligeramente mayores),
- Y2 tiene un modelo con efectos principales y algunos efectos de interacción importantes (X1*X3 y X2*X3).
- Y3 tiene un modelo con grandes efectos principales y algunos pequeños efectos de interacción.
Los formatos de fórmula de Y1 e Y3 son "normales" y fáciles de ajustar con un proceso gaussiano.
Para Y2, los efectos de interacción muy grandes hacen que el ajuste del GP sea mucho más complejo. Las ecuaciones del núcleo involucran la distancia entre puntos (ver ejemplo con núcleo gaussiano ) y el parámetro de ancho de banda (o también llamado escala de longitud). Este parámetro es aprendido por el GP para cada factor/dimensión, e informa sobre cómo un cambio relativo en cada factor afecta la respuesta. Pero como las dimensiones están desacopladas en los cálculos de distancia (distancia euclidiana) y en el aprendizaje de este parámetro, el modelo GP tiene dificultades para determinar un parámetro de ancho de banda/escala de longitud razonable para cada factor involucrado en una interacción fuerte, ya que no puede evaluar bien cómo cada factor afecta la respuesta de forma independiente.
En la práctica, cuando se enfrenta a una situación similar con posibles efectos de interacción muy grandes, un núcleo aditivo o polinómico sería más adecuado, ya que el núcleo aditivo desacopla los efectos de primer, segundo, tercer orden, etc., y un núcleo polinómico se establece explícitamente a un grado fijo (en este caso 2 o 3).
Dadas las opciones de la plataforma de optimización bayesiana JMP, recomiendo forzar la generación de más puntos de exploración con el criterio MaxPro. Adjunto mi prueba, en la que se realizaron cuatro nuevas exploraciones con el criterio MaxPro antes de permitir que la plataforma optimizara con la opción Maximizar la mejora esperada. El óptimo encontrado parece estar más cerca de sus objetivos que el que usted obtuvo.
Espero que esta respuesta te ayude.
Re: Problema de optimización bayesianaGracias por la explicación detallada, Víctor; sin embargo, aún existen problemas:
(1) El perfilador Y2 muestra que el modelo Y2 sigue siendo muy poco fiable. (2) Importante (!): la configuración óptima aquí para Isómero = Isómero 2 que no se corresponde con la solución DOE -y correcta- que debe ser Isómero 1.
Resulta difícil comprender por qué el enfoque bayesiano está teniendo problemas aquí.
Re: Problema de optimización bayesianaEstaba viendo valores de R2 cercanos o superiores a 0,7 para Y2, así que no diría que el modelo es muy poco fiable.
La optimización bayesiana no siempre le proporcionará el óptimo global (si existe), sino una solución óptima.
Dado que los diseños de mezcla son diseños de optimización y su factor de isómero categórico no tiene un gran efecto en relación con los factores de mezcla, podría haber otras soluciones disponibles con isómeros diferentes (y proporciones de mezcla diferentes). Podría haber varias explicaciones para entender las diferencias: varios óptimos disponibles con rendimientos buenos similares, y/o el ruido añadido a Y2 podría "ocultar" el óptimo para el modelo GP. Podría intentar eliminar el ruido de la fórmula de Y2 y ver si el óptimo es el mismo, así como comprobar con el modelo del DoE qué tan cerca están las soluciones BO del óptimo que tiene en el contexto del DoE.
Espero que esta respuesta te ayude.
Re: Problema de optimización bayesianaEl Profiler Y2 no tiene buen aspecto; el modelo del DOE fue excelente.
frankderuyck_0-1786094852833.pngfrankderuyck_0-1786094852833.pngfrankderuyck_0-1786094852833.pngfrankderuyck_0-1786094852833.png
Re: Problema de optimización bayesianaTras realizar algunas ejecuciones adicionales, el método bayesiano produce de forma consistente la solución óptima del isómero 1, mientras que el perfilador Y2 permanece muy gris.
La solución es bastante equivalente a la que obtuve, mi Y2 R² fue menor = 0,52.
Re: Problema de optimización bayesianaEl analizador de rendimiento Y2 me indica que se puede esperar que -0,48 < Y2 < 1, ¿correcto? ¿Debería ignorar este resultado y fijarme solo en R²?
Re: Problema de optimización bayesianaAl revisar su archivo BO, al abrir la plataforma JMP BO, tengo un R² = 0,7999 y un Profiler no tan malo para Y2:
Victor_G_0-1786175430051.pngVictor_G_0-1786175430051.pngVictor_G_0-1786175430051.pngVictor_G_0-1786175430051.png
Los mismos resultados en mi prueba de archivo BO: R² = 0,7321 y Profiler parece estar bien:
Victor_G_1-1786175585108.pngVictor_G_1-1786175585108.pngVictor_G_1-1786175585108.pngVictor_G_1-1786175585108.png
Entonces, ¿en qué Profiler o en qué paso se muestra el Profiler de predicción "malo"?
Podrías añadir algunas ejecuciones usando Maximizar la desviación estándar del modelo multivariante (o Maximizar la desviación estándar de la deseabilidad bayesiana si el tamaño del lote es mayor que uno) para reducir la incertidumbre de la predicción. Esto puede ayudar, pero debido a este escenario extremo con efectos de interacción muy grandes, será difícil para el proceso gaussiano competir con la regresión multivariante del DoE con efectos de interacción incluidos. Puedes ver cómo cada modelo maneja la interacción a través de la opción "Interacciones superpuestas"; verás que las trazas de interacción para el modelo de regresión (DoE) son mucho más "diversas" que las del proceso gaussiano, debido a la limitación que expliqué en mi primera publicación.
- Modelo de regresión:
Victor_G_2-1786175872322.pngVictor_G_2-1786175872322.pngVictor_G_2-1786175872322.pngVictor_G_2-1786175872322.png
- Proceso gaussiano:
Victor_G_3-1786175927453.pngVictor_G_3-1786175927453.pngVictor_G_3-1786175927453.pngVictor_G_3-1786175927453.png
El proceso gaussiano interpola el comportamiento de la respuesta en función de la proximidad de los puntos, mientras que la regresión utiliza efectos específicos (efectos principales, efectos de interacción, etc.) para describir el fenómeno. El ajuste del modelo y su "filosofía" son diferentes: en la regresión se asume un modelo que debe verificarse, mientras que con el proceso gaussiano se "construye el modelo a medida que se experimenta".
Tenga en cuenta que, incluso si utiliza la plataforma de Optimización Bayesiana, si encuentra dificultades para ajustar el modelo GP incluso con la adición de puntos de exploración, puede explorar más opciones de modelo utilizando la plataforma de Selección de Modelos con validación cruzada K-folds, y verá que los métodos de regresión aparecen en la parte superior de las mejores opciones de ajuste del modelo (aquí están los resultados utilizando solo los primeros puntos de construcción de su tabla de datos):
Victor_G_4-1786176393503.pngVictor_G_4-1786176393503.pngVictor_G_4-1786176393503.pngVictor_G_4-1786176393503.png
Espero que esta respuesta aún te sea útil.
Re: Problema de optimización bayesianaEs extraño, cuando hago clic en la última prueba de BO obtengo un resultado diferente para el perfilador de predicción, pero los gráficos son los mismos.
Estoy usando JMP 18 Pro, ¿podría ser que la versión 19 (supongo que usted usa la última versión de JMP) sea diferente?
frankderuyck_0-1786349462076.pngfrankderuyck_0-1786349462076.pngfrankderuyck_0-1786349462076.pngfrankderuyck_0-1786349462076.png
Re: Problema de optimización bayesianaVale, eso es extraño, deberías tener el mismo perfilador, ya que el gráfico de Real frente a Predicho parece mostrar que el modelo GP ha aprendido los patrones de tus datos.
¿Obtiene los mismos resultados de Profiler al observar el panel del modelo para la respuesta Y2 únicamente en la plataforma JMP BO?
¿Has probado a utilizar la plataforma de procesos gaussianos "normal" para el modelado para ver si tienes el mismo problema?
¿Has intentado ejecutar la plataforma directamente desde el menú (no desde los scripts guardados) y también desde los scripts? ¿Hay alguna diferencia?
Finalmente, ¿puedes actualizar a JMP 19?
Espero que puedas resolver tu problema con algunas de estas ideas.
Re: Problema de optimización bayesianaHola Victor, he probado tus propuestas con mi JMP 18 sin éxito. Adjunto una comparación entre el modelado Scheffé y el gaussiano para los resultados completos de 24 ejecuciones del DOE: el modelado gaussiano no es bueno, mostrando falta de ajuste para Y1, resultados muy malos para Y2; Y3 es aceptable; con estos modelos gaussianos es imposible encontrar configuraciones de mezcla óptimas con el perfilador, Deseabilidad = 0. ¿Obtienes mejores resultados con JMP 19? Ojalá se pueda encontrar una solución, me gustaría mucho usar la optimización bayesiana, pero mi equipo se está volviendo escéptico.
Re: Problema de optimización bayesianaLos resultados de la fórmula de predicción gaussiana son muy malos y diferentes de las predicciones de Jackknife.
frankderuyck_0-1786435375218.pngfrankderuyck_0-1786435375218.pngfrankderuyck_0-1786435375218.pngfrankderuyck_0-1786435375218.png
No me extraña que mi optimización bayesiana no funcione, los resultados son muy inconsistentes e inestables.
Re: Problema de optimización bayesianaSi los resultados con JMP 19 son correctos, ¿qué ha cambiado?
Re: Problema de optimización bayesianaHe utilizado la plataforma BO en JMP 19 con la configuración predeterminada, y los modelos para las diferentes respuestas parecen buenos:
Victor_G_0-1786477092346.pngVictor_G_0-1786477092346.pngVictor_G_0-1786477092346.pngVictor_G_0-1786477092346.png
He guardado la fórmula de predicción y el script de la plataforma de optimización bayesiana (modelo de proceso gaussiano) de JMP19 en su tabla.
En cuanto a los modelos de procesos gaussianos "básicos", tengo resultados similares para Y1, pero puedes mejorar el modelado marcando la opción " Estimar parámetro pepita " al iniciar la plataforma:
Victor_G_1-1786477388650.pngVictor_G_1-1786477388650.pngVictor_G_1-1786477388650.pngVictor_G_1-1786477388650.png
Dado que la respuesta Y1 parece ser un poco más ruidosa que las demás, usar esta opción mejora el modelado al evitar el proceso gaussiano para interpolar perfectamente los datos. Los resultados del modelo son mucho más interpretables y similares al modelo de regresión, incluso si las predicciones del modelo pueden estar lejos de las mediciones.
Victor_G_2-1786477805428.pngVictor_G_2-1786477805428.pngVictor_G_2-1786477805428.pngVictor_G_2-1786477805428.png
También he guardado el script para volver a ejecutar el análisis y la fórmula de predicción en su tabla.
Finalmente, las fórmulas de predicción del proceso gaussiano y del método Jackknife son diferentes; puede consultar la ayuda de JMP en la sección "Gráfico de predicción real ". Los valores de predicción de Jackknife son valores Y predichos para la fila X específica excluida, mientras que los valores de predicción del modelo de proceso gaussiano provienen del promedio de cada modelo entrenado con validación cruzada (método Jackknife).
Espero que esta respuesta te ayude.
Re: Problema de optimización bayesianaVale, Víctor, gracias, está claro que necesito cambiar a JMP 19. Me pregunto por qué JMP 18 no funciona y qué ha cambiado. Por cierto, cuando añado otro lote de BO, mi versión 18 da un error y, si lo ignoro, la predicción Y2 vuelve a aparecer completamente borrosa en gris como antes.
frankderuyck_0-1786523679953.pngfrankderuyck_0-1786523679953.pngfrankderuyck_0-1786523679953.pngfrankderuyck_0-1786523679953.png
frankderuyck_1-1786523771369.pngfrankderuyck_1-1786523771369.pngfrankderuyck_1-1786523771369.pngfrankderuyck_1-1786523771369.png
¿Podrías llevar a cabo esta optimización bayesiana a partir del DOE inicial adjunto, basándote en un modelo de Kowalski de 12 ejecuciones?
Re: Problema de optimización bayesianaHola @frankderuyck ,
Por curiosidad, ¿dónde se encuentra la optimización bayesiana en JMP 18? Se introdujo en JMP 19: https://www.jmp.com/en/software/new-release/new-in-jmp
Mejor
Florián
Re: Problema de optimización bayesianaLo siento, me equivoqué, estoy usando la versión 19.0.1.
frankderuyck_0-1786550520590.pngfrankderuyck_0-1786550520590.pngfrankderuyck_0-1786550520590.pngfrankderuyck_0-1786550520590.png
Re: Problema de optimización bayesiana¿Por qué mis resultados son diferentes a los de Víctor?
Re: Problema de optimización bayesianaBuenos días @frankderuyck y @Victor_G ,
Puedo confirmar que algunas de las mejoras de la última versión solucionan el problema:
Antes de JMP 19.1.4:
Florian_Vogt_0-1786605432509.pngFlorian_Vogt_0-1786605432509.pngFlorian_Vogt_0-1786605432509.pngFlorian_Vogt_0-1786605432509.png
Con JMP 19.1.4 (última versión disponible):
Florian_Vogt_1-1786605459011.pngFlorian_Vogt_1-1786605459011.pngFlorian_Vogt_1-1786605459011.pngFlorian_Vogt_1-1786605459011.png
La actualización a la última versión incluye mejoras en la plataforma que ofrecen mejores resultados (como demostró Victor).
Mejor
Florián
Re: Problema de optimización bayesianaGracias Florian, ¿cómo puedo actualizar a la última versión?
Re: Problema de optimización bayesianaEn la pantalla que has compartido, haz clic en "Buscar actualizaciones" (texto azul a la izquierda), se abrirá una ventana y obtendrás un enlace para descargar la versión actualizada.
Gracias por la información, @Florian_Vogt . Las notas de la versión 19.1.x no son lo suficientemente detalladas como para ver si algo ha cambiado en el algoritmo/los cálculos de la plataforma BO: https://community.jmp.com/t5/JMP-Knowledge-Base/JMP-New-Features-and-Release-Notes/ta-p/575202
Re: Problema de optimización bayesiana
Florian_Vogt_0-1786610753240.pngFlorian_Vogt_0-1786610753240.pngFlorian_Vogt_0-1786610753240.pngFlorian_Vogt_0-1786610753240.png
Re: Problema de optimización bayesianaEstimados Victor y Florian, muchas gracias por sus consejos. Actualicé a la versión más reciente de JMP y finalmente obtuve buenos resultados (ver archivo adjunto). Lo único que no me queda claro es por qué, después de varios lotes, el motivo agregado parece quedarse atascado en "Mejora Máxima Esperada" y no pasa a la replicación, por lo que parece que no encuentra el óptimo, ¿correcto? Sin embargo, cuando optimizo el último lote, los resultados óptimos son correctos, lo cual no sucede después de la primera mejora máxima. La pregunta es: ¿después de cuántas mejoras máximas esperadas se llega a la optimización, cuando los modelos de regresión son correctos? ¿Cuál es el indicador más importante para Gaussian?
frankderuyck_0-1786694503916.pngfrankderuyck_0-1786694503916.pngfrankderuyck_0-1786694503916.pngfrankderuyck_0-1786694503916.png
Re: Problema de optimización bayesianaHola @frankderuyck ,
En realidad no está bloqueado... tienes una tarea de optimización con 3 respuestas, donde intenta alcanzar 3 objetivos. Como aún ve potencial de mejora, continúa intentándolo. Esto se indica en el gráfico de deseabilidad, ya que la deseabilidad alcanzada sigue mejorando. Cuando sigues solicitando ejecuciones, finalmente intenta replicar el mejor resultado actual.
Florian_Vogt_0-1787142341723.pngFlorian_Vogt_0-1787142341723.pngFlorian_Vogt_0-1787142341723.pngFlorian_Vogt_0-1787142341723.png
Es difícil generalizar la decisión de cuándo detenerse; en pocas palabras, puedes detenerte cuando quieras, es decir, cuando sientas que has alcanzado tus objetivos. BayesOpt intentará optimizar y verificar los resultados ("Replicar la mejor ejecución de entrenamiento"), según los datos.
¡Espero que esto ayude!
Florián
Re: Problema de optimización bayesianaSupongo que las últimas filas no son la configuración óptima, por lo tanto, necesito ir al resumen del modelo y a la opción de Deseabilidad Máxima, ¿correcto? Veo que el generador de perfiles no tiene simulador; cuando guardo la fórmula de predicción y voy a >gráfico >generador de perfiles, no funciona, ¿obtengo una hoja de generador de perfiles en blanco? ¿Cómo puedo realizar simulaciones y comprobar la capacidad con ruido aleatorio en la configuración optimizada?
Re: Problema de optimización bayesianaPartiendo de un DOE de llenado de espacio flexible rápido de 10 ejecuciones (véase el archivo adjunto), obtengo resultados diferentes a los del inicio de Kowalski de 12 ejecuciones y también al modelo de Sheffé de 24 (véase la primera publicación); las configuraciones óptimas de X1, X2 y X3 son casi las mismas, pero el llenado de espacio da como resultado el isómero 2 en lugar del isómero 1. Al igual que con el isómero 2, los inicios de Scheffé y Kowalski de 12 ejecuciones producen deseabilidades bajas. Supongo que empezar con un llenado de espacio de 10 ejecuciones no es correcto, ¿son muy pocas ejecuciones? ¿Existe algún criterio para un DOE inicial aceptable para la optimización bayesiana?
Re: Problema de optimización bayesianaCreo que el problema radica en que el diseño de experimentos de relleno espacial no proporciona una cobertura equilibrada entre los tres isómeros. Además, al observar un diagrama de dispersión por isómero, la cobertura no parece muy buena. Supongo que este es un punto importante a tener en cuenta al seleccionar el relleno espacial como método inicial, en caso de que exista un efecto categórico, ¿correcto?