Fujifilm Diosynth Biotechnologies es una organización de desarrollo y fabricación por contrato (CDMO) que cuenta con un departamento de caracterización de procesos dedicado a realizar estudios de caracterización de procesos (PCS). El objetivo de los PCS es demostrar que los procesos de nuestros clientes son resistentes a los cambios en la configuración de parámetros o en sus rangos operativos normales.
Los PCS emplean comúnmente el diseño de experimentos (DOE) para investigar los efectos que tienen los insumos del proceso sobre los atributos de calidad (QA) y los indicadores de desempeño del proceso (PPI). El análisis DOE es una herramienta útil para identificar los insumos que tienen un efecto sobre el QA/PPI, pero es principalmente cuantitativo.
Además del análisis tradicional del DOE, el cálculo del índice de impacto (IR) para cada insumo proporciona una evaluación cuantitativa y cualitativa y puede ayudar a determinar si un parámetro es crítico o no. El IR proporciona una medida del tamaño del efecto relevante para un rango aceptable.
Realizar los cálculos manualmente requiere mucho tiempo y es propenso a errores. Presentaremos una herramienta de automatización que puede extraer la información necesaria de un modelo DOE y calcular el IR. Una interfaz permite al usuario personalizar cómo se calculan los resultados.
Hola a todos. Estoy muy contento de estar aquí hoy con mi colega Sam. Hoy hablaremos sobre los índices de impacto. Básicamente, ¿cuál es el impacto de los factores DoE en los resultados o respuestas DoE? Presentaré el concepto, los cálculos y los ejemplos en JMP y luego le daré la palabra a Sam, quien los guiará en la automatización de ese proceso con JSL y les mostrará cómo lo hizo en un complemento.
En primer lugar, es hora de hacer una confesión. Tenía muchas ganas de titular esta charla "¿Qué tienen en común los científicos de caracterización de procesos con los científicos de la NASA?", pero el vínculo era demasiado tenue y tal vez hubiera resultado un poco desconcertante. No obstante, sigo utilizando los conceptos aquí. Por eso tenemos imágenes de meteoritos en la primera diapositiva. Esta es mi metáfora. Estoy mirando los cráteres de impacto y los estoy comparando con las tasas de impacto porque necesitamos divertirnos un poco.
¿Qué está pasando aquí? Tenemos un meteorito muy similar, y podría caer en la Tierra, Marte o la Luna, y las condiciones serían diferentes. Aquí tienes, en primer lugar, una atmósfera o muy poca atmósfera o ninguna atmósfera en absoluto, lo que cambia la explosión, lo que cambia el comportamiento del meteorito. Si estás en la Tierra, el cráter de impacto que se formará podría tener un impacto realmente enorme en lo que está sucediendo alrededor porque en la Tierra, tenemos gente viviendo alrededor.
Con esto en mente, ¿qué vamos a ver hoy? Veremos otra razón estadística. A los estadísticos les gustan las razones. Luego veremos qué mide específicamente la razón de impacto. Luego responderemos a esta pregunta: "¿Puedo calcular esto en JMP?" La respuesta es, obviamente, que puede, y puede hacerlo de varias maneras. Puede hacerlo de la manera tediosa. Lo guiaré por este proceso manualmente. Omitiré este paso porque no tenemos tiempo, pero hemos creado un flujo de trabajo para facilitar un poco las cosas con la administración de tablas.
Luego le pasaré la palabra a Sam, quien te mostrará la manera divertida de calcular la relación de impacto haciendo clic en su complemento JMP. Aquí tenemos un dibujo a mano alzada que hice yo mismo para mostrarte algo que probablemente hayas visto muchas veces, porque se trata de un gráfico de control, y son bastante omnipresentes en el mundo de los estadísticos. Aquí tenemos un resultado que va cambiando con el tiempo a medida que creamos más lotes, por ejemplo.
En este gráfico tenemos zonas. En la zona violeta azulada, tenemos dónde se sitúa nuestro resultado. Como se trata de datos distribuidos normalmente, podemos hacer una predicción sobre dónde se situará a medida que transcurra el tiempo. Aquí tenemos estadísticas que nos dan una predicción de qué tan amplia puede llegar a ser esta zona azul. Luego, en verde, entre dos especificaciones, tenemos una zona segura de tipo cliente. Los clientes tienden a darnos especificaciones, o podríamos haber calculado un criterio de aceptación a partir del trabajo de desarrollo, por ejemplo.
Lo que queremos hacer es asegurarnos de que nuestro proceso se encuentra en una zona que está bien contenida por la zona segura cuando estamos realizando el control del proceso. Una relación que se utiliza para esto es el índice de capacidad, como el CPK, el PPK, que básicamente relaciona esta zona con esta zona verde. Este es el más similar que encontré al índice de impacto. Aquí tenemos casi el mismo gráfico. Se puede decir que he reutilizado el mismo dibujo. Lo único que cambia aquí es que esta vez, en lugar de tener estadísticas que predicen la dispersión de los datos, tenemos estadísticas que predicen la forma de los datos. Estamos modelando lo que le sucede a una salida específica cuando cambias la entrada y mueves su valor de bajo a alto.
Esto es lo que harías si estuvieras realizando un DoE y cambiaras la condición operativa sistemáticamente. Más particularmente para la caracterización del proceso, este rango de bajo a alto sería un rango que quieres probar que es aceptable. Aquí tenemos una ecuación al final, y tenemos una zona azul, el mínimo y el máximo previstos para nuestra respuesta, y todavía tenemos una zona verde, lo que es aceptable para darnos un producto de calidad al final del proceso.
Estamos comprobando, de nuevo, si la desviación ocupa una proporción aceptable de nuestra zona segura o de juego. Esta relación de impacto puede ayudarnos a comparar el impacto de diferentes factores porque obtendremos un modelo de este tipo para todos nuestros factores. También podría ser un criterio para clasificar esos factores si esto forma parte de un DoE. ¿Qué mide realmente esta relación de impacto? Tenías una pista en la diapositiva anterior, pero volvemos a los meteoritos.
Nuestros científicos de la NASA han calculado dos cosas: el lugar donde nuestro meteorito impactará el planeta y también el radio del cráter de impacto. Han dicho que, mientras estemos dentro de esta zona verde segura, quien viva fuera estará bien. Por supuesto, eso no sería cierto en el caso de un meteorito, pero quédense conmigo un segundo. Lo que estamos calculando aquí es básicamente el radio del cráter en relación con el radio de la zona segura. Esperamos que este número sea mucho menor que este, que la zona segura sea muy grande en comparación con el cráter de impacto.
Ahora bien, lo que ocurre es que podríamos habernos equivocado en el objetivo, de modo que los científicos de la NASA predijeron que el meteorito caería aquí, pero cayó aquí. Aunque el área segura probablemente era lo suficientemente grande para un meteorito/proceso centrado, en este caso, en realidad tenemos el cráter de impacto bastante fuera del área segura. Espero que no vivas por aquí. Otra posibilidad, y hay muchas otras posibilidades, sería que estuviéramos en el objetivo aquí, pero que hubiéramos calculado mal el cráter. El cráter es mucho más grande de lo que pensábamos que sería. De nuevo, está fuera del área segura, y el radio del área segura es en realidad más pequeño que el del cráter de aquí. Esto es solo una imagen, y veamos cómo se vería en un gráfico. El mismo gráfico de nuevo con algunas flechas adicionales aquí y algunas ecuaciones.
En términos sencillos, su índice de impacto es en realidad el cociente entre el tamaño del efecto y la distancia con respecto a su especificación o criterio de aceptación. El tamaño del efecto aquí son esas delgadas flechas azules y naranjas en este caso. Es la distancia desde la predicción mínima hasta el centro o la predicción máxima hasta el centro. Estamos haciendo un cociente entre esto y la distancia desde el centro hasta su especificación en ambos lados. En este caso, esta distancia ocupa el 70 % de nuestra zona segura. Ese no es un buen índice de impacto aquí. Aquí es solo el 40 %, sigue siendo una cifra bastante alta. Pero para ser justos, vamos a tener que tomar el máximo de esos dos valores, por lo que consideraríamos el 70 % aquí.
Este es mi dibujo a mano. Vayamos a un gráfico JMP real. Este es un gráfico de salto y es solo una parte de un generador de perfiles que obtendría al finalizar un análisis DoE. En este caso, tenemos un poco de curvatura, pero las zonas son las mismas. Si queremos calcular nuestra relación de impacto con el mínimo aquí, la predicción es que el mínimo al centro está tomando aproximadamente el 42% del mínimo a la especificación. En el otro extremo, la predicción del mínimo al tope o máximo solo está tomando aproximadamente el 7% de nuestra zona segura.
No obstante, vamos a tener que informar sobre esta cifra, por lo que sigue siendo una cifra bastante elevada. La pregunta que estamos intentando responder aquí es: ¿estamos en el camino correcto con un impacto pequeño en comparación con lo que es aceptable? Ahora, saldré de aquí y entraré en JMP para mostrarles cómo llevar a cabo esto manualmente, de la manera más dolorosa. Aquí tenemos un cuadro de DoE estándar, cinco factores. Solo hemos compartido aquí cuatro respuestas. Todo está anonimizado, así que lo siento mucho, pero los números se ven un poco raros porque todos están entre menos uno y uno.
Pero lo que buscamos aquí es que tengamos límites de respuesta especificados para que podamos jugar con el objetivo de esas respuestas. Maximizar para la mayoría de ellas para algo como impurezas que podrían minimizarse, y es posible que ni siquiera nos interese qué tan alto lleguen. No voy a repasar el modelado porque no es para eso que estamos aquí. Lo siento por eso. Script equivocado. Ahí lo tenemos. Ya lo hemos ajustado, y este es el ejemplo que tenía en las notas, así que me quedaré con este.
Aquí estamos usando el generador de perfiles para obtener todos los números que necesitamos para nuestra ecuación. Estamos estableciendo esto en el punto central y vamos a registrar ese número. Listo. Esas son las condiciones del punto central. Todo se mantiene en el punto central aquí. Voy a pedirle a JMP que recuerde esta configuración. Voy a llamar a esto Punto central de carga porque estoy interesado en la carga aquí. Ese es mi primero. Luego, manualmente, realmente no necesitaría pedirle ayuda a JMP aquí. Todo está en el punto central para esos dos. Podría simplemente mover esto aquí al mínimo y puedo registrarlo nuevamente como el valor mínimo. Ese es mi mínimo de carga aquí.
Para el máximo, es un poco más complicado. Podría intentar hacer esto. Podría hacerlo más grande e intentar asegurarme de llegar al máximo aquí. Pero voy a confiar en JMP para esto. Voy a hacer clic en Control + Alt y haré clic en los otros dos gráficos aquí, y voy a bloquear la configuración del factor en el punto central. Porque solo me interesa lo que está haciendo la carga y cuál es el máximo para la carga cuando todo lo demás se mantiene en ese punto. Luego voy a usar el maximizador en JMP.
Ahí lo tenemos. Podría haberlo alcanzado a mano, pero ahora sé que está exactamente en el máximo. Voy a guardar este también. Tenemos el máximo. Ahora tengo casi todo lo que necesito. Si lo haces manualmente, lo haces para cada factor o parámetro de ecuación en esta lista para cada respuesta. Si tienes modelos bastante grandes y quizás tengas entre 5 y 10 respuestas, esto se convierte en mucho trabajo muy rápidamente.
Entonces tendrías que exportar todos estos datos a una tabla. Usarías esto si tuvieras muchos hechos, pero solo tengo uno, así que voy a hacer esto. Aquí tienes toda la información que necesitas en el formato incorrecto. Lo que necesitamos conservar es ¿dónde están estos? Entonces queremos este número aquí. Ahora, usarías transponer en tablas aquí, pero no lo voy a hacer porque ya lo he hecho con anticipación. Solo quiero compartir eso rápidamente contigo. ¿Por qué no está contento? Aquí tenemos los datos de transposición. Tenemos todas las etiquetas de la tabla aquí.
De manera manual, tendríamos que sumar nuestra especificación inferior y superior. A partir de estos valores, el mínimo y el máximo y el CP, podemos calcular el numerador de las proporciones, el denominador y las proporciones en sí. Si sumamos la distancia pequeña con la distancia grande, obtenemos la proporción de impacto bajo. Luego, simplemente usamos la fórmula para obtener el máximo de las dos y tendríamos que repetirla para cada una de ellas. Ahora le dejo la palabra a Sam, quien podría mostrarte lo mucho más fácil que es hacer esto una vez que tienes un complemento. ¿Sam?
Gracias, Gwen. Como mencionó Gwen, decidimos crear un complemento para automatizar esta tarea. Ahora daré una demostración rápida de cómo funciona el complemento. Estoy usando la misma tabla de datos con la que Gwen acaba de trabajar. La razón por la que decidimos crear un complemento fue simplemente porque lo hace más fácil que ejecutar un script directamente desde una ventana de script. Lo bueno de tener un complemento también es que cuando pasas el cursor sobre el nombre del complemento, puedes agregar una información sobre herramientas. En este caso, la información sobre herramientas simplemente te indica la ventana correcta desde la que se debe ejecutar el complemento.
De hecho, si intento hacer clic, verás que no pasa nada porque no estoy en el lugar correcto. Si ahora abro el script con esos modelos que creamos antes, puedes ver que ahora puedo ejecutar el script y luego se ejecutará correctamente. En primer lugar, se le presentan al usuario algunas ventanas que tienen algunas instrucciones y luego algunas áreas para la entrada del usuario. La primera ventana solo tiene algunas instrucciones sobre los requisitos para la tabla de datos subyacente.
Por ejemplo, las columnas de factores deben codificarse y también deben ingresarse las unidades como propiedades de columna. Si ese no es el caso para ninguna de las columnas, puede simplemente presionar Cancelar y puedo volver atrás y realizar esos cambios. Pero en este caso, sé que todas están codificadas correctamente. Presionaré Ejecutar nuevamente y luego haré clic en Aceptar. Luego, la siguiente ventana solo tiene el área para ingresar la configuración de los factores. Notará que tenemos una entrada aquí para factores categóricos.
No es posible calcular una relación de impacto para un factor categórico. Sin embargo, todos los factores categóricos incluidos en los modelos deben fijarse en una configuración particular, por lo que esto solo permite al usuario ingresarla aquí. Para los factores restantes que fueron factores continuos que se evaluaron en el DoE, puede ver que tenemos un área para ingresar esas configuraciones. Puede ver que el script lee automáticamente el valor mínimo y máximo simplemente leyendo la tabla. Lo que también ha hecho es calcular el punto central simplemente mirando el medio entre el mínimo y el máximo.
Sin embargo, en algunos casos, el punto central podría no estar en el centro exacto del rango. En este caso, ese era el caso de la carga, así que lo cambiaré a 20. Es posible editar cualquiera de estos valores. El beneficio de poder cambiar la entrada aquí es que si ejecutamos la suma y obtenemos índices de impacto que son demasiado altos para algunos de los factores, podemos simplemente ejecutar la suma nuevamente y cambiaré los valores aquí, intentar evaluar un rango de factor reducido, por ejemplo. Luego, veré si el índice de impacto se ve mejor en ese nuevo rango.
Pero mantendré el resto de los valores iguales y haré clic en Aceptar. Luego, la ventana final solo tendrá la entrada para los criterios de aceptación de la respuesta. Pondré esos valores ahora. Si solo hay un criterio, puedes poner uno y dejar el otro en blanco. Si no tienes criterios, puedes dejar ambos cuadros en blanco y aún así podrá calcular la relación de impacto. En ese caso, es solo la diferencia porcentual entre la respuesta del punto de ajuste y la predicción mínima o máxima. No ofrece exactamente la misma medición en términos de importancia práctica, pero aún así será calculada por el script.
Ahora, si hago clic en Aceptar, puede ver que se ha generado la tabla de resumen. Pero si vuelvo a la ventana desde la que ejecuté el complemento, puede ver que debajo de cada generador de perfiles de predicción, se han recordado las configuraciones. Estas son las configuraciones que se usaron para obtener la predicción mínima y máxima para cada factor en el modelo. Esto es útil para que luego pueda volver atrás y ver cómo se realizaron los cálculos. Es bueno poder revisar eso.
Pero ahora daré una descripción general de cómo funciona realmente el script. En primer lugar, el script recorre cada modelo de respuesta en la ventana. Luego, establece la conveniencia de maximizar la respuesta. Luego, el script recorre cada término del modelo. Para el primer término, que es la carga en este caso, desbloquea la configuración del factor, por lo que puede moverse libremente. Luego, todos los demás factores se bloquean en su configuración de punto de ajuste. Luego, el script ejecuta la función Maximizar y recordar. Ahora puede ver que esa configuración se ha guardado debajo del generador de perfiles y puede ver que hemos maximizado esta respuesta simplemente cambiando el factor de carga en este caso.
Luego, continúa esa operación para cada término del modelo y luego se establece la conveniencia de minimizar la respuesta, y luego se repite ese proceso nuevamente. Luego, se evalúa nuevamente cada término para obtener la predicción mínima. Luego, finalmente, se actualizan todas esas configuraciones recordadas para que el nombre sea significativo. Luego, mostramos el nombre del factor y si el objetivo era minimizar o maximizar la respuesta. Luego, finalmente, todo este proceso se repite para cada modelo de respuesta contenido en la ventana. Así es como funciona el script. Ahora volveré a la tabla de resumen que se generó.
Aquí puede ver que todos los datos se recopilan y se envían a esta tabla. Cada fila contiene un factor particular para cada modelo de respuesta que se evaluó. Tenemos columnas para los criterios de aceptación ingresados por el usuario. Luego hay columnas que muestran la predicción en los valores de referencia y luego la predicción mínima y máxima para cada factor incluido en ese modelo de respuesta. Luego, las columnas restantes son solo fórmulas. Aquí tenemos la diferencia entre la predicción mínima y la predicción del punto de referencia y, de manera similar, la predicción máxima y la predicción del punto de referencia.
Las dos últimas columnas son solo los índices de impacto calculados. Tenemos el índice de impacto inferior y el índice de impacto superior. Notarás que, donde solo tenemos un criterio, por lo que para la impureza en este caso, dado que solo tenemos un criterio de aceptación superior, solo calculamos un índice de impacto superior. Luego, la columna final es solo el índice de impacto general. Este es simplemente el máximo del índice de impacto inferior y superior. Terminaré esta parte de la charla resumiendo los beneficios de usar un complemento para automatizar esta tarea y continuar.
En primer lugar, usar el complemento es mucho más rápido que hacerlo manualmente. En segundo lugar, esto permite que la tarea se repita mucho más fácilmente. Como mencioné, si ejecuta el complemento y obtiene índices de impacto que se consideran demasiado altos, puede volver a ejecutar el complemento, cambiar la configuración del factor y ver si puede obtener índices de impacto aceptables. Por último, hay muchas menos posibilidades de que se produzcan errores porque no es necesario realizar ninguna transcripción ni manipulación de datos. El script recopila todos esos datos y luego los coloca en esta tabla que obtiene el resultado al final.
Bueno, gracias. Con esto concluye mi parte de la charla. Le daré la palabra a Gwen para que resuma las cosas. Gracias.
Además de lo que dijo Sam, una gran ventaja del complemento es que se pueden repetir los cálculos y cambiar lo que se ingresa en las primeras tablas. Se pueden cambiar los ajustes de los factores si se desea, por ejemplo, incorporar lo que se había establecido para mostrar dónde está el rango aceptable comprobado, un poco fuera de su rango operativo normal, presumiblemente. La otra cosa que se puede cambiar es revisar las especificaciones o los criterios de aceptación. Si los índices de impacto fueran realmente altos, entonces la zona segura tal vez hubiera sido demasiado pequeña para operar cómodamente en ella.
Podrías ampliar las especificaciones y comprobar si todos tus índices de impacto son un poco más pequeños. De hecho, probablemente podrías utilizar esto como justificación para cambiar esos criterios de aceptación. Otra cosa que puedes hacer con esos índices de impacto es utilizarlos colectivamente como criterio para clasificar los parámetros de proceso probados. Puede ser que un parámetro de proceso sea crítico, muy crítico o no crítico al final del DoE porque su impacto es muy pequeño. Creo que con esto concluye lo que teníamos que decir sobre los índices de impacto hoy. Ambos estamos disponibles para responder preguntas si tienes alguna. Muchas gracias.