Fujifilm Diosynth Biotechnologies est une entreprise de développement et de fabrication sous contrat (CDMO) qui dispose d'un département de caractérisation des procédés dédié à la réalisation d'études de caractérisation des procédés (PCS). L'objectif des PCS est de démontrer que les procédés de nos clients sont résistants aux changements de paramètres ou à leurs plages de fonctionnement normales.
Les PCS utilisent généralement des plans d'expériences (DOE) pour étudier les effets des intrants du processus sur les attributs de qualité (QA) et les indicateurs de performance du processus (PPI). L'analyse DOE est un outil utile pour identifier les intrants qui ont un effet sur les QA/PPI, mais elle est principalement quantitative.
En plus de l'analyse DOE traditionnelle, le calcul du ratio d'impact (IR) pour chaque entrée fournit une évaluation quantitative et qualitative et peut aider à déterminer si un paramètre est critique ou non. L'IR fournit une mesure de la taille de l'effet par rapport à une plage acceptable.
Effectuer les calculs manuellement prend du temps et est sujet à des erreurs. Nous présenterons un outil d'automatisation capable d'extraire les informations requises d'un modèle DOE et de calculer l'IR. Une interface permet à l'utilisateur de personnaliser la manière dont les résultats sont calculés.
Bonjour à tous. Je suis vraiment heureux d'être ici aujourd'hui avec mon collègue Sam. Aujourd'hui, nous allons parler des ratios d'impact. En gros, quel est l'impact de vos facteurs DoE sur vos résultats ou réponses DoE ? Je présenterai le concept, les calculs et les exemples dans JMP, puis je transmettrai les choses à Sam qui vous guidera dans l'automatisation de ce processus à l'aide de JSL et vous montrera comment il a procédé dans un module complémentaire.
Tout d'abord, il est temps de se confesser. Je voulais vraiment intituler cette conférence « Qu'ont en commun les scientifiques de la caractérisation des processus et les scientifiques de la NASA ? » Mais le lien était trop ténu et peut-être aurait-il été un peu déroutant. Néanmoins, j'utilise toujours ces concepts ici. C'est pourquoi nous avons des photos de météores sur la première diapositive. C'est ma métaphore. Je regarde les cratères d'impact et je les compare aux taux d'impact parce que nous devons nous amuser un peu.
Que se passe-t-il ici ? Nous avons un météore très similaire, et il pourrait tomber sur la Terre, sur Mars ou sur la Lune, et les conditions seraient différentes. Ici, vous avez, tout d'abord, une atmosphère ou très peu d'atmosphère ou pas d'atmosphère du tout, ce qui change l'explosion, ce qui change le comportement du météore. Si vous êtes sur Terre, le cratère d'impact qui se formera pourrait avoir un impact vraiment énorme sur ce qui se passe autour de nous, car sur Terre, nous avons des gens qui vivent autour.
En gardant cela à l'esprit, qu'allons-nous voir aujourd'hui ? Nous allons examiner un autre ratio statistique. Les statisticiens aiment leurs ratios. Ensuite, nous verrons ce que mesure précisément le ratio d'impact. Ensuite, nous répondrons à cette question : « Puis-je calculer cela dans JMP ? » La réponse est, bien évidemment, que vous pouvez le faire, et vous pouvez le faire de plusieurs manières. Vous pouvez le faire de manière pénible. Je vais vous expliquer cela manuellement. Je vais sauter cette étape car nous n'avons pas le temps, mais nous avons créé un flux de travail pour faciliter un peu la gestion des tables.
Ensuite, je passe la parole à Sam, qui vous montrera la manière heureuse de calculer le ratio d'impact en cliquant sur son add-in JMP. Ici, nous avons un mauvais dessin à la main que j'ai fait moi-même pour vous montrer quelque chose que vous avez probablement vu de nombreuses fois, car il s'agit d'un graphique de contrôle, et ils sont assez omniprésents dans le monde des statisticiens. Ici, nous avons un résultat, et il évolue au fil du temps au fur et à mesure que nous créons plus de lots, par exemple.
Nous avons des zones sur ce graphique. Dans la zone bleu-violet, nous avons la zone où se situe notre production. Comme il s'agit de données distribuées normalement, nous pouvons faire une prédiction sur la zone où elle se situera au fil du temps. Ici, nous avons des statistiques qui nous donnent une prédiction de l'ampleur que pourrait prendre cette zone bleue. Ensuite, en vert, entre deux spécifications, nous avons une zone de sécurité de type client. Les clients ont tendance à nous donner des spécifications, ou nous pouvons avoir calculé des critères d'acceptation à partir de travaux de développement, par exemple.
Ce que nous voulons faire, c'est nous assurer que notre processus se trouve dans une zone qui est bien contenue dans la zone de sécurité lorsque nous effectuons le contrôle du processus. Un ratio utilisé pour cela est l'indice de capacité, comme le CPK, le PPK, qui consiste essentiellement à comparer cette zone à cette zone verte. C'est ce que j'ai trouvé de plus similaire au ratio d'impact. Ici, nous avons presque le même graphique. Vous pouvez voir que j'ai réutilisé le même dessin. La seule chose qui change ici est que cette fois, au lieu d'avoir des statistiques prédisant la propagation des données, nous avons des statistiques prédisant la forme des données. Nous modélisons ce qui arrive à une sortie spécifique lorsque vous modifiez l'entrée et que vous déplacez sa valeur de faible à élevée.
C'est ce que vous feriez si vous faisiez un DoE et que vous changiez systématiquement les conditions de fonctionnement. Plus particulièrement pour la caractérisation des procédés, cette plage allant du plus bas au plus haut serait une plage que vous voudriez prouver comme étant acceptable. Ici, nous avons une équation à la fin, et nous avons une zone bleue, le minimum au maximum prévu pour notre réponse, et nous avons toujours une zone verte, ce qui est acceptable pour nous donner un produit de qualité à la fin du procédé.
Nous vérifions, encore une fois, si l'écart occupe une proportion acceptable de notre zone de sécurité ou de jeu. Ce ratio d'impact peut nous aider à comparer l'impact de différents facteurs, car nous obtiendrons un tel modèle pour tous nos facteurs. Il pourrait également être un critère de classification de ces facteurs si cela fait partie d'un DoE. Que mesure réellement ce ratio d'impact ? Vous aviez un indice sur la diapositive précédente, mais nous revenons aux météorites.
Nos scientifiques de la NASA ont calculé deux choses : l'endroit où notre météorite va impacter la planète et le rayon du cratère d'impact. Ils ont dit que tant que nous sommes bien dans cette zone verte de sécurité, quiconque vit à l'extérieur s'en sortira. Bien sûr, ce ne serait pas vrai pour une météorite, mais restez avec moi une seconde. Ce que nous calculons ici est essentiellement le rayon du cratère par rapport au rayon de la zone de sécurité. Nous espérons que ce chiffre est bien plus petit que celui-ci. Que la zone de sécurité est très grande par rapport au cratère d'impact.
Il se pourrait que nous soyons hors cible, de sorte que les scientifiques de la NASA avaient prédit que la météorite tomberait ici, mais elle est tombée ici. Même si la zone de sécurité était probablement suffisamment grande pour une météorite ou un processus centré, dans ce cas-ci, nous avons en fait le cratère d'impact bien en dehors de la zone de sécurité. J'espère que vous n'habitez pas dans le coin. Une autre possibilité, et il y en a beaucoup d'autres, serait que nous soyons sur la cible ici, mais que nous ayons mal calculé le cratère. Le cratère est beaucoup plus grand que ce que nous pensions. Encore une fois, il se trouve en dehors de la zone de sécurité, et le rayon de la zone de sécurité est en fait plus petit que celui du cratère ici. Ce n'est qu'une image, et voyons à quoi cela ressemblerait sur un graphique. Le même graphique encore une fois avec quelques flèches supplémentaires ici et quelques équations.
En termes simples, votre ratio d'impact est en réalité le rapport entre la taille de l'effet et la distance par rapport à votre spécification ou à votre critère d'acceptation. La taille de l'effet correspond ici à ces fines flèches bleues et orange. Il s'agit de la distance entre la prédiction minimale et le centre ou la prédiction maximale et le centre. Nous rapportons cela à la distance entre le centre et votre spécification de chaque côté. Dans ce cas-ci, cette distance occupe 70 % de notre zone de sécurité. Ce n'est pas un bon ratio d'impact ici. Ici, il n'y a que 40 %, c'est quand même un chiffre assez élevé. Mais pour être juste, nous allons devoir prendre le maximum de ces deux valeurs, donc nous considérerions 70 % ici.
Voici mon dessin à la main. Passons à un véritable graphique JMP. Il s'agit d'un graphique de sauts, et ce n'est qu'une partie d'un profileur que vous obtiendriez à la fin d'une analyse DoE. Dans ce cas, nous avons un peu de courbure, mais les zones sont les mêmes. Si nous voulons calculer notre ratio d'impact au minimum ici, la prédiction est que le minimum au centre prend environ 42 % du minimum à la spécification. À l'autre extrémité, la prédiction du minimum au sommet ou du maximum ne prend qu'environ 7 % de notre zone de sécurité.
Néanmoins, nous allons devoir signaler ce chiffre, qui reste donc assez élevé. La question à laquelle nous essayons de répondre ici est la suivante : sommes-nous sur la bonne voie avec un impact faible par rapport à ce qui est acceptable ? Maintenant, je vais quitter cet endroit et aller dans JMP pour vous montrer comment effectuer cette opération manuellement, de manière pénible. Nous avons ici un DoE standard, cinq facteurs. Nous n'avons partagé ici que quatre réponses. Tout est anonymisé, donc je suis vraiment désolé, mais les chiffres semblent un peu bizarres car ils sont tous compris entre moins un et un.
Mais ce que nous recherchons ici, c'est que nous ayons des limites de réponse spécifiées afin que nous puissions jouer avec l'objectif de ces réponses. Maximisez la plupart d'entre elles pour quelque chose comme des impuretés qui pourraient être minimisées, et nous pourrions même ne pas être intéressés par la hauteur à laquelle elles vont. Je ne vais pas passer en revue la modélisation car ce n'est pas le but de notre travail. Désolé pour ça. Mauvais script. Et voilà. Nous avons déjà ajusté cela, et c'est l'exemple que j'avais dans les notes, donc je vais m'en tenir à celui-ci.
Ici, nous utilisons le profileur pour obtenir tous les nombres dont nous avons besoin pour notre équation. Nous définissons ceci au point central et nous allons enregistrer ce nombre. Et voilà. Ce sont les conditions du point central. Tout est conservé au point central ici. Je vais demander à JMP de mémoriser ce paramètre. Je vais appeler cela Point central de charge car je suis intéressé par la charge ici. C'est mon premier. Ensuite, manuellement, je n'aurais pas vraiment besoin de demander de l'aide à JMP ici. Tout est au point central pour ces deux-là. Je pourrais simplement déplacer ceci ici au minimum et je peux l'enregistrer à nouveau comme valeur minimale. C'est ma charge minimale ici.
Pour le maximum, c'est un peu plus compliqué. Je pourrais essayer de faire ça. Je pourrais agrandir ça et essayer de m'assurer d'atteindre le maximum ici. Mais je vais faire confiance à JMP pour celui-ci. Je vais cliquer sur Ctrl + Alt, puis sur les deux autres graphiques ici, et je vais verrouiller les paramètres de facteur au point central. Parce que je ne m'intéresse qu'à ce que fait la charge et à ce que représente le maximum pour la charge lorsque tout le reste est maintenu à ce point. Ensuite, je vais utiliser le maximiseur dans JMP.
Et voilà. J'aurais pu atteindre cela à la main, mais maintenant je sais que c'est exactement le maximum. Je vais également sauvegarder celui-ci. Nous avons le maximum. Maintenant, j'ai presque tout ce dont j'ai besoin. Si vous faites cela manuellement, vous le faites pour chaque facteur ou paramètre d'équation de cette liste pour chaque réponse. Si vous avez des modèles assez volumineux et que vous avez peut-être 5 à 10 réponses, cela devient très vite beaucoup de travail.
Ensuite, vous devez exporter toutes ces données dans un tableau. Vous l'utiliseriez si vous en aviez fait beaucoup, mais je n'en ai qu'un, donc je vais faire ça. Ici, vous avez toutes les informations dont vous avez besoin dans le mauvais format. Ce que nous devons garder, c'est où sont-elles ? Ensuite, nous voulons ce numéro ici. Maintenant, vous utiliseriez la transposition dans les tableaux ici, mais je ne vais pas le faire parce que je l'ai déjà fait à l'avance. Je veux juste partager cela rapidement avec vous. Pourquoi n'est-il pas content ? Ici, nous avons les données de transposition. Nous avons toutes les étiquettes du tableau ici.
Manuellement, nous devrions additionner nos spécifications inférieure et supérieure. À partir de celles-ci, du minimum, du maximum et du CP, nous pouvons calculer le numérateur des ratios ici, le dénominateur des ratios et le ratio lui-même. Vous avez la petite distance sur la grande distance qui vous donne votre ratio d'impact faible. Ensuite, vous utilisez simplement la formule pour obtenir le maximum des deux, et vous devez répéter cela pour chacun d'eux. Je laisse maintenant la parole à Sam qui pourrait vous montrer à quel point cela est plus facile à faire une fois que vous avez un module complémentaire pour cela. Sam ?
Merci, Gwen. Comme Gwen l'a mentionné, nous avons décidé de créer un module complémentaire pour automatiser cette tâche. Je vais maintenant vous faire une démonstration rapide du fonctionnement du module complémentaire. J'utilise la même table de données avec laquelle Gwen vient de travailler. La raison pour laquelle nous avons décidé de créer un module complémentaire est simplement parce que cela rend les choses plus faciles que d'exécuter un script directement à partir d'une fenêtre de script. L'avantage d'avoir un module complémentaire est également que lorsque vous passez la souris sur le nom du module complémentaire, vous pouvez ajouter une info-bulle. Dans ce cas, l'info-bulle vous indique simplement la fenêtre correcte à partir de laquelle le module complémentaire doit être exécuté.
En fait, si j'essaie de cliquer dessus, vous verrez que rien ne se passe parce que je ne suis pas au bon endroit. Si j'ouvre maintenant le script avec les modèles que nous avons créés plus tôt, vous pouvez voir que je peux maintenant exécuter le script et qu'il fonctionnera correctement. Tout d'abord, l'utilisateur se voit alors présenter quelques fenêtres contenant des instructions, puis plus tard des zones de saisie utilisateur. La première fenêtre contient simplement des instructions concernant les exigences de la table de données sous-jacente.
Par exemple, les colonnes de facteurs doivent être codées et toutes les unités doivent également être saisies comme propriétés de colonne. Si ce n'est pas le cas pour l'une des colonnes, vous pouvez alors simplement cliquer sur Annuler, et je peux revenir en arrière et effectuer ces modifications. Mais dans ce cas, je sais qu'elles sont toutes codées correctement. Je clique à nouveau sur Exécuter, puis je clique sur OK. Ensuite, la fenêtre suivante contient uniquement la zone de saisie des paramètres de facteurs. Vous remarquerez que nous avons ici une entrée pour les facteurs catégoriels.
Il n'est pas possible de calculer un ratio d'impact pour un facteur catégoriel. Cependant, tous les facteurs catégoriels contenus dans les modèles doivent être fixés à un paramètre particulier, ce qui permet simplement à l'utilisateur de le saisir ici. Pour les facteurs restants qui étaient des facteurs continus évalués dans le DoE, vous pouvez voir que nous avons une zone pour saisir ces paramètres. Vous pouvez voir que le script lit automatiquement la valeur minimale et maximale simplement en lisant le tableau. Ce qu'il a également fait, c'est calculer le point central simplement en regardant le milieu entre le minimum et le maximum.
Cependant, dans certains cas, le point central peut ne pas être exactement au centre de la plage. Dans ce cas, c'était le cas pour la charge, je vais donc changer cela à 20. Il est possible de modifier n'importe laquelle de ces valeurs. L'avantage de pouvoir modifier l'entrée ici est que si nous exécutons l'addition, nous obtenons des ratios d'impact trop élevés pour certains des facteurs. Nous pouvons alors simplement exécuter à nouveau l'addition, et je modifierai les valeurs ici, en essayant d'évaluer une plage de facteurs réduite, par exemple. Ensuite, voyez si le ratio d'impact semble meilleur dans cette nouvelle plage.
Mais je vais garder les autres valeurs identiques et cliquer sur OK. Ensuite, la fenêtre finale contient uniquement les critères d'acceptation de la réponse. Je vais maintenant saisir ces valeurs. S'il n'y a qu'un seul critère, vous pouvez simplement en saisir un et laisser l'autre vide. Si vous n'avez aucun critère, vous pouvez laisser les deux cases vides et le calcul du ratio d'impact sera toujours possible. Dans ce cas, il s'agit simplement de la différence en pourcentage entre la réponse du point de consigne et la prédiction minimale ou maximale. Cela n'offre pas tout à fait la même mesure en termes de signification pratique, mais elle sera toujours calculée par le script.
Maintenant, si je clique sur OK, vous pouvez voir que le tableau récapitulatif a été généré. Mais si je reviens à la fenêtre à partir de laquelle j'ai exécuté le module complémentaire, vous pouvez voir que sous chaque profileur de prédiction, les paramètres ont été mémorisés. Il s'agit des paramètres qui ont été utilisés pour obtenir la prédiction minimale et maximale pour chaque facteur du modèle. Cela est utile pour pouvoir revenir en arrière et voir comment les calculs ont été effectués. C'est bien de pouvoir revoir cela.
Mais maintenant, je vais juste vous donner un aperçu très général du fonctionnement réel du script. Tout d'abord, le script parcourt chaque modèle de réponse dans la fenêtre. Il définit ensuite la désirabilité pour maximiser la réponse. Le script parcourt ensuite chaque terme du modèle. Pour le premier terme, qui est la charge dans ce cas, il déverrouille ensuite les paramètres de facteur, afin qu'il puisse se déplacer librement. Ensuite, tous les autres facteurs sont verrouillés à leur valeur de consigne. Le script exécute ensuite la fonction Maximiser et mémoriser. Vous pouvez voir maintenant que ce paramètre a été enregistré sous le profileur, et vous pouvez voir que nous avons maximisé cette réponse en modifiant simplement le facteur de charge dans ce cas.
Ensuite, cette opération se poursuit pour chaque terme du modèle, puis la désirabilité est définie pour minimiser la réponse, puis ce processus est répété à nouveau. Chaque terme est ensuite évalué à nouveau pour obtenir la prédiction minimale. Enfin, tous ces paramètres mémorisés sont mis à jour afin que le nom soit significatif. Ensuite, nous affichons le nom du facteur et si l'objectif était de minimiser ou de maximiser la réponse. Enfin, tout ce processus est répété pour chaque modèle de réponse contenu dans la fenêtre. C'est ainsi que fonctionne le script. Je vais maintenant revenir au tableau récapitulatif qui a été généré.
Vous pouvez voir ici que toutes les données sont simplement collectées et exportées dans ce tableau. Chaque ligne contient un facteur particulier pour chaque modèle de réponse évalué. Nous avons des colonnes pour les critères d'acceptation saisis par l'utilisateur. Il y a ensuite des colonnes indiquant la prédiction aux paramètres de consigne, puis la prédiction minimale et maximale pour chaque facteur contenu dans ce modèle de réponse. Ensuite, les colonnes restantes ne sont que des formules. Nous avons ici la différence entre la prédiction minimale et la prédiction de consigne, puis, de la même manière, la prédiction maximale et la prédiction de consigne.
Ensuite, les deux dernières colonnes ne sont que les ratios d'impact calculés. Nous avons le ratio d'impact inférieur et le ratio d'impact supérieur. Vous remarquerez que là où nous n'avons qu'un seul critère, donc pour l'impureté dans ce cas, puisque nous n'avons qu'un critère d'acceptation supérieur, nous calculons uniquement un ratio d'impact supérieur. Ensuite, la dernière colonne ne contient que le ratio d'impact global. Il s'agit simplement du maximum du ratio d'impact inférieur et supérieur. Je terminerai cette partie de l'exposé en résumant les avantages de l'utilisation d'un module complémentaire pour automatiser cette tâche et passer à autre chose.
Premièrement, l'utilisation du module complémentaire est beaucoup plus rapide que l'exécution manuelle. Deuxièmement, cela permet de répéter la tâche beaucoup plus facilement. Comme je l'ai mentionné, si vous exécutez le module complémentaire et obtenez des ratios d'impact considérés comme trop élevés, vous pouvez alors simplement réexécuter le module complémentaire, modifier les paramètres de facteur et voir si vous pouvez obtenir des ratios d'impact acceptables. Enfin, il y a beaucoup moins de risques d'erreurs, car vous n'avez pas besoin de procéder à une transcription ou à une manipulation des données. Le script collecte toutes ces données, puis les place dans ce tableau qui obtient une sortie à la fin.
Ok, merci. Ceci conclut ma partie de l'exposé. Je vais laisser la parole à Gwen pour résumer les choses. Merci.
En plus de ce que Sam a dit, un des grands avantages du module complémentaire est que vous pouvez répéter les calculs et modifier ce que vous avez saisi dans les deux premiers tableaux. Vous pouvez modifier les paramètres de facteur si vous le souhaitez, par exemple, pour intégrer ce que vous aviez défini pour montrer où se situe votre plage acceptable prouvée, un peu en dehors de votre plage de fonctionnement normale, vraisemblablement. L'autre chose que vous pouvez modifier est de réviser vos spécifications ou vos critères d'acceptation. Si vos ratios d'impact étaient vraiment élevés, votre zone de sécurité aurait peut-être été un peu trop petite pour fonctionner confortablement.
Vous pourriez publier les spécifications et vérifier si tous vos ratios d'impact sont un peu plus petits. Vous pourriez probablement utiliser cela comme justification pour modifier ces critères d'acceptation. Une autre chose que vous pouvez faire avec ces ratios d'impact est de les utiliser collectivement comme critère pour classer vos paramètres de processus testés. Il se peut qu'un paramètre de processus soit critique, hautement critique ou non critique à la fin du DoE parce que son impact est très faible. Je pense que cela conclut ce que nous avions à dire sur les ratios d'impact aujourd'hui. Nous sommes tous les deux disponibles pour répondre à vos questions si vous en avez. Merci beaucoup.