Dans le raffinage du pétrole, une technique d'optimisation essentielle consiste à assurer un contrôle en ligne continu des variables de qualité malgré un échantillonnage peu fréquent. Elle requiert un modèle prédictif empirique de la variable de qualité, basé sur les conditions de fonctionnement en ligne. Ce modèle est ensuite utilisé comme variable inférée, qui peut être intégrée à un algorithme de contrôle continu.
Plusieurs écueils peuvent empêcher des modèles présentant d'excellents paramètres d'ajustement de prédire avec précision la variable de qualité lors de leur déploiement en ligne. Nombre de ces défaillances échappent au contrôle de l'ingénieur, comme des conditions de processus anormales ou des pannes des signaux d'entrée. Il est possible de concevoir un modèle prédictif minimisant l'impact des facteurs externes du processus, mais cela peut souvent nuire à sa précision. Le défi pour l'ingénieur est donc de construire des modèles prédictifs qui concilient précision et fiabilité.
Cet article explore plusieurs étapes du processus de développement de modèles utilisant JMP pour construire des modèles prédictifs adaptés au contrôle de processus en ligne. Grâce à un module complémentaire personnalisé, il est possible d'agréger les données brutes du processus dans un format filtrant la variabilité de celui-ci. Les données agrégées sont ensuite filtrées à l'aide d'outils tels que l'analyse de distribution et la détection des valeurs aberrantes afin d'identifier ces dernières et les plages de fonctionnement. Les entrées du modèle sont transformées par des formules de colonnes pour réduire davantage la variabilité du processus. Enfin, le modèle est construit à l'aide d'une régression généralisée dans l'outil « Ajuster le modèle » afin de comparer les algorithmes de régression et de minimiser les entrées, améliorant ainsi la fiabilité. Le résultat final est un modèle suffisamment précis pour optimiser en continu le processus en fonction d'une contrainte de qualité, tout en restant robuste face aux perturbations liées au processus ou à l'instrumentation.
Bonjour, je m'appelle Andrew Weaver. Je suis ingénieur d'application en systèmes de contrôle chez ExxonMobil. Aujourd'hui, nous allons voir comment utiliser JMP pour créer des modèles prédictifs destinés à l'optimisation en ligne. Dans nos unités chimiques et de raffinage, nous utilisons des contrôleurs de procédés avancés pour assurer un contrôle en temps réel des unités, afin de garantir la qualité de nos procédés et d'optimiser la production en réduisant les pertes.
Ces régulateurs avancés s'appuient sur des mesures en temps réel pour réagir instantanément au processus, en fonction des données de nos capteurs. L'une des principales difficultés lors de la conception de ces modèles de contrôle réside dans le fait que nombre de nos variables de qualité sont prélevées en laboratoire et ne font pas l'objet de mesures continues. Dans l'exemple présenté ici, une valeur est prélevée toutes les deux heures, mais comme l'illustre le graphique ci-dessous, un décalage du processus peut survenir avant le prélèvement. Notre régulateur a donc besoin d'informations pour détecter ce décalage.
La solution consiste à élaborer un modèle prédictif inférentiel utilisant d'autres capteurs du processus afin de fournir au système de contrôle en ligne des informations sur les variations de la variable de qualité. Ce modèle peut ainsi effectuer des ajustements en temps réel, sans attendre les résultats d'analyses en laboratoire, pour observer l'impact des mesures de contrôle.
La construction de ce modèle peut parfois s'avérer complexe et exige un équilibre subtil entre l'expertise en ingénierie et les techniques de modélisation statistique. Aujourd'hui, nous allons explorer dans JMP la construction de ces modèles et aborder les difficultés spécifiques rencontrées lors de leur élaboration pour le contrôle de processus en ligne. Je vous propose de découvrir un exemple simplifié de processus où l'on peut observer l'utilisation d'un modèle inférentiel dans le cadre du contrôle de processus en ligne.
Il s'agit d'une colonne de distillation séparant un mélange de propane et de butane en ses deux composants. Le distillat de tête est principalement constitué de propane qui s'évapore dans la colonne, tandis que le distillat de fond est principalement constitué de butane qui se condense en descendant la colonne. Le paramètre de qualité que nous souhaitons mesurer est la concentration en propane dans le distillat de tête, déterminée par un prélèvement en laboratoire.
Avant toute modélisation, il est essentiel de comprendre certaines caractéristiques physiques du procédé, car elles influencent nos choix de modélisation. Par exemple, l'influence de la température sur la tour est cruciale pour la distillation qui sépare le mélange de butane et de propane. À mesure que la température augmente dans la tour, on s'attend à ce que les composants les plus lourds, le butane en l'occurrence, remontent à la surface, ce qui contamine le flux de propane que nous cherchons à mesurer.
Cela signifie que la concentration de propane en tête de colonne sera réduite. Ceci nous permettra d'indiquer au modèle que tout effet de température observé dans notre modèle prédictif doit avoir un signe négatif par rapport à la concentration de propane en tête de colonne. De plus, nous disposons de données de pression, et la pression influe également sur la distillation en modifiant les points d'ébullition des deux composants. Il sera également important d'en tenir compte lors de la modélisation.
Un dernier point concerne les mesures de débit de l'unité. Nous en disposons de plusieurs, et nous verrons plus loin que le débit est fortement corrélé à la concentration de propane et aux flux de tête. Plus précisément, il s'agit des débits d'alimentation, de reflux et de produit de tête, respectivement les débits 1, 2 et 3. Cependant, l'utilisation de ces mesures de débit dans le modèle sans aucune modification risque de poser problème ultérieurement, car les débits bruts ne tiennent pas compte de l'accumulation dans le système ni de sa dynamique. Pour les utiliser, nous devrons les transformer de variables extensives, comme c'est le cas actuellement, en variables intensives. Nous verrons plus loin comment procéder.
L'essentiel, en explorant le système dès le départ, est de comprendre la signification physique de chaque entrée avant même d'entamer la modélisation. Nous disposons ainsi d'une vision claire de la structure du modèle. Cela garantit que notre modèle reflète le comportement réel du processus, et non une simple corrélation statistique observée dans les données. Enfin, ces connaissances orienteront la manière dont nous extrayons nos entrées, celles que nous intégrons à JMP, leur sélection, les variables que nous transformons et, en définitive, la composition du modèle final.
Passons rapidement en revue le processus complet de modélisation, du début à la fin, afin de comprendre les étapes nécessaires. Nous examinerons ensuite JMP plus en détail. La première étape consiste à sélectionner une variable candidate. Il s'agit généralement d'une variable de qualité faisant déjà l'objet d'échantillonnages réguliers en laboratoire, avec un grand nombre de données disponibles, et dont les limites de qualité sont définies et constituent un critère de contrôle. Dans notre cas, il s'agira de la concentration de propane, la variable de laboratoire mentionnée précédemment.
Il est maintenant temps d'entamer l'analyse technique du procédé. Nous l'avons abordée dans la diapositive précédente, mais il convient d'examiner d'autres points lors de l'analyse de vos données. Tout d'abord, évaluez les perturbations non mesurées, telles que les variations de la qualité de l'alimentation, et leur impact potentiel sur votre modèle final. Il est également essentiel de prendre en compte les conditions de fonctionnement prévues pour votre modèle. Si vous opérez dans des conditions variées, votre modèle nécessitera des données issues de chacune de ces conditions pour être efficace. À ce stade, vous devrez déterminer si vous disposez de suffisamment de données pour commencer la modélisation, ou s'il est nécessaire de réaliser un essai dédié en usine afin de définir les données exactes à collecter.
Ensuite, vous pouvez sélectionner les variables d'entrée, comme nous l'avons fait dans la diapositive précédente. Nous y avons examiné chaque entrée potentielle du modèle et commencé à analyser les effets physiques qu'elles devraient avoir sur la variable inférée. Une fois les modèles sélectionnés, il est temps de collecter les données. En ingénierie des procédés, ces données proviennent généralement d'un système d'historisation qui les stocke. Nous obtenons ainsi des données en temps réel, minute par minute, pour chaque capteur de notre procédé. Pour les modèles à large applicabilité, il est conseillé de collecter entre 6 et 18 mois de données en temps réel, selon la fréquence d'échantillonnage du laboratoire. Cela garantit un volume de données suffisant pour élaborer un modèle applicable à de nombreuses conditions de fonctionnement.
Ensuite, il est temps de procéder au nettoyage et au prétraitement des données. Les données collectées seront enregistrées à la minute pour tous les capteurs. Vous obtiendrez donc une grande quantité de données pour chaque échantillon analysé. Il faudra formater ces données en paires XY claires pour chaque échantillon, à l'aide d'un module complémentaire. Il est également nécessaire de commencer à identifier les valeurs aberrantes afin de repérer les données suspectes.
Il est important de noter que cette opération ne doit pas être réalisée à l'aide de tests purement statistiques, car les valeurs aberrantes doivent correspondre à des phénomènes physiques liés au processus et nécessitant une élimination. Par exemple, il convient de supprimer les données enregistrées lorsque les unités sont à l'arrêt, en cas de dysfonctionnements importants ou si les données des capteurs s'avèrent erronées. Une fois les données filtrées, nous pouvons commencer à construire les modèles. Une erreur fréquente chez les débutants est d'appliquer un algorithme des moindres carrés à toutes les données collectées afin de générer un modèle. Or, cette méthode est inefficace pour plusieurs raisons.
Premièrement, nous devons nous assurer que le modèle présente un effet physiquement justifié pour chaque variable d'entrée. Lorsqu'on applique un algorithme de régression à de multiples effets, il est fort probable que des artefacts, statistiquement pertinents, soient intégrés au modèle, mais n'ayant aucune utilité dans la réalité. L'ingénieur doit donc examiner le signe et l'amplitude de chaque variable d'entrée du modèle afin de vérifier sa conformité avec ses attentes.
La seconde raison, plus subtile, est que lors de la mise en service de ces modèles en ligne, il est impératif de garantir leur robustesse et leur fiabilité. Chaque entrée du modèle représente un point de défaillance potentiel, notamment si l'instrument auquel elle est connectée tombe en panne. C'est pourquoi nous nous efforçons de minimiser le nombre d'entrées afin de réduire la vulnérabilité liée à une défaillance instrumentale. Une fois le modèle construit, il est temps de procéder aux tests. D'abord hors ligne, afin de comparer les prédictions aux résultats obtenus en laboratoire, puis en ligne, intégré au contrôleur. Ce processus est itératif : il arrive souvent qu'un modèle, malgré d'excellentes prédictions, échoue en boucle fermée. L'ingénieur devra alors itérer plusieurs fois pour construire de nouveaux modèles, jusqu'à en trouver un qui fonctionne à la fois comme outil de prédiction et au sein du système de contrôle.
Maintenant que nous avons détaillé les étapes de construction d'un modèle inférentiel, ouvrons JMP et examinons certaines d'entre elles plus en détail. Ce premier tableau de données illustre l'aspect des données brutes. Vous obtenez des données à la minute pour chacun de vos capteurs et pour vos mesures de laboratoire, sur une période de huit mois. En affichant le graphique de la série temporelle de notre variable de laboratoire, nous constatons que les prélèvements sont effectués à intervalles irréguliers, environ tous les quelques jours, avec des périodes où plusieurs échantillons sont prélevés en peu de temps.
Comme mentionné précédemment, le format actuel de nos données ne se prête pas à la construction d'un modèle inférentiel, car nous avons besoin de relations XY claires pour chacun de nos résultats d'analyse et de nos variables d'entrée. Nous allons utiliser un module complémentaire personnalisé pour créer un tableau de données simplifié qui établira automatiquement ces relations XY. Nous allons agréger les données en sélectionnant l'échantillon d'analyse et la date, puis choisir le type d'intervalle d'agrégation à appliquer.
Ce module complémentaire analyse notre tableau de données. Il détecte les changements de valeurs d'analyse et calcule la moyenne de chaque entrée autour de cette variation. Ce comportement est personnalisable globalement ou pour chaque entrée individuellement. De plus, le calcul de la moyenne peut être rétrospectif (en remontant jusqu'à X minutes après le prélèvement) ou centré (en calculant un segment de données avant et après le prélèvement).
En fin de compte, tout dépendra de la fiabilité de l'enregistrement des temps d'analyse de vos échantillons et de la variabilité de votre processus. Dans notre exemple, nous allons définir un intervalle global de 60 minutes pour toutes les variables. Cela nous permettra d'obtenir des résultats agrégés pertinents. L'exécution prend quelques minutes. Nous allons donc passer directement au résultat : ce tableau de données. Vous y verrez une ligne distincte pour chaque résultat d'analyse, avec des données X claires pour chacune des variables d'entrée.
À présent, grâce à ces données, nous pouvons commencer le tri, le prétraitement et enfin la modélisation. Nous allons commencer par examiner les distributions afin de déterminer s'il existe des effets indésirables dans nos données qu'il conviendrait de supprimer. Rappelons que nous souhaitons éliminer les valeurs aberrantes non seulement pour des raisons statistiques, mais aussi pour nous assurer que chaque point de données supprimé a une signification concrète liée au processus sous-jacent. Par exemple, en observant les données de notre laboratoire (à gauche), nous constatons quelques effets de queue à l'extrémité de la distribution, mais il est trop tôt pour dire s'il s'agit de données réelles ou non, ou s'il s'agit simplement de valeurs minimales dans notre environnement de traitement habituel.
Cependant, en examinant de plus près le flux 1 à droite, on constate une longue traîne de faibles débits d'alimentation, voire quelques valeurs négatives. Puisqu'il s'agit de l'alimentation de l'unité, il est essentiel de mesurer précisément les débits d'alimentation auxquels l'unité est censée fonctionner normalement. Nous devons donc définir un seuil pour le débit d'alimentation normal de cette unité. Dans cet exemple, nous fixerons ce seuil à 10 ; toute valeur inférieure indiquera un fonctionnement anormal ou une mise à l'arrêt de l'unité. Nous sélectionnerons donc toutes les données inférieures à 10 et les exclurons de notre ensemble de données.
En parcourant les autres variables, la seule autre qui se démarque est le flux trois, soit le flux de reflux retournant dans la tour. Ce flux présente un débit entrant très élevé, ce qui indique probablement un dysfonctionnement important du procédé, car il ne correspond pas du tout à notre plage de fonctionnement. Pour cette raison, nous masquerons et exclurons également cet ensemble de données.
Maintenant que nos données sont analysées, nous pouvons examiner certaines corrélations et commencer à établir des liens entre nos variables d'entrée et notre modèle final. Ces graphiques XY sont classés par ordre d'adéquation, et l'on constate que les températures 4 et 2, situées en haut de la colonne de distillation, présentent la meilleure adéquation avec nos données de laboratoire sur le propane.
Cela correspond à nos attentes d'ingénierie, car nous savons que la température a un impact majeur sur la distillation. De même, nous observons des corrélations importantes entre le débit et la pression en tête de colonne, notamment avec le débit du produit. Plutôt que d'utiliser JMP, il serait préférable de déduire la relation entre la température, la pression et la distillation. Nous pouvons intégrer des concepts connus d'équilibre liquide-vapeur au modèle en combinant la pression et la température dans une variable calculée, plus adaptée à la modélisation.
Nous pouvons y parvenir grâce à un module complémentaire personnalisé qui génère une température compensée en pression. Cette température sera ajustée en fonction de l'effet de la pression, par rapport à une pression de référence. C'est ce modèle final que nous utiliserons, au lieu de la température brute. De même, comme mentionné précédemment, ce débit ne peut être utilisé seul, car il s'agit d'une variable extensive qui doit d'abord être transformée en variable intensive. Pour ce faire, nous créerons une nouvelle colonne et définirons le ratio produit/alimentation. Ce ratio, appliqué à ces deux débits, les transformera de variables extensives en variables intensives, facilitant ainsi la modélisation des variations de qualité présentes dans les données. Il s'agira donc du débit 2 divisé par le débit 1.
Avant de commencer la modélisation, la dernière étape consiste à créer une colonne de validation, ce que nous ferons rapidement en superposant notre colonne de stratification. Nous pouvons maintenant commencer la modélisation proprement dite. La première technique que je vais vous présenter, si nous n'avons pas une idée précise des entrées de notre modèle, est une approche dite « fourre-tout ». Dans ce cas, nous utilisons les données de laboratoire comme variable Y, nous ajoutons notre colonne de validation et nous utilisons toutes les entrées de lignes comme variable X. Nous appliquons ensuite cette méthode à une plateforme de régression généralisée.
Nous allons utiliser une méthode d'estimation du meilleur sous-ensemble pour déterminer le sous-ensemble de variables optimal lors de l'analyse de chaque combinaison. Comme vous pouvez le constater, nous atteignons un plateau où la réduction du nombre de variables n'affecte pas significativement la précision du modèle. Comme mentionné précédemment, nous souhaitons minimiser le nombre de variables dans notre modèle final afin de réduire notre dépendance aux capteurs en cas de défaillance des instruments.
De plus, nous constatons ici que nous sélectionnons la température 2 et la pression 1 comme entrées, lesquelles, comme nous l'avons vu précédemment, présentent de fortes corrélations. Nous avons de solides raisons techniques justifiant leur inclusion dans le modèle. C'est un bon point de départ si votre processus est moins bien maîtrisé. Dans notre cas, cependant, nous savons précisément quelles entrées intégrer au modèle grâce à notre analyse technique. Nous allons donc réutiliser nos données de laboratoire, et nos variables X seront cette fois-ci nos variables calculées à partir de notre colonne de validation.
Cette fois-ci, nous allons simplement appliquer un algorithme des moindres carrés standard. Cela nous donnera notre modèle final, que nous utiliserons dans notre contrôleur. Vous remarquerez que le coefficient de détermination (R²) est légèrement inférieur à la moyenne. Mais c'est normal pour les modèles appliqués à de grands systèmes de procédés, car la dynamique des instruments que nous cherchons à reproduire est très variable. Il est parfois très difficile d'obtenir des modèles très précis. N'oubliez pas que nous devons éviter d'ajouter des données d'entrée au modèle pour améliorer sa précision, au risque de le rendre sensible aux défaillances des instruments.
La dernière vérification à effectuer pour le contrôle en ligne est l'indépendance et l'absence de colinéarité des entrées. Pour ce faire, examinons la colonne VIF et vérifions le score VIF de ces entrées. Un score VIF trop élevé indique un risque quasi certain d'échec du modèle lors de son intégration dans un algorithme de contrôle. Cependant, le VIF de ces deux entrées étant suffisamment bas, nous pouvons être confiants quant à la capacité du modèle à prédire correctement cette variable de qualité et commencer à l'intégrer à notre logiciel de contrôle.
Nous allons maintenant revenir à la présentation. Nous disposons désormais d'un modèle inféré que nous pouvons utiliser pour la commande en ligne. Ce modèle, que nous venons de développer, servira d'entrée à notre contrôleur avancé. Cette entrée fournira au contrôleur un retour d'information pendant qu'il manipule l'unité. Il pourra ainsi observer en temps réel l'influence du contrôleur sur la variable de qualité.
Là encore, ce retour d'information en temps réel nous permet d'optimiser l'unité de production pour garantir la qualité des produits et de nous assurer qu'elle reste toujours conforme à nos tolérances. Comme vous pouvez l'imaginer, il s'agit d'un processus cyclique : d'une part, pour obtenir un modèle performant dès le départ ; d'autre part, à mesure que vos conditions de production évoluent ou que votre équipement vieillit, votre modèle finit par se dégrader et il faudra recommencer la conception depuis le début.
En conclusion, ces modèles inférentiels comblent l'écart entre notre logiciel de contrôle continu et nos prélèvements d'échantillons de laboratoire effectués à intervalles irréguliers. Cela souligne l'importance de la connaissance du domaine lors de la construction de modèles statistiques. Comme vous vous en souvenez peut-être, nous avons consacré beaucoup de temps à l'analyse technique avant même d'ouvrir JMP afin de nous assurer de bien comprendre le fonctionnement du modèle une fois en ligne. Ce principe reste le même, même en dehors du génie chimique et du génie des procédés. Votre analyse technique doit guider le modèle, et non l'inverse. Grâce à ces techniques, vous pouvez utiliser des données limitées et les transformer en informations exploitables, quel que soit votre domaine. Merci beaucoup d'avoir regardé cette vidéo.