| Conférencier |
Transcription |
| Bill Worley |
Bonjour à tous, je suis Bill Worley, ingénieur système chez JMP. Je travaille chez JMP depuis près de sept ans. Aujourd'hui, nous allons parler de |
| |
Prétraitement des données spectroscopiques pour analyse. J'appelle cela une préquelle, car j'ai déjà donné une conférence sur l'analyse des données spectrales dans JMP. Le prétraitement est une première étape importante et je vous expliquerai pourquoi. Commençons. |
| |
Parlons un peu du résumé. Le prétraitement des données spectroscopiques est une première étape essentielle pour préparer vos données, quelles qu'elles soient, à l'analyse. |
| |
Nous allons examiner la démonstration et vous présenter les outils de prétraitement standard de JMP, notamment la variable normale et le lissage Savitzky-Golay. Ces outils sont assez courants dans l'ensemble du projet. |
| |
Le monde de la chimie, l'industrie chimique et, en fait, tous ceux qui pratiquent la spectroscopie et analysent des données spectroscopiques. Ils savent que… |
| |
En savoir plus sur la variable normale standard de Savitzky-Golay et son utilisation. Il s'agit donc d'une première étape importante pour vous aider à construire des modèles prédictifs à partir de vos données spectroscopiques brutes. |
| |
Ainsi, avec un faible niveau de données spectrales en arrière-plan, les données peuvent être très confuses. Un prétraitement est utilisé pour lisser, filtrer et corriger la ligne de base avant de construire ces modèles prédictifs, ou tout autre modèle prédictif que vous pourriez souhaiter construire. Le filtrage de Savitzky-Golay et la variable normale standard |
| |
Ce sont des outils utilisés dans JMP. Savitzky-Golay était un module complémentaire développé par Ian Cox, merci à Ian pour ça. La variable normale standard nécessite… |
| |
Nous vous montrerons comment l'intégrer dans JMP. Enfin, le générateur de graphiques est un outil précieux pour visualiser vos données spectroscopiques et peut servir de plateforme alternative pour le lissage de vos données. |
| |
Mais nous y reviendrons à mesure que nous avancerons dans la discussion. |
| |
Pourquoi faisons-nous cela ? Pourquoi vouloir effectuer un quelconque prétraitement ? Eh bien, si vous regardez d'abord ce spectre supérieur, ou ces groupes de spectres, ce sont les données brutes de 100 spectres, et vous ne pouvez pas vraiment faire de différence entre eux. |
| |
Vous savez, un mélange 100 % amidon ou 100 % gluten. On voit des différences, mais on ne sait pas vraiment ce qui est différent. Eh bien, |
| |
ce que nous faisons à partir de là, nous faisons le lissage et le filtrage Savitzky-Golay, puis vous prenez cette première dérivée et cela vous donne un ensemble de spectres beaucoup plus propre, |
| |
Bien groupés, mais pas encore exactement là où on le souhaiterait. Enfin, après avoir effectué le lissage standard des variables normales, les spectres sont beaucoup plus nets et il est beaucoup plus facile de repérer les pics. |
| |
Vous pouvez voir les différences entre les différents groupes de spectres. Il y a donc 20 spectres pour chacune de ces raies rouges, grises et bleues, et c'est nettement plus net. Vous pouvez voir où se situent les pics pour les différents mélanges. |
| |
Le filtrage Savitzky-Golay est un filtre numérique appliqué à vos données spectrales à des fins de lissage. Son avantage est qu'il ne modifie pas le spectre global, ni l'emplacement des pics, etc. C'est donc un outil pratique. |
| |
Il utilise la convolution pour le lissage et cela est basé sur une formule des moindres carrés linéaires. |
| |
Ces dérivées première et seconde sont également... vous pouvez également les apprivoiser à partir du signal lisse. |
| |
Il est également possible de filtrer les données sans importance aux deux extrémités du spectre. Si vous vous trouvez dans une situation où, au départ, une donnée est sans importance et risque de vous perturber à mesure que vous progressez, et même chose à l'autre extrémité. |
| |
Graph Builder vous permet d'effectuer un lissage interne ou un filtrage interne uniforme que vous ne pouvez pas faire avec Savitzky-Golay. |
| |
module complémentaire. Vous pouvez ainsi utiliser le filtre de données local avec le générateur de graphiques et définir plus précisément vos zones d'intérêt. |
| |
Donc, |
| |
Continuons. Savitzky-Golay |
| |
L'analyse est que nous avons… nous avons fait… si nous faisons cette analyse, il s'agit d'un regroupement de spectres. Nous avons donc le lisse, |
| |
La dérivée première, maintenant légèrement allongée. Et nous y avons ajouté la droite zéro. Et avec la dérivée première, on peut |
| |
indiquez où se trouvent les pics, en fonction des points zéro ou du croisement des points zéro, ce qui vous donne une idée de l'endroit où se trouvent les pics pour un nombre donné. |
| |
Groupe de spectres, ensemble de spectres. Et pour la dérivée seconde, c'est un peu différent. Cela permet d'aplatir la ligne de base et, si des pics se chevauchent, cela facilite |
| |
Développez davantage ou identifiez mieux les points de chevauchement, et passez d'un positif à un négatif, ce qui indique les pics qui se chevauchent et leur localisation potentielle. Voilà comment utiliser cet outil. |
| |
La variable normale standard elle-même constitue la standardisation des données par rapport aux spectres individuels. Elle peut être utilisée seule ou comme outil de lissage complémentaire, et c'est ce que nous utilisons aujourd'hui. |
| |
Il est utilisé... |
| |
Il est utilisé pour corriger le décalage de la ligne de base et les variations globales d'intensité. L'avantage est qu'il supprime les variations de la ligne de base sans altérer la forme des spectres. |
| |
Et les données, le problème avec ça, et vous le verrez quand nous le ferons, c'est que les données doivent être empilées, d'accord. |
| |
Très bien, ce n'est qu'une des formules qui |
| |
On pourrait l'utiliser pour établir la formule standard de la variable normale, et je vais vous montrer comment procéder. Il existe plusieurs méthodes, mais c'est un peu complexe, et je vais vous montrer comment procéder. L'important ici est que |
| |
Nous avons ici la formule standard pour la colonne normalisée, mais nous devons veiller à l'utiliser pour une variable, à savoir le spectre lui-même. |
| |
il y a une petite astuce pour ajouter cela. |
| |
Bon, donc si la variable normale standard était appliquée uniquement aux données brutes, voici à quoi cela ressemblerait. |
| |
On peut voir les regroupements, on peut voir comment les choses se décomposent, mais si on appliquait la variable normale standard après la dérivée première, c'est beaucoup plus clair. On a une bien meilleure idée des zones de chevauchement des spectres, de leurs points de convergence, etc. |
| |
où vous devrez peut-être faire un peu... où cette seconde dérivée entrerait en jeu, où vous avez des pics qui se chevauchent peut-être ici, n'est-ce pas, |
| |
et peut-être de retour ici. Alors |
| |
C'est là que cela contribue réellement à une meilleure vision de ce que vous voyez. Et cette ligne zéro, encore une fois, indique où, vous savez, lorsque vous la franchissez, cette ligne zéro indique les pics, où se situent ces pics en utilisant la dérivée première. |
| |
Très bien, passons à une démonstration. |
| |
Très bien, sors de là. |
| |
Parlons maintenant de la visualisation des données… les données d'abord. N'oubliez pas : dès que vous recevez un nouvel ensemble de données, la meilleure chose à faire est de les extraire et de les visualiser. Représentez-les graphiquement pour avoir une meilleure idée de ce à quoi elles ressemblent. Ensuite, redescendons et remontons. |
| |
Nos données brutes sur le gluten. Nous avons donc importé les données. Il nous faut maintenant les visualiser, et… allons dans le Générateur de graphiques. |
| |
Bien et la première chose que nous allons faire, |
| |
Déplacez-le un peu vers le haut, accédez aux données brutes. Bon, maintenant, on va les intégrer. |
| |
Et voici les données ponctuelles, donc voici ce que nous… ce que nous avons vu avant de faire le lissage, avant toute autre action. C'étaient les données linéaires, et si je peux les modifier, |
| |
Un tracé parallèle, d'accord ? Cela me donne les données des raies spectrales. On ne voit pas grand-chose de ce qui se passe, mais cela nous donne une meilleure idée de la direction des irrégularités. Je peux faire ça… |
| |
Nous pouvons faire certaines choses ici, si besoin, comme ce qu'on appelle… et vous verrez cela avec d'autres données, cette fusion parallèle. Mais cela n'a rien changé. Cela n'a rien rassemblé comme vous le verrez avec d'autres données, donc je vais fermer ça. |
| |
D'accord, et certains des autres outils que j'aime utiliser lorsque je visualise les données sont le graphique de contrôle multivarié piloté par modèle, et faisons-le en premier. |
| |
Nous allons donc dans Analyse, Qualité et Processus et Graphique de contrôle multivarié piloté par modèle. |
| |
Déplacez ceci vers le haut. |
| |
Bon, je n'ai pas de données historiques, donc je dis OK. Et ça nous permet d'examiner les données et de dire : OK, |
| |
On peut voir des regroupements de spectres, n'est-ce pas ? Et pour la plupart, c'est… je voulais juste le souligner. |
| |
Nous sommes capables d'expliquer la plupart des variations observées, au moins jusqu'à 85 %, avec deux composantes principales. Et cela en utilisant ce T au carré. |
| |
Les informations dont nous disposons ici. Et cela nous indique également où les choses pourraient être hors de contrôle pour un spectre donné. Pourquoi est-il différent du reste du groupe ? |
| |
Donc, si je survole l'un de ces points, je peux le retirer. Si je survole l'un des points hors de contrôle, je peux le retirer. |
| |
Et maintenant, on voit bien qu'ils sont vraiment différents. Il y a quelque chose de particulier dans ces spectres qu'il nous faut peut-être mieux comprendre. Dans ce cas, nous comprenons déjà mieux, car nous savons qu'il s'agit de mélanges, mais nous voulons le voir. |
| |
Et retirons celui-ci aussi. Bon, encore un. Entre ces trois spectres, nous avons une grande variété de mélanges. Nous avons donc trois des trois groupes, et nous pourrions aussi y ajouter les deux autres, juste pour voir. Mais restons-en là pour l'instant. |
| |
Voilà donc la carte de contrôle multivariée pilotée par le modèle. L'autre outil que j'aime utiliser est… il fait partie des méthodes multivariées et s'appelle la mise à l'échelle multidimensionnelle. |
| |
Et la raison pour laquelle j'aime utiliser cela est, en particulier pour des systèmes comme celui-ci, |
| |
c'est que nous avons |
| |
encore nos données brutes, n'est-ce pas, et nous devons... |
| |
Laissez-moi d'abord configurer cela et je vous le dirai. |
| |
Nous avons deux dimensions ici, d'accord ? C'est basé sur ce que nous avons vu précédemment. Mais si j'aime les utiliser, c'est parce que cela nous permet de regrouper ou de visualiser les données elles-mêmes. Très bien. |
| |
Allons-y. Ça prend une seconde à apparaître. |
| |
Nous voyons que nous avons cinq groupes distincts de spectres, chacun correspondant à un groupe de notre mélange d'amidon et de gluten. Si je mets en évidence ce groupe, c'est le premier groupe, qui est composé à 100 % d'amidon. |
| |
Le groupe du milieu est un mélange 50/50, et celui-ci, en bas, est 100 % gluten. Cela a pour effet de mettre en évidence les données dans le tableau, comme illustré ici. |
| |
L'interactivité est également intéressante. Cela montre également que nous réussissons déjà assez bien à distinguer les différents groupes. Si l'on examine le diagramme de Shepard, |
| |
nous avons R carré de 1 et |
| |
Une ligne droite, d'accord. Encore une fois, c'est une bonne façon de visualiser, et on peut faire plus avec, mais on verra ça une autre fois. |
| |
Ok, jusqu'ici, |
| |
nous avons importé les données, nous les avons visualisées, et maintenant nous devons faire un peu de prétraitement. |
| |
Et ce que nous allons faire, j'ai ces, plus ou moins, voici des espaces réservés, donc nous allons faire une analyse Savitzky-Golay et nous allons faire une variété normale standard, au moins sur la première dérivée, d'accord. |
| |
Très bien, alors laissez-moi clarifier un peu tout ça. |
| |
Bien, ferme ça. |
| |
Nous allons à nouveau prendre ces données brutes et utiliser le module complémentaire Savitzky-Golay pour effectuer l'analyse. Pour ma part, c'est dans la catégorie « Modules complémentaires ». |
| |
Il s'agit d'un module complémentaire gratuit, que vous pouvez télécharger et que nous mettrons à votre disposition. Là encore, nous allons prendre les données brutes. |
| |
D'accord, et si vous voulez en savoir plus sur la théorie de Savitzky-Golay, nous avons un lien Wikipédia ici que vous pouvez utiliser. Mais nous allons l'utiliser pour lisser les données à chaque longueur d'onde, puis calculer les dérivées première et seconde. Et je dis, d'accord. |
| |
Et voilà, nous avons nos données fluides ici. |
| |
Et une chose, vous savez, vous pouvez ajuster cela selon vos besoins, mais ce que nous voulons faire, c'est en quelque sorte prendre cela, |
| |
Élargissez un peu cette fenêtre. |
| |
D'accord. |
| |
Fais celui-là. |
| |
Et vous pouvez jouer avec les polynômes ici, l'ordre d'ajustement des polynômes. |
| |
Dans ce cas, cela ne change pas grand-chose d'utiliser un polynôme d'ordre huit. Un deuxième… le deuxième ordre fait parfaitement l'affaire. Bon, on peut ensuite extraire ces données de notre dérivée première. |
| |
Sauvegardez les données fluides, d'accord ? Nous pouvons les sauvegarder dans la table de données. Je l'ai déjà fait, donc inutile de vous montrer le processus. Sachez simplement que les données sont ensuite transférées dans la table de données. |
| |
Terminons cela. |
| |
Bon, on est prêts, mais il nous faut maintenant passer à la dernière étape. Voyons… avant d'y aller, revenons en arrière. |
| |
nos données Savitzky-Golay. Il s'agit donc des données dérivées premières. Je souhaiterais à nouveau les examiner sous l'angle |
| |
Graph Builder, d'accord. Et voyez, ça n'a pas l'air très prometteur, mais faisons un tracé parallèle. |
| |
Cela améliore légèrement la situation. Nettoyons-la, puis effectuons cette fusion parallèle des échelles combinées, ce qui permet d'obtenir des données beaucoup plus claires. |
| |
Visuel… un meilleur visuel qu'avant, n'est-ce pas ? On peut jouer avec ça et ajouter notre propre ligne zéro ici pour mieux comprendre où les pics se croisent. |
| |
Mais ce sont ces données dérivées premières. On voit les groupes, mais ils ne sont pas complètement séparés, comme on le souhaiterait pour avoir une meilleure idée. |
| |
Voilà, c'est fait. Ces données sont de retour dans la table de données. Je vais la fermer, et rappelez-vous que j'ai dit qu'il faut empiler les données pour… pour obtenir la variable normale standard, donc c'est ce que nous devons faire. Commençons par sous-ensembles de données. |
| |
Très bien, alors |
| |
sous-ensemble de tous ces éléments. |
| |
Tables. Sous-ensemble. |
| |
Toutes les lignes. Colonnes sélectionnées, et OK. OK, on peut y aller. |
| |
Droite. |
| |
Bon, au moins, nous avons… les données sont séparées. Maintenant, il faut… les empiler. Et encore une fois, cela permet de filtrer toutes les données nécessaires à la formule. |
| |
Donc sous Tables. Pile. |
| |
Et ce sont nos colonnes que nous empilons. |
| |
À droite, et empilez par rangée. |
| |
Je vais sélectionner les colonnes que nous souhaitons conserver. |
| |
En plus de ça. Et après, |
| |
Désolé… Je clique juste pour configurer ça, mais vous comprendrez l'idée. Je laisse ça en ligne un instant pour que les gens voient ce qu'il faut faire pour y arriver. J'ai donc enregistré ça. |
| |
Vous voyez, les 12 sans titre. Ce sont nos données empilées, et nous pouvons maintenant exécuter cette variable normale standard. Une façon rapide de le faire est de créer une nouvelle colonne. |
| |
clic droit. |
| |
Je dois construire cette formule à partir de là, depuis l'éditeur de formules. Je vais utiliser cet outil statistique appelé |
| |
Normaliser les colonnes, d'accord ? Et si je passe la souris dessus, ça vous donne une idée de ce que vous en faites. Que signifie « normalisé » ? Alors, on va… |
| |
Une moyenne de 0 et un écart type de 1 ; c'est donc ce que nous cherchons à obtenir avec les données et par rapport à tous les spectres donnés. Il nous faut donc prendre les données. |
| |
Ensuite, rappelez-vous que j'ai dit qu'il fallait ajouter cette variable bivariée, qui, dans ce cas, sera le spectre. Je vais dire « OK ». |
| |
Très bien, cela nous donne un ensemble de données. Il existe une méthode plus simple, ou du moins ce que je pense être une méthode plus simple, mais cela peut aussi être… |
| |
C'est parfois un peu plus long. Mais si je fais un clic droit sur les spectres ici, rappelez-vous que je fais cela car nous avons besoin d'une variable bivariable. Je vais donc accéder aux informations de la nouvelle colonne et définir le regroupement. |
| |
Et je vais prendre ma colonne de données et je vais faire un clic droit dessus et je vais créer une nouvelle colonne de formule. |
| |
Nous allons passer à la distribution et, rappelez-vous, à la standardisation. Nous voulons donc que |
| |
Moyenne de 0 ; écart type de 1. Sélectionnez cette option pour créer la nouvelle colonne. L'avantage, c'est que les données correspondent ; je peux donc pousser un soupir de soulagement, car j'ai vu juste. |
| |
Bon, j'ai compris. Maintenant, il faudrait que je clique sur cette colonne. |
| |
Nous prenons ces données, les décomposons et les réintégrons dans la table de données standard, ou initiale. Je souhaite vous montrer que |
| |
Une fois les données empilées, vous pouvez réaliser d'autres visualisations. Si je retourne au Générateur de graphiques, je veux récupérer ces données. |
| |
dans le |
| |
Et puis je vais tirer l'étiquette, et c'est une bonne façon de voir où se situent toutes les variations. Voilà donc toutes les… |
| |
vous savez, des boîtes à moustaches pour savoir où... vous voyez la variation dans les données, donc c'est juste une très bonne façon de pouvoir visualiser ce qui se passe. |
| |
Une autre façon puissante d'utiliser le générateur de graphes est d'empiler les données. Vous pouvez également |
| |
Si vous récupérez les données ponctuelles, nous les extrayons, les intégrons et effectuons un lissage. Il s'agit d'un lissage individuel, donc d'une moyenne pour toutes les données. Ce que nous souhaitons faire, c'est… |
| |
Lissage Savitzky-Golay, donc je dois tirer vers l'intérieur |
| |
La superposition, d'accord. Voilà pour toutes les données. Ce sera difficile à voir, mais je vais faire ceci. J'espère que vous pouvez le voir. Si je sélectionne « Lisser », nous allons passer à Savitzky-Golay. |
| |
D'accord, et je pense que vous êtes... j'espère que vous avez vu que cela correspond maintenant à cette ligne, cette ligne de lissage juste là. |
| |
C'est une autre façon de lisser les données, avec la méthode Savitzky-Golay. On peut ensuite la transformer en une fonction quadratique, effectuer un rognage local et, finalement, enregistrer le résultat dans la table de données. |
| |
Je vais en rester là pour l'instant. |
| |
N'oubliez pas : nous avons dû fractionner ces données et les enregistrer dans la table de données. Je vais donc renoncer à cette étape et revenir aux données… la table de données d'origine. |
| |
Je n'ai pas besoin de ça. |
| |
Bon, et puis quand je |
| |
regardez à nouveau les données sous Graph Builder, |
| |
Je peux prendre ce groupe de variables normales standard, |
| |
déposez-le. Encore une fois, cela ne semble pas très prometteur, mais nous allons faire le tracé parallèle, puis faire un clic droit. |
| |
Combinez ces échelles. |
| |
Voilà pour notre lissage final. Tout est prêt. On pourrait ajouter une ligne zéro ici. |
| |
si nécessaire. Allons-y et ajoutons cela. |
| |
Zéro et nous en ferons une sorte de vert, |
| |
il y a ça, ajoute-le. |
| |
Dites OK, et encore une fois, vous utiliserez cela pour vous aider à déterminer où se trouvent vos pics. |
| |
En fonction du pic maximum lorsque j'ai franchi ce point zéro, d'accord. |
| |
Voilà, c'est à peu près tout. Revenons à notre |
| |
Présentation PowerPoint. |
| |
Donc, en conclusion, le prétraitement... nous devions prétraiter les données... prétraiter les données pour les rendre plus propres, pour les rendre, vous savez, beaucoup plus faciles à utiliser. |
| |
Où aussi avec JMP... |
| |
JMP fait cela... |
| |
Nous travaillons à simplifier ce processus. Le prétraitement dans JMP 16 sera pris en charge par des modules complémentaires et des fonctionnalités intégrées. |
| |
Nous attendons avec impatience JMP 17 où le prétraitement sera proposé dans Functional Data Explorer avec des options de lissage spectral et de base beaucoup plus sophistiquées, ainsi qu'une détection et une sélection de pics. |
| |
Pour analyser les données spectrales, s'il vous plaît, il y a eu une conférence que j'ai faite en 2020 pour Discovery |
| |
Munich. C'était une conférence virtuelle, mais elle vous donnera une bonne idée de l'utilisation de JMP pour analyser vos données spectrales. |
| |
Sur ce, je vous remercie et j'espère que vous avez tous trouvé cela utile. N'hésitez pas à me le faire savoir. |