Fujifilm Diosynth Biotechnologies est une entreprise de développement et de fabrication à façon (CDMO) qui dispose d'un département dédié à la caractérisation des procédés, spécialisé dans la réalisation d'études de caractérisation des procédés (PCS). L'objectif des PCS est de démontrer la robustesse des procédés de nos clients face aux variations des paramètres ou de leurs plages de fonctionnement normales.
Les systèmes de production utilisent fréquemment la méthode des plans d'expériences (DOE) pour étudier l'influence des intrants sur les attributs de qualité (AQ) et les indicateurs de performance des procédés (IPP). L'analyse DOE est un outil précieux pour identifier les intrants ayant un impact sur les AQ/IPP, mais elle est principalement quantitative.
En complément de l'analyse DOE traditionnelle, le calcul du ratio d'impact (RI) pour chaque paramètre d'entrée fournit une évaluation quantitative et qualitative et peut aider à déterminer si un paramètre est critique ou non. Le RI permet de mesurer l'ampleur de l'effet par rapport à une plage acceptable.
Effectuer les calculs manuellement est fastidieux et source d'erreurs. Nous présenterons un outil d'automatisation capable d'extraire les informations nécessaires d'un modèle DOE et de calculer l'IR. Une interface permet à l'utilisateur de personnaliser le mode de calcul des résultats.
Bonjour à tous. Je suis ravi d'être ici aujourd'hui avec mon collègue Sam. Nous allons parler aujourd'hui des ratios d'impact. En d'autres termes, quel est l'impact des facteurs de votre plan d'expériences sur les résultats ou les réponses de ce plan ? Je présenterai le concept, les calculs et des exemples dans JMP, puis je laisserai la parole à Sam qui vous montrera comment automatiser ce processus avec JSL et comment il l'a implémenté dans un module complémentaire.
Tout d'abord, une confession. J'aurais vraiment aimé intituler cette présentation « Qu'ont en commun les scientifiques spécialisés dans la caractérisation des processus et les scientifiques de la NASA ? » Mais le lien était trop ténu, et cela aurait peut-être été un peu déroutant. Néanmoins, j'utilise tout de même ces concepts. C'est pourquoi la première diapositive présente des images de météorites. C'est ma métaphore. J'observe les cratères d'impact et je les compare aux taux d'impact, car il faut bien s'amuser un peu.
Que se passe-t-il ? Nous avons un météore très similaire, qui pourrait tomber sur Terre, sur Mars ou sur la Lune, et les conditions seraient différentes. Ici, il y a d'abord la présence ou l'absence d'atmosphère, ce qui modifie l'explosion et donc le comportement du météore. Sur Terre, le cratère d'impact qui se formerait pourrait avoir des conséquences considérables sur l'environnement, car des êtres humains vivent à proximité.
Compte tenu de cela, que allons-nous aborder aujourd'hui ? Nous allons examiner un autre ratio statistique. Les statisticiens apprécient les ratios. Ensuite, nous verrons ce que mesure précisément le ratio d'impact. Puis, nous répondrons à la question : « Puis-je calculer cela dans JMP ? » La réponse est évidemment oui, et il existe plusieurs façons de le faire. Vous pouvez procéder manuellement, mais c'est fastidieux. Je passerai cette étape par manque de temps, mais nous avons créé un flux de travail pour simplifier la gestion des tables.
Je vais ensuite passer la main à Sam, qui vous montrera la méthode la plus simple pour calculer le ratio d'impact en utilisant son module complémentaire JMP. Voici un schéma approximatif que j'ai réalisé moi-même pour vous montrer un outil que vous avez probablement déjà vu de nombreuses fois : la carte de contrôle. Ces cartes sont omniprésentes dans le monde des statisticiens. On y voit un résultat qui évolue au fil du temps, par exemple à mesure que nous créons de nouveaux lots.
Ce graphique présente des zones. La zone bleu-violet correspond à l'emplacement de nos résultats. Comme ces données suivent une distribution normale, nous pouvons prédire leur évolution dans le temps. Des statistiques nous permettent d'estimer l'étendue potentielle de cette zone bleue. La zone verte, entre deux spécifications, représente la zone de sécurité définie par le client. Les clients nous fournissent généralement des spécifications, ou nous pouvons avoir calculé des critères d'acceptation à partir des travaux de développement, par exemple.
Notre objectif est de garantir que notre processus se situe dans une zone entièrement contenue dans la zone de sécurité lors du contrôle de processus. L'un des ratios utilisés à cette fin est l'indice de capabilité, comme le CPK ou le PPK, qui compare cette zone à la zone verte. C'est le ratio d'impact le plus proche que j'aie trouvé. Le graphique est quasiment identique ; vous remarquerez que j'ai réutilisé le même schéma. La seule différence réside dans le fait que, cette fois, au lieu d'utiliser des statistiques prédisant la dispersion des données, nous utilisons des statistiques prédisant leur forme. Nous modélisons l'impact d'une modification de l'entrée sur une sortie spécifique, en faisant passer sa valeur de basse à haute.
Voici comment procéder lors d'un plan d'expériences (DoE) avec modification systématique des conditions opératoires. Plus précisément, pour la caractérisation d'un procédé, cette plage de valeurs (basse à haute) représente ce qu'il faut valider. On obtient ainsi une équation, avec une zone bleue (valeurs minimales et maximales prévues pour la réponse) et une zone verte (valeurs acceptables pour obtenir un produit de qualité en fin de procédé).
Nous vérifions à nouveau si l'écart occupe une proportion acceptable de notre zone de sécurité ou de jeu. Ce ratio d'impact nous permet de comparer l'influence de différents facteurs, car nous obtiendrons un modèle similaire pour chacun d'eux. Il pourrait également servir de critère de classification de ces facteurs dans le cadre d'un plan d'expériences. Que mesure réellement ce ratio d'impact ? Vous en aviez un indice sur la diapositive précédente, mais revenons-en aux météorites.
Nos scientifiques de la NASA ont calculé deux choses : le point d'impact de notre météorite et le rayon du cratère. Ils ont affirmé que, tant que nous restons à l'intérieur de la zone de sécurité (en vert), les habitants de la zone périphérique ne seront pas affectés. Bien sûr, cela ne s'appliquerait pas à une météorite, mais suivez-moi un instant. Le rapport que nous établissons est le rapport entre le rayon du cratère et celui de la zone de sécurité. Nous espérons que le résultat sera bien inférieur au résultat, et que la zone de sécurité sera très grande par rapport au cratère d'impact.
Il se pourrait que nous nous soyons trompés de cible : les scientifiques de la NASA avaient prédit que la météorite tomberait ici, mais elle est tombée ailleurs. Même si la zone de sécurité était probablement assez grande pour un impact centré, dans ce cas précis, le cratère d'impact se situe bien en dehors de cette zone. J'espère que vous n'habitez pas dans les environs. Une autre possibilité, parmi tant d'autres, serait que nous soyons sur la bonne trajectoire, mais que nous ayons mal calculé la taille du cratère. Ce dernier est beaucoup plus grand que prévu. Là encore, il se trouve en dehors de la zone de sécurité, et le rayon de cette dernière est en réalité inférieur à celui du cratère. Ceci n'est qu'une image ; voyons maintenant ce que cela donnerait sur un graphique. Voici le même graphique, avec quelques flèches et équations supplémentaires.
En clair, votre ratio d'impact correspond au rapport entre la taille de l'effet et la distance par rapport à votre spécification ou critère d'acceptation. La taille de l'effet est représentée ici par les fines flèches bleues et orange. Il s'agit de la distance entre la prédiction minimale et le centre, ou entre la prédiction maximale et le centre. Nous calculons ce rapport en fonction de la distance entre le centre et votre spécification, de part et d'autre. Dans ce cas précis, cette distance occupe 70 % de notre zone de sécurité. Le ratio d'impact est donc faible. Avec seulement 40 %, il reste assez élevé. Cependant, par souci d'équité, nous devons retenir la valeur maximale entre ces deux valeurs, soit 70 %.
Voici mon schéma. Passons maintenant à un diagramme JMP. Il s'agit d'un diagramme de sauts, un élément du profileur que l'on obtient à la fin d'une analyse de plans d'expériences (DoE). Ici, on observe une légère courbure, mais les zones restent identiques. Si l'on calcule le ratio d'impact par rapport au minimum, la prédiction indique que l'écart entre le minimum et le centre représente environ 42 % de l'écart entre le minimum et la spécification. À l'inverse, l'écart entre le minimum et le maximum prédit ne représente qu'environ 7 % de notre zone de sécurité.
Néanmoins, nous devons communiquer ce chiffre, qui reste assez élevé. La question à laquelle nous cherchons à répondre est la suivante : sommes-nous dans les clous, avec un faible impact par rapport au seuil acceptable ? Je vais maintenant vous montrer, via JMP, comment procéder manuellement, de manière fastidieuse. Nous avons ici un plan d'expériences standard (DoE) à cinq facteurs. Seules quatre réponses sont présentées. Les données sont anonymisées, je m'excuse donc pour la présentation des chiffres, qui peuvent paraître étranges car ils sont tous compris entre -1 et 1.
Mais ce que nous cherchons ici, c'est à définir des limites de réponse afin de pouvoir ajuster l'objectif de ces réponses. On peut maximiser la plupart d'entre elles, par exemple pour des impuretés qu'il faudrait minimiser, et on ne s'intéresse peut-être même pas à leur valeur maximale. Je ne vais pas détailler la modélisation, car ce n'est pas l'objet de cette présentation. Toutes mes excuses. Mauvais script. Voilà. Nous avons déjà effectué l'ajustement, et c'est l'exemple que j'avais noté ; je vais donc continuer avec celui-ci.
Ici, nous utilisons le Profiler pour obtenir toutes les valeurs nécessaires à notre équation. Nous paramétrons le point central et nous allons enregistrer cette valeur. Voilà. Ce sont les conditions du point central. Tout est maintenu au point central. Je vais demander à JMP de mémoriser ce paramètre. Je vais appeler cela « Point central de charge » car je m'intéresse à la charge ici. C'est mon premier. Ensuite, manuellement, je n'aurais pas vraiment besoin de demander de l'aide à JMP. Tout est au point central pour ces deux-là. Je pourrais simplement déplacer ceci au minimum et l'enregistrer à nouveau comme valeur minimale. C'est ma charge minimale ici.
Pour obtenir la valeur maximale, c'est un peu plus complexe. Je pourrais essayer de l'agrandir et de m'assurer d'atteindre le maximum. Mais je vais faire confiance à JMP. Je vais appuyer sur Ctrl + Alt, puis cliquer sur les deux autres graphiques et verrouiller les paramètres de facteur au point central. En effet, je m'intéresse uniquement à l'effet de la charge et à sa valeur maximale lorsque tous les autres paramètres restent inchangés. Ensuite, j'utiliserai l'outil de maximisation de JMP.
Voilà. J'aurais pu y arriver manuellement, mais maintenant je sais que c'est exactement le maximum. Je vais l'enregistrer aussi. On a le maximum. J'ai presque tout ce qu'il me faut. Si vous faites ça manuellement, vous devez le faire pour chaque facteur ou paramètre d'équation de cette liste, pour chaque réponse. Si vos modèles sont assez importants, avec peut-être 5 à 10 réponses, cela devient vite très fastidieux.
Il faudrait ensuite exporter toutes ces données dans un tableau. Vous utiliseriez cette méthode si vous aviez plusieurs tableaux, mais je n'en ai qu'un seul, alors je vais procéder ainsi. Vous avez ici toutes les informations nécessaires, mais dans un format incorrect. Ce qu'il nous faut conserver, c'est : où sont ces éléments ? Ensuite, nous voulons ce nombre ici. Normalement, on utiliserait la fonction transposée dans les tableaux, mais je ne vais pas le faire car je l'ai déjà fait. Je voulais simplement vous le montrer rapidement. Pourquoi cela ne fonctionne-t-il pas ? Voici les données transposées. Nous avons ici toutes les étiquettes du tableau.
Manuellement, il faudrait additionner nos spécifications minimale et maximale. À partir de ces valeurs, des valeurs minimales et maximales et du CP, on peut calculer le numérateur et le dénominateur des ratios, ainsi que les ratios eux-mêmes. Le rapport entre la petite distance et la grande distance donne le ratio d'impact faible. Il suffit ensuite d'utiliser une formule pour obtenir le maximum des deux, et il faudrait répéter l'opération pour chaque ratio. Je laisse la parole à Sam, qui pourra vous montrer à quel point c'est plus simple avec un module complémentaire. Sam ?
Merci, Gwen. Comme elle l'a mentionné, nous avons décidé de créer un module complémentaire pour automatiser cette tâche. Je vais vous faire une brève démonstration de son fonctionnement. J'utilise le même tableau de données que Gwen. Nous avons opté pour un module complémentaire car c'est plus simple que d'exécuter un script directement depuis une fenêtre de script. L'avantage du module complémentaire est qu'en survolant son nom, une infobulle s'affiche. Ici, elle indique simplement la fenêtre depuis laquelle le module doit être exécuté.
En fait, si j'essaie de cliquer dessus, vous verrez que rien ne se passe car je ne suis pas au bon endroit. Si j'ouvre maintenant le script avec les modèles que nous avons créés précédemment, vous pouvez constater que je peux l'exécuter et qu'il fonctionne alors correctement. L'utilisateur voit d'abord des fenêtres contenant des instructions, puis des zones de saisie. La première fenêtre affiche des instructions concernant les exigences relatives à la table de données sous-jacente.
Par exemple, les colonnes de facteurs doivent être codées et les unités, le cas échéant, doivent également être saisies comme propriétés de colonne. Si ce n'est pas le cas pour certaines colonnes, vous pouvez cliquer sur Annuler et je pourrai revenir en arrière et effectuer ces modifications. Mais ici, je sais que tout est correctement codé. Je clique à nouveau sur Exécuter, puis sur OK. La fenêtre suivante contient la zone de saisie des paramètres des facteurs. Vous remarquerez la présence d'un champ pour les facteurs catégoriels.
Il est impossible de calculer un ratio d'impact pour un facteur catégoriel. Cependant, tout facteur catégoriel inclus dans les modèles doit être fixé à une valeur particulière ; cette option permet simplement à l'utilisateur de la saisir ici. Pour les autres facteurs continus évalués dans le plan d'expériences, un champ est prévu pour la saisie de ces paramètres. Le script lit automatiquement les valeurs minimale et maximale à partir du tableau. Il a également calculé le point central en déterminant la moyenne entre ces deux valeurs.
Cependant, dans certains cas, le point central peut ne pas se situer exactement au centre de la plage. C'était le cas pour la charge, je vais donc la modifier à 20. Il est possible de modifier chacune de ces valeurs. L'avantage de pouvoir modifier les données d'entrée est que si, lors de l'addition, nous obtenons des ratios d'impact trop élevés pour certains facteurs, nous pouvons simplement relancer l'addition en modifiant les valeurs et en essayant, par exemple, d'évaluer une plage de facteurs réduite. Nous pourrons ensuite vérifier si le ratio d'impact est plus favorable avec cette nouvelle plage.
Je vais conserver les autres valeurs inchangées et cliquer sur OK. La fenêtre finale ne contient alors que les champs pour les critères d'acceptation de la réponse. Je vais les renseigner maintenant. S'il n'y a qu'un seul critère, vous pouvez le renseigner et laisser l'autre vide. S'il n'y a aucun critère, vous pouvez laisser les deux champs vides ; le script pourra tout de même calculer le ratio d'impact. 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. Ce ratio n'a pas exactement la même signification pratique, mais il sera tout de même calculé 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 retourne à la fenêtre depuis laquelle j'ai exécuté le module complémentaire, vous pouvez constater que les paramètres ont été conservés sous chaque profileur de prédiction. Ce sont les paramètres utilisés pour obtenir les prédictions minimales et maximales pour chaque facteur du modèle. Cela permet de revenir en arrière et de voir comment les calculs ont été effectués. C'est utile de pouvoir les consulter.
Je vais maintenant vous donner un aperçu général du fonctionnement du script. Tout d'abord, il parcourt chaque modèle de réponse dans la fenêtre. Il ajuste ensuite la désirabilité pour maximiser la réponse. Puis, il parcourt chaque terme du modèle. Pour le premier terme, la charge dans ce cas, il déverrouille les paramètres du facteur afin qu'il puisse être modifié librement. Ensuite, tous les autres facteurs sont verrouillés à leur valeur initiale. Le script exécute ensuite la fonction « Maximiser et mémoriser ». Vous pouvez maintenant constater que ce paramètre a été enregistré dans le Profiler et que nous avons maximisé cette réponse en modifiant simplement le facteur de charge.
Le script poursuit ensuite cette opération pour chaque terme du modèle, puis la désirabilité est ajustée pour minimiser la réponse, et ce processus est répété. Chaque terme est alors réévalué afin d'obtenir la prédiction minimale. Enfin, tous les paramètres mémorisés sont mis à jour pour que le nom soit explicite. Le nom du facteur et l'objectif (minimisation ou maximisation de la réponse) sont ensuite affichés. Ce processus est enfin répété pour chaque modèle de réponse contenu dans la fenêtre. Voilà comment fonctionne le script. Je reviens maintenant au tableau récapitulatif généré.
Comme vous pouvez le constater, toutes les données sont collectées et affichées dans ce tableau. Chaque ligne correspond à un facteur spécifique pour chaque modèle de réponse évalué. Des colonnes indiquent les critères d'acceptation saisis par l'utilisateur. Viennent ensuite des colonnes présentant la prédiction aux points de consigne, ainsi que les prédictions minimale et maximale pour chaque facteur inclus dans ce modèle de réponse. Les colonnes restantes contiennent des formules. On y trouve la différence entre la prédiction minimale et la prédiction aux points de consigne, et de même pour la prédiction maximale.
Les deux dernières colonnes correspondent aux ratios d'impact calculés : le ratio d'impact inférieur et le ratio d'impact supérieur. Vous remarquerez que lorsqu'un seul critère est défini (ici, l'impureté), le ratio d'impact est uniquement celui du critère d'acceptation supérieur. La dernière colonne indique le ratio d'impact global, qui correspond simplement au maximum entre le ratio d'impact inférieur et le ratio d'impact supérieur. Je vais maintenant conclure cette partie en résumant les avantages de l'utilisation d'un module complémentaire pour automatiser cette tâche.
Premièrement, l'utilisation du module complémentaire est bien plus rapide que le traitement manuel. Deuxièmement, la tâche est beaucoup plus facile à répéter. Comme je l'ai mentionné, si les ratios d'impact obtenus avec le module complémentaire sont trop élevés, il suffit de le relancer, de modifier les paramètres des facteurs et de vérifier si l'on obtient des ratios acceptables. Enfin, le risque d'erreurs est considérablement réduit, car aucune transcription ni manipulation des données n'est nécessaire. Le script collecte toutes ces données et les intègre dans un tableau qui génère le résultat final.
Très bien, merci. Cela conclut ma partie de l'exposé. Je laisse la parole à Gwen pour le résumé. Merci.
En complément des propos de Sam, un avantage majeur de ce module est la possibilité de répéter les calculs et de modifier les données saisies dans les premiers tableaux. Vous pouvez, par exemple, ajuster les paramètres des facteurs pour inclure les valeurs initialement définies pour indiquer votre plage de tolérance, légèrement en dehors de votre plage de fonctionnement normale. Vous pouvez également modifier vos spécifications ou critères d'acceptation. Si vos ratios d'impact étaient très élevés, votre zone de sécurité serait peut-être trop restreinte pour un fonctionnement optimal.
Vous pourriez repousser les limites des spécifications et vérifier si vos ratios d'impact diminuent. Cela pourrait justifier une modification des critères d'acceptation. Vous pouvez également utiliser ces ratios d'impact collectivement pour classer les paramètres de votre processus testé. Un paramètre peut être considéré comme critique, hautement critique ou non critique à la fin du plan d'expériences (DoE) en raison d'un impact très faible. Voilà qui conclut notre présentation des ratios d'impact. Nous restons à votre disposition pour toute question. Merci.