En el refinado de petróleo, una técnica clave de optimización consiste en proporcionar un control continuo en línea de las variables de calidad con un muestreo poco frecuente. Esto requiere un modelo predictivo empírico de la variable de calidad basado en las condiciones del proceso en línea. Este modelo se utiliza posteriormente como una variable inferida, la cual se puede emplear en un algoritmo de control continuo.
Existen varios inconvenientes que impiden que los modelos con un buen ajuste estadístico predigan con precisión la variable de calidad al implementarse en línea. Muchas de las causas de este fallo escapan al control del ingeniero, como condiciones de proceso anómalas y fallos en la señal de entrada. Si bien es posible construir un modelo predictivo que minimice el impacto de las externalidades del proceso, esto suele comprometer su precisión. Por lo tanto, el reto del ingeniero consiste en crear modelos predictivos que equilibren precisión y fiabilidad.
Este artículo explora varios pasos del proceso de desarrollo de modelos que utilizan JMP para construir modelos predictivos adecuados para el control de procesos en línea. Mediante un complemento personalizado, es posible agregar datos de proceso sin procesar a un formato que filtra la variabilidad del proceso. Los datos agregados se analizan con herramientas como Distribución y Detección de Valores Atípicos para identificar valores atípicos y rangos operativos. Las entradas del modelo se transforman con fórmulas de columna para reducir aún más la variabilidad del proceso. Finalmente, el modelo se construye utilizando Regresión Generalizada en Ajuste de Modelo para comparar algoritmos de regresión y minimizar las entradas, mejorando así la confiabilidad. El resultado final es un modelo que proporciona la precisión suficiente para optimizar continuamente el proceso según una restricción de calidad, manteniendo su robustez ante perturbaciones del proceso o la instrumentación.
Hola, me llamo Andrew Weaver. Soy ingeniero de aplicaciones de control en ExxonMobil. Hoy vamos a explorar cómo usar JMP para crear modelos predictivos para el control de optimización en línea. En nuestras unidades químicas y de refinación, utilizamos controladores de procesos avanzados para controlar las unidades en tiempo real, tanto para mantener los procesos dentro de los límites de calidad como para optimizar el producto reduciendo las pérdidas.
Estos controladores avanzados dependen de mediciones en tiempo real para responder instantáneamente al proceso, basándose en la información que reciben de nuestros sensores. Uno de los principales desafíos al construir estos modelos de control es que muchas de nuestras variables de calidad se obtienen mediante muestras de laboratorio y no se miden de forma continua. En el ejemplo que se muestra aquí, tenemos un valor de laboratorio que se toma cada dos horas, pero, como se observa en el gráfico inferior, puede producirse un cambio en el proceso antes de que se tome la muestra. Nuestro controlador necesitará información para detectar dicho cambio.
La solución consiste en crear un modelo predictivo inferencial que utilice otros sensores del proceso para proporcionar al controlador en línea información sobre cuándo se producen cambios en la variable de calidad. Esto permite que nuestro modelo realice ajustes en tiempo real sin necesidad de esperar los resultados de laboratorio para observar los efectos de las medidas de control.
Construir este modelo puede ser una estrategia compleja en ocasiones, y requiere un equilibrio preciso entre el conocimiento del dominio de ingeniería y las técnicas de modelado estadístico. Hoy veremos en JMP cómo construir estos modelos y algunos de los desafíos únicos que surgen al crear modelos para el control de procesos en línea. Para empezar, presentaré un ejemplo simplificado de un proceso donde se podría utilizar un modelo inferencial en el control de procesos en línea.
Esta es una columna de destilación que separa una mezcla de propano y butano en sus dos componentes. La parte superior de la columna es principalmente propano, que asciende hirviendo, mientras que la parte inferior es predominantemente butano, que se condensa descendiendo. La variable de calidad que queremos medir es la concentración de propano en la parte superior de la columna, la cual se obtiene mediante una muestra de laboratorio.
Antes de comenzar cualquier modelado, es importante comprender algunas de las características físicas del proceso, ya que esto influirá en las decisiones que tomemos. Por ejemplo, los efectos de la temperatura en la torre son cruciales para la destilación que separa la mezcla de butano y propano. A medida que aumenta la temperatura en la torre, esperamos que los componentes más pesados, en este caso el butano, asciendan por ebullición, lo que contaminará la corriente de propano que estamos analizando.
Esto significa que la concentración de propano en los gases de cabeza disminuirá. Esto nos ayudará a indicar al modelo que cualquier efecto de temperatura que observemos en nuestro modelo predictivo debería tener un signo negativo con respecto a la concentración de propano en los gases de cabeza. Además, disponemos de datos de presión, y la presión también afecta la destilación al modificar los puntos de ebullición de ambos componentes. Esto también será importante tenerlo en cuenta al comenzar el modelado.
Una última observación se refiere a las mediciones de flujo en la unidad. Disponemos de varias, y más adelante veremos que el flujo está fuertemente correlacionado con la concentración de propano y los flujos de cabeza. En particular, el flujo de alimentación, el flujo de reflujo y el flujo de producto de cabeza, flujos uno, dos y tres, respectivamente. Sin embargo, utilizar estas mediciones de flujo en el modelo sin modificaciones presentará algunos problemas más adelante, ya que los flujos brutos no tienen en cuenta la acumulación en el sistema ni su dinámica. Para utilizarlas, necesitaremos modificarlas, pasando de ser variables extensivas, como lo son actualmente, a variables intensivas. Más adelante veremos cómo lograrlo.
La principal conclusión al explorar el sistema desde el principio es que comprendemos el significado físico de cada una de las entradas antes de comenzar el proceso de construcción del modelo. Así, tenemos una guía clara sobre cómo queremos que se vea el modelo. Esto garantiza que nuestro modelo refleje el comportamiento real del proceso, y no solo una correlación estadística observada en los datos. Finalmente, estas perspectivas definirán cómo obtenemos nuestras entradas, qué entradas incorporamos a JMP, cómo las filtramos, qué variables transformamos y, en definitiva, qué conforma el modelo final.
Repasemos rápidamente el flujo de trabajo completo de creación de modelos, de principio a fin, para comprender qué se necesita para construir un modelo. Luego, en JMP, analizaremos algunos de estos pasos con más detalle. El primer paso es seleccionar una variable candidata para la inferencia. Normalmente, se trata de una variable de calidad que ya cuenta con muestreos regulares de laboratorio, una gran cantidad de datos y límites de calidad definidos que queremos controlar. En nuestro caso, será la concentración de propano, el análisis de laboratorio que mencionamos en la diapositiva anterior.
A continuación, es momento de iniciar un análisis de ingeniería del proceso. Ya comenzamos con esto en la diapositiva anterior, pero hay otras consideraciones que también se deben tener en cuenta al analizar los datos. Primero, evalúe cualquier perturbación no medida, como variaciones en la calidad del alimento, y su posible efecto en el modelo final. Además, debe considerar las condiciones operativas en las que se espera que funcione el modelo. Si opera bajo una amplia variedad de condiciones, el modelo necesitará datos de todas ellas para ser efectivo. En este punto, deberá determinar si cuenta con suficientes datos para comenzar el modelado o si necesita realizar una prueba específica en la planta para determinar qué datos necesita recopilar.
A continuación, se puede realizar la selección de variables de entrada, como hicimos en la diapositiva anterior, donde analizamos cada una de las posibles entradas del modelo y comenzamos a estudiar los efectos físicos que deberían tener sobre la variable inferida. Una vez seleccionados los modelos, es momento de recopilar los datos. En ingeniería de procesos, estos datos suelen provenir de un sistema de registro histórico que los almacena. Esto nos proporciona datos minuto a minuto de cada uno de los sensores del proceso. Para modelos con amplia aplicabilidad, es recomendable recopilar entre 6 y 18 meses de estos datos en tiempo real, dependiendo de la frecuencia de muestreo del laboratorio. Esto garantiza que se cuente con suficientes datos para obtener un modelo aplicable a diversas condiciones operativas.
A continuación, toca limpiar y preprocesar los datos. Recopilaremos datos con una frecuencia de un minuto para todos los sensores. Por lo tanto, tendrás una gran cantidad de datos para cada muestra de laboratorio. Será necesario formatear estos datos en pares XY claros para cada muestra, lo cual haremos más adelante con un complemento. También es necesario comenzar a analizar los valores atípicos para identificar los datos sospechosos.
Es importante tener en cuenta que esto no debe hacerse únicamente mediante pruebas estadísticas, ya que los valores atípicos deben ser efectos físicos del proceso que deben eliminarse. Por ejemplo, eliminar los datos cuando las unidades no están en funcionamiento, cuando experimentan fallos graves o si se determina que los datos de los sensores son defectuosos. Una vez filtrados los datos, podemos empezar a construir los modelos. Un error común para quienes se inician en la creación de estos modelos es introducir todos los datos recopilados en un algoritmo de mínimos cuadrados y generar un modelo de esa manera. Pero esto no funciona por varias razones.
En primer lugar, queremos asegurarnos de que el modelo tenga un efecto físicamente justificado para cada entrada. Al ejecutar un algoritmo de regresión con múltiples efectos, es muy probable que se introduzcan en el modelo elementos que, si bien son estadísticamente adecuados, no existen en la realidad. El ingeniero debe analizar los signos y la magnitud de cada una de las entradas del modelo para garantizar que se ajuste a sus expectativas de ingeniería.
La segunda razón, más sutil, es que al implementar estos modelos en control en línea, debemos asegurarnos de que sean robustos y fiables. Cada entrada del modelo representa un único punto de fallo si el instrumento conectado a ella falla. Por ello, intentamos minimizar el número de entradas para reducir la vulnerabilidad ante fallos instrumentales. Una vez creado el modelo, es hora de comenzar las pruebas. Primero, se realizan pruebas fuera de línea para comparar las predicciones con los resultados de laboratorio, y luego en línea, integrándolo con el controlador en línea. Este es un proceso cíclico, ya que a menudo un modelo puede predecir muy bien, pero fallar al implementarse en control de lazo cerrado. En ese caso, el ingeniero tendrá que realizar varias iteraciones creando nuevos modelos hasta encontrar uno que funcione correctamente tanto como predictor como dentro del sistema de control.
Ahora que hemos repasado los pasos para construir un modelo inferencial, abramos JMP y analicemos algunos de ellos con más detalle. Esta primera tabla de datos muestra el aspecto que tendrá el conjunto de datos sin procesar. Se obtienen datos cada minuto para cada sensor y para las mediciones de laboratorio, abarcando un periodo de ocho meses. Al visualizar la gráfica de la serie temporal de la variable de laboratorio, podemos observar que las muestras se toman a intervalos poco frecuentes, aproximadamente cada pocos días, con algunos periodos en los que se toman varias muestras en un corto lapso.
Como ya se mencionó, el formato actual de nuestros datos no facilita la creación de un modelo inferencial, ya que necesitamos relaciones XY claras entre cada uno de nuestros resultados de laboratorio y nuestras entradas. Utilizaremos un complemento personalizado para crear una tabla de datos simplificada que establezca dicha relación XY. Agregaremos los datos seleccionando nuestra muestra de laboratorio y la fecha, y luego se nos pedirá que consideremos qué tipo de intervalo de agregación queremos usar.
Este complemento analizará nuestra tabla de datos. Detectará cuándo cambia un valor de laboratorio y calculará el promedio de cada entrada en torno a dicho cambio. Esto se puede personalizar de forma global o para cada entrada individual. Además, este promedio se puede calcular retrospectivamente, comenzando en el momento de la toma de la muestra y retrocediendo X minutos, o de forma centrada, tomando la muestra y analizando un segmento de datos antes y después de su toma.
En última instancia, esto dependerá de la confianza que deposites en el registro de tiempos de las muestras de laboratorio y en la variabilidad del proceso. Para nuestro ejemplo, estableceremos un intervalo global de 60 minutos para todas las variables. Esto nos proporcionará buenos resultados agregados. El proceso tarda un par de minutos. Así que pasaremos directamente al resultado, que es esta tabla de datos donde se puede observar que tenemos una fila independiente para cada resultado de laboratorio, con datos X claros para todas nuestras entradas.
Ahora podemos... Con estos datos, podemos comenzar con el análisis, el preprocesamiento y, finalmente, el modelado. Empezaremos examinando las distribuciones para detectar posibles efectos en nuestros datos que debamos eliminar. Recordemos que queremos eliminar los valores atípicos no solo de las pruebas estadísticas, sino también asegurarnos de que cada dato eliminado tenga un significado físico en el proceso subyacente. Por ejemplo, observando nuestro laboratorio a la izquierda, vemos algunos efectos extremos en el extremo de la distribución, pero es demasiado pronto para determinar si se trata de datos reales o si simplemente son valores bajos en nuestro entorno de procesamiento habitual.
Sin embargo, si observamos con más detalle el flujo uno a la derecha, podemos ver una larga cola de flujos de alimentación bajos e incluso algunos flujos negativos en la distribución. Dado que se trata de la alimentación que ingresa a la unidad, es importante registrar los caudales de alimentación exactos a los que esperamos que la unidad opere normalmente. Necesitaremos definir un umbral para lo que constituye un entorno operativo normal de flujo de alimentación en esta unidad. Para este ejemplo, estableceremos ese umbral en 10; cualquier valor inferior a este indica que la unidad no está operando en condiciones normales o que está apagada. Seleccionaremos todos los datos anteriores a 10 y los excluiremos de nuestro conjunto de datos.
Al revisar el resto de las variables, la única que destaca es el flujo tres, que corresponde al flujo de reflujo que regresa a la torre. Este flujo de entrada es muy elevado, lo que probablemente indica una grave alteración del proceso, ya que no se corresponde en absoluto con el resto de nuestro rango operativo. Por este motivo, también ocultaremos y excluiremos este conjunto de datos.
Ahora que hemos analizado nuestros datos, podemos empezar a examinar algunas de las relaciones y a establecer algunas... Y comenzaremos a establecer relaciones entre nuestros datos de entrada y nuestro modelo final. Estos gráficos XY están ordenados según el mejor ajuste, y podemos ver que nuestras temperaturas cuatro y dos, que se encuentran en la parte superior de la columna de destilación, presentan el mejor ajuste con nuestro laboratorio de propano.
Esto coincide con nuestras expectativas de ingeniería, ya que sabemos que la temperatura tiene un efecto clave en la destilación. Asimismo, observamos una fuerte correlación entre el caudal y uno de nuestros flujos, el del producto, y la presión de cabeza. En lugar de utilizar JMP, intentemos inferir la relación entre la temperatura y la presión en la destilación. Podemos incorporar algunos conceptos conocidos de equilibrio líquido-vapor al modelo combinando la presión y la temperatura en una variable calculada que sea más útil para la construcción del modelo.
Podemos lograrlo mediante un complemento personalizado que genera una temperatura compensada por presión. Este complemento modifica la temperatura en función del efecto de la presión, tomando como referencia una presión de referencia. Este será el modelo final que utilizaremos en lugar de la temperatura sin procesar. Asimismo, como se mencionó anteriormente, no podemos usar este flujo de forma aislada, ya que es una variable extensiva y debe transformarse en una variable intensiva. Para ello, crearemos una nueva columna y definiremos una relación producto/alimentación. La relación entre estos dos flujos los convertirá de variables extensivas a intensivas, lo que facilita modelar las variaciones de calidad presentes en los datos. Por lo tanto, este será el resultado de dividir el flujo dos entre el flujo uno.
El último paso antes de comenzar el modelado es crear una columna de validación, lo cual haremos rápidamente superponiendo la columna de estratificación. Ahora sí podemos comenzar el modelado propiamente dicho. La primera técnica que mostraré es la que llamamos "enfoque de todo un poco", donde, si no tenemos una idea clara de cuáles deberían ser las entradas de nuestro modelo, introducimos nuestro laboratorio como Y, añadimos nuestra columna de validación e introducimos todas las filas como X, y ejecutamos esto en una plataforma de regresión generalizada.
Vamos a utilizar un método de estimación del mejor subconjunto para determinar cuál es el mejor subconjunto de variables al analizar cada combinación. Como se puede observar, llegamos a un punto de inflexión donde podemos reducir el número de variables sin que la precisión del modelo se vea afectada significativamente. Como ya se mencionó, buscamos reducir al máximo el número de variables en nuestro modelo final para minimizar nuestra dependencia de los sensores en caso de fallo de la instrumentación.
Aquí también observamos que seleccionamos la temperatura dos y la presión uno como entradas, las cuales, como vimos anteriormente, presentan fuertes correlaciones. Tenemos razones de ingeniería sólidas para incluirlas en el modelo. Este es un buen punto de partida si el proceso no se comprende del todo. En nuestro caso, sin embargo, sabemos con exactitud qué entradas queremos incluir en el modelo según nuestro análisis de ingeniería. Por lo tanto, volveremos a ingresar los datos de nuestro laboratorio, y esta vez nuestras X serán nuevamente las variables calculadas utilizando nuestra columna de validación.
Esta vez, simplemente ejecutaremos un algoritmo estándar de mínimos cuadrados. Esto nos dará el modelo final que utilizaremos en nuestro controlador. Notarás que el coeficiente de determinación (R²) es algo bajo. Sin embargo, esto es normal al modelar sistemas de procesos grandes, ya que existe mucha variación en la dinámica de la instrumentación que estamos intentando simular. A veces, es muy difícil obtener modelos con una precisión muy alta. Recuerda que debemos evitar agregar más datos de entrada al modelo para aumentar su precisión, para no hacerlo susceptible a fallos en la instrumentación.
Lo último que queremos comprobar en el control en línea es que las entradas sean independientes entre sí y que no presenten colinealidad. Podemos hacerlo consultando la columna del VIF y viendo cuál es el valor del VIF para estas entradas. Si el valor del VIF es demasiado alto, es casi seguro que el modelo fallará al implementarse en un algoritmo de control. Pero dado que el VIF para estas dos entradas es un umbral suficientemente bajo, podemos confiar en que este modelo será un predictor razonable para esta variable de calidad y deberíamos poder empezar a modelarlo en nuestro software de control.
Ahora retomamos la presentación. Ya contamos con un modelo inferido que podemos comenzar a usar en el control en línea. Este modelo que acabamos de desarrollar se utilizará como entrada en nuestro controlador avanzado. Dicha entrada proporcionará información al controlador a medida que este manipula la unidad, permitiéndole observar en tiempo real cómo influye el controlador en la variable de calidad.
Una vez más, esta retroalimentación en tiempo real nos permite optimizar la unidad para garantizar la calidad del producto y asegurarnos de que siempre la mantenemos dentro de nuestros márgenes de tolerancia. Como es de esperar, se trata de un proceso cíclico, tanto para obtener un modelo que funcione bien inicialmente, como porque, a medida que cambian las condiciones del proceso o el equipo envejece, el modelo acabará deteriorándose y será necesario empezar de cero con la generación de uno nuevo.
En conclusión, estos modelos inferenciales subsanan la discrepancia entre nuestro software de control continuo y el hecho de que nuestras muestras de laboratorio se toman a intervalos poco frecuentes. Esto resalta la importancia del conocimiento del dominio al construir modelos estadísticos. Como recordarán, dedicamos mucho tiempo al análisis de ingeniería antes incluso de abrir JMP para asegurarnos de comprender con exactitud cómo funcionaría el modelo una vez implementado. Este principio es el mismo incluso fuera de la ingeniería química y de procesos: el análisis de ingeniería debe guiar el modelo, y no al revés. Con estas técnicas, es posible utilizar datos limitados y transformarlos en información práctica, independientemente del campo de especialización. Muchas gracias por su atención.