| Vocero |
Transcripción |
| Andrea Coombs, JMP |
Hola, me llamo Andrea Coombs y soy ingeniera de sistemas en JMP. Hoy les contaré mi experiencia trabajando en la industria, específicamente en la farmacéutica. |
| |
Así que esto es de lo que voy a hablar hoy en pocas palabras. |
| |
Estrategias de afrontamiento para darle sentido |
| |
de datos de producción en tiempo real en la fabricación de vacunas. Y en esa presentación hablé sobre cómo manejar datos curvos. |
| |
que estábamos obteniendo en tiempo real de los sensores en nuestra planta de fabricación. |
| |
Y hoy, de lo que quiero hablar son algunas de las nuevas herramientas que tenemos en JMP, específicamente el explorador de datos funcional, y cómo eso habría hecho que todo este trabajo fuera muy fácil. |
| |
Y analizaré cómo utilizar el explorador de datos funcionales para comprender, optimizar y supervisar procesos. |
| |
Comencemos hablando del proceso y las curvas que analizamos. Aquí a la izquierda, tenemos un ejemplo de un proceso hipotético de fabricación de vacunas. Comienza con la preparación del material. |
| |
En este caso, estamos haciendo una fermentación bacteriana en dos etapas, luego el producto se filtra, se absorbe y se cosecha, |
| |
y posteriormente el producto se centrifuga y, finalmente, varios sublotes de material se formulan juntos en un solo lote de material. |
| |
Y hoy me voy a centrar en las etapas de fermentación de este proceso. |
| |
Mientras las bacterias fermentan, crecen, y las curvas de crecimiento se ven como las que se muestran aquí a la derecha. Durante el crecimiento, hay una fase de latencia, una fase de crecimiento exponencial, una fase estacionaria y, finalmente, una fase de muerte logarítmica. |
| |
Y mientras estaba en esta empresa, estábamos atravesando una evolución de comprensión de procesos, específicamente en torno a estas curvas de crecimiento. |
| |
Así que empezamos desde el principio, tomando solo cinco muestras de estas dos etapas de fermentación, enviándolas al laboratorio de control de calidad y esperando los resultados. Y obtuvimos... |
| |
densidad óptica, por lo que pudimos determinar la densidad de células en esas muestras, y los resultados que obtuvimos se parecían a lo que ven aquí a la derecha. |
| |
Tenemos una distribución de resultados en esos puntos temporales específicos, pero desconocíamos cómo eran las curvas de crecimiento. Podrían haberse parecido a cualquiera de las curvas que dibujé sobre esas distribuciones a continuación. Simplemente no teníamos ni idea. |
| |
Pero luego implementamos sondas en línea, es decir, sondas de turbidez para poder ver cómo se ven esas curvas de crecimiento. Sin embargo, tuvimos que vestirnos y entrar en la sala de fabricación. |
| |
para descargar manualmente los datos, traerlos de vuelta a nuestros escritorios y luego tratar de averiguar qué íbamos a hacer con todos esos datos. |
| |
Y luego, finalmente, actualizamos nuestro PLC para que pudiéramos tener todos los datos de todos nuestros sensores en nuestro escritorio, sin necesidad de vestirnos y volver... y volver a la fabricación; teníamos todos los datos. |
| |
Al alcance de la mano, lo cual fue genial. Pero mediante un análisis minucioso, pudimos determinar que teníamos demasiados datos y que teníamos que procesarlos. |
| |
Así que por eso... |
| |
Por eso hice esta presentación sobre estrategias de afrontamiento para dar sentido a los datos en tiempo real. |
| |
Trabajamos mucho para dar sentido a nuestros datos y quería compartir algunas estrategias que podrías adoptar para dar sentido a tus datos en tiempo real. |
| |
Lo primero que mencioné fue parametrizar esas curvas de crecimiento. Teníamos estas curvas, pero queríamos poder observar el crecimiento y... |
| |
Para comprender qué estaba sucediendo, los parametrizamos. En otras palabras, tomamos la pendiente del crecimiento y la pendiente de la tasa de mortalidad, y analizamos el tiempo que las bacterias permanecieron en cada fase. |
| |
la turbidez en ciertos puntos de tiempo, y ahora teníamos una gran colección de este crecimiento... lo que llamamos variables de crecimiento. |
| |
Estas variables de crecimiento nos resultaron muy útiles. Las utilizamos para comprender, optimizar y supervisar los procesos. |
| |
Ahora bien, el segundo grupo de estrategias de afrontamiento del que hablé fue simplemente el procesamiento de todos estos datos en tiempo real. |
| |
que teníamos. Así que, por supuesto, una vez que empezamos a encontrar útiles todos estos datos, quisimos acceder a ellos de inmediato. |
| |
Entonces, lo primero que tuvimos que determinar fueron todas nuestras fuentes de datos y asegurarnos de que pudiéramos tener acceso a todo lo que teníamos, no solo a los datos de nuestro historiador, sino que teníamos datos de nuestro |
| |
Sistema ERP, en los sistemas de gestión de información de nuestro laboratorio. Tuvimos que reunir todos esos datos en un solo lugar. Usamos un superdiario, que funciona como una especie de central de comando para acceder a todos nuestros datos y ejecutar todos nuestros scripts. |
| |
Realmente fue un gran trabajo el que hicimos. Estábamos muy orgullosos de nosotros mismos, pero, en retrospectiva, |
| |
Conociendo las herramientas que tenemos en JMP, específicamente ahora con JMP 16, hay un par de cosas que habrían hecho este trabajo mucho más fácil. |
| |
Con las curvas de crecimiento, podríamos haber usado el explorador de datos funcionales para analizarlas. No tendríamos que parametrizarlas. |
| |
Donde dejábamos muchos datos atrás. Podemos usar todos los datos en el explorador de datos funcional. Y luego, por supuesto, el registro de acciones en el registro mejorado. |
| |
Eso habría facilitado mucho el trabajo de scripting. Pero hoy quiero centrarme en cómo habría usado el explorador de datos funcional. |
| |
Claro que ya no tengo acceso a esos datos, así que simulé algunas curvas de crecimiento. Aquí tengo 20 curvas diferentes que representan la variabilidad observada durante la fermentación bacteriana. |
| |
Con el explorador de datos funcionales, todo se reduce a estos cuatro pasos. Primero, tomarás tu colección de curvas. |
| |
Suavizarás todas las curvas individuales. El segundo paso es determinar una forma media y los componentes de forma que describan toda la variabilidad observada en estas curvas. |
| |
El siguiente paso es extraer la magnitud de los componentes de forma para cada curva. |
| |
Y una vez que tienes estos dos componentes de forma, en realidad se llaman componentes principales funcionales, |
| |
Luego, puede usarlos para cualquier forma que desee analizar sus datos, ya sea que sus curvas sean entradas para modelos, salidas para modelos o si desea realizar análisis de agrupamiento. |
| |
Realmente, ahora se puede realizar cualquier tipo de análisis con estos componentes principales funcionales. En el ejemplo de hoy, todas mis curvas son salidas a un modelo, así que usaré el DOE funcional. |
| |
Para observar estas curvas con más detalle, analicemos JMP. |
| |
Aquí tengo mi tabla de datos, donde tengo los números de lote, tengo el tiempo en la turbidez, que conforman las curvas. |
| |
También tengo varios parámetros de proceso. Lo primero que quiero hacer es comprender el proceso para ver si alguno de estos parámetros... |
| |
Están afectando la variabilidad que observo en las curvas. Así que, accedamos al explorador de datos funcionales. Ingresaremos el tiempo como X y la turbidez como Y. Ingresaremos la función ID y, a continuación, tomaremos todos estos parámetros del proceso como variables complementarias. |
| |
Ahora, el primer paso que debemos realizar es ajustar el modelo flexible a todas nuestras curvas y voy a utilizar PCA funcional direccional...directo para hacerlo. |
| |
Aquí están esos modelos flexibles. El segundo paso, que JMP ya ha realizado por mí, es determinar la curva media. |
| |
Y nuestros componentes de forma. JMP me ha identificado seis componentes de forma diferentes. Aquí a la izquierda, puedo ver esos seis componentes de forma diferentes. |
| |
Y aquí está la cantidad acumulada de variabilidad que esos componentes de forma explican en mis datos. |
| |
Como puedes ver, solo con los dos primeros componentes de forma, ya estoy describiendo el 92% de la variabilidad de mi curva, lo cual es genial. |
| |
Voy a excluir los componentes de forma restantes, ya que probablemente solo expliquen la variabilidad aleatoria de mis datos. Así que, reducimos el número de FPC a dos y me quedan esos dos componentes de forma. |
| |
Ahora, el siguiente paso es determinar la magnitud de cada uno de esos componentes de forma para cada una de esas curvas, y los tengo aquí en mi gráfico de puntuación. |
| |
En el eje X, tengo el componente de forma 1, y en el eje Y, tengo el componente de forma 2. |
| |
Abajo tengo un generador de perfiles donde puedo echar un vistazo a mi curva, que he resaltado aquí en amarillo, y puedes ver cómo el primer componente de forma impacta la forma de la curva. |
| |
principalmente la fase de crecimiento de la curva, y el segundo componente de forma está impactando principalmente la fase de muerte de la curva. |
| |
Analicemos con más detalle un par de estos lotes. Analicemos el lote 15. Aquí está la curva del lote 15, donde podemos ver la magnitud del componente de forma 1 y la magnitud del componente de forma 2. Puedo introducirlos directamente en mi generador de perfiles. |
| |
Ahora pueden ver que puedo reproducir la curva del Lote 15. Veamos uno más. Observemos este Lote 2, y pueden ver que se ve muy diferente al Lote 15, y la forma... la magnitud de los componentes de forma también es muy diferente. Así que... |
| |
Echa un vistazo a estos. |
| |
Y ahora podemos ver que hemos podido replicar esa curva también. |
| |
Entonces, conociendo la forma media, los dos componentes de forma que representan la variabilidad alrededor de las curvas, podemos utilizar ahora estas magnitudes de esos componentes de forma para hacer un análisis. |
| |
Y podemos hacer... cuando sus curvas son la respuesta en su modelo, puede hacer ese análisis aquí mismo en el explorador de datos funcionales. |
| |
Aquí abajo, tengo un nuevo perfilador. Y esta vez, en mi perfilador, tengo... tengo mi curva de nuevo, que resaltaré en amarillo. |
| |
Y luego tengo los parámetros de pH, temperatura, presión y velocidad de mezcla. Como pueden ver, la velocidad de mezcla es bastante plana, así que no afecta la forma. |
| |
Lo mismo ocurre con la presión, pero al observar la temperatura, se puede ver que cambia la forma de mi curva, principalmente en la fase de crecimiento. Y al modificar el pH, afecta principalmente esa fase de mi curva. |
| |
Ese es el enfoque que adoptaría para la comprensión de procesos. ¿Y qué hay de la optimización de procesos? Y con optimización de procesos, me refiero a... |
| |
Si queremos estandarizar una curva específica, ¿cuáles serían el pH y la temperatura necesarios para obtenerla? Lo primero que hay que hacer es definir qué... |
| |
Así se ve la curva deseada. Y tengo algunos puntos de datos aquí al final de mi tabla que describen la forma que busco, y los verás aquí en mi... |
| |
En el constructor de gráficos. En este caso, me interesa obtener una curva con una tasa de crecimiento muy rápida y una tasa de caída muy lenta. |
| |
Y esto es muy fácil de añadir al explorador de datos funcionales. Solo necesitamos un paso más; recordaré lo que hice antes. |
| |
Y el paso adicional es cargar esa función de destino, identificar cuál |
| |
La función representa nuestro objetivo. Y ahora solo replicaré lo que hice antes. Realizaré mi PCA funcional directo. |
| |
Voy a personalizar mis FPC a 2 y estos... estos resultados son exactamente lo que estábamos viendo antes, y luego voy a subir y hacer mi DOE funcional. |
| |
De nuevo, resaltaré mi curva aquí. Ahora que he identificado la curva objetivo, puedo maximizar la conveniencia; en otras palabras, puedo encontrar los puntos de ajuste para el pH y la temperatura. |
| |
y la presión y la velocidad de mezcla que me darán una curva que se parezca más a la curva objetivo. Así que hay |
| |
Tasa de crecimiento muy rápida, tasa de caída lenta. Y solo necesitaría... |
| |
Comencé con un medio con un pH de 7,2 y usé una temperatura de 37,9 en mis fermentadores. Ese es el enfoque que habría utilizado para comprender y optimizar el proceso. |
| |
Cuando hablamos de monitoreo de procesos de curvas de crecimiento o formas de curvas, existen algunas opciones diferentes y tengo un par de ideas diferentes aquí. |
| |
Si esto es algo que desea hacer, le recomiendo que consulte esta presentación de 2020, control estadístico de procesos para variables de proceso que tienen una forma funcional. |
| |
Esta presentación fue grabada y es realmente genial. Hablaron sobre cómo tomar esos componentes principales funcionales y aplicarlos a gráficos de control multivariados basados en modelos. |
| |
Hicieron una gran demostración de eso y luego también hablaron sobre algunas posibles desventajas de adoptar ese enfoque. |
| |
Entonces quisiera discutir otro enfoque que quizás quieran considerar y es mirar la diferencia integrada con respecto a un estándar. |
| |
Así que, al igual que antes, cuando observábamos la curva objetivo, se podía usar como estándar y, para cada lote, calcular la diferencia con respecto a ese estándar. Por ejemplo, aquí tengo... |
| |
Una curva de un lote, representada aquí en azul... o, mejor dicho, en rojo. La curva estándar está en azul y estoy calculando la diferencia, que se refleja en esta curva verde de abajo. |
| |
Puedes integrar sobre esa curva para hallar el área bajo ella y luego usarla en tu programa de control estadístico de procesos. Quiero explicarte rápidamente los pasos para hacerlo. |
| |
Aquí están mis valores de turbidez estándar y de tiempo, mi turbidez para el primer lote, y acabo de calcular la diferencia entre ambos. Y luego, lo que puedes hacer es... |
| |
Utilice el ajuste Y por X para construir un modelo de spline para esa diferencia en el tiempo y luego puede guardar los coeficientes de ese modelo en una tabla de datos. |
| |
Obtendrás los valores de X y los cuatro coeficientes que puedes usar para construir el modelo spline. Aquí está la fórmula para construir el modelo spline: |
| |
Y luego integras esta fórmula. Puedes hacerlo mediante scripts. Yo opté por hacerlo en el editor de fórmulas. Determiné el área de cada segmento de la curva integrando manualmente la fórmula anterior. |
| |
Entonces, una vez que tengo estas áreas cortadas, solo necesito sumar las áreas que me interesan. De esta manera puedo calcular el área para la curva total. |
| |
También puedo hacerlo solo para la fase de crecimiento y solo para la fase de muerte, y lo he hecho aquí arriba. |
| |
En mi variable de tabla. Así, ahora tengo una variable para mi diferencia integrada total, para mi diferencia integrada solo durante la fase de crecimiento y para mi diferencia integrada durante la fase de muerte. |
| |
Básicamente, solo tienes que repasar y hacer eso para cada lote. Aquí lo he hecho para los 20 lotes, y ahora puedes realizar el control estadístico del proceso con esas variables. |
| |
Estos son los enfoques que habría adoptado para analizar la monitorización, la comprensión y la optimización de procesos con el explorador de datos funcionales. Espero que lo pruebes y que te sea muy fácil. Gracias. |