Mein Kollege Jeremy Ash ( @JeremyAshJMP ) und mir ist klar, dass die Analyse spektroskopischer Daten viele Nuancen und potenzielle Fallstricke aufweist, die die Analyse bestenfalls schwierig und chaotisch machen können. Deshalb wollten wir diese Blogserie schreiben, um zu beschreiben, wie Sie spektroskopische Daten mit der JMP-Software importieren, visualisieren, bereinigen und analysieren können.
Um Ihnen das Ausprobieren einiger dieser Schritte an Ihren eigenen Daten zu erleichtern, haben wir das erstellt Spectral Tools-Add-In , über das Sie hier in der JMP-Community mehr erfahren und herunterladen können. Dabei handelt es sich um ein einfaches Add-In, das einige der in diesem Blogbeitrag besprochenen Datenimport- und Visualisierungsmethoden optimiert. Es handelt sich lediglich um einen Prototyp und nur um einen ersten Schritt zur Bereitstellung einiger praktischer Funktionen für Spektraldaten. Sie können uns Feedback in den Kommentaren zu diesem Blogbeitrag oder auf der Add-In-Seite geben.
In diesem Beitrag analysieren wir einen Nahinfrarot-Datensatz von Martens et al. " Lichtstreuung und Lichtabsorption getrennt durch erweiterte multiplikative Signalkorrektur. Anwendung auf die Nahinfrarot-Transmissionsanalyse von Pulvermischungen " Analytische Chemie 2003 Feb1;75(3):394-404. Wir zeigen, wie die Vorverarbeitung die Gesamtqualität der Daten verbessert und es Ihnen ermöglicht, in diesem Fall die Gruppierung basierend auf den Anteilen der Bestandteile viel klarer zu erkennen.
Spektren importieren
Beim Importieren von Spektren geht das Spectral Tools-Add-in davon aus, dass sich jedes Spektrum in einer separaten Datei in einem einzigen Verzeichnis befindet. Die Spektren können in durch Trennzeichen getrennten Textdateien (z. B. .csv oder .tsv) oder JCAMP-DX-Dateien vorliegen. Es wird nur JCAMP-DX ohne Komprimierung unterstützt. Das gestapelte Format ist das Standarddatentabellenformat in Spectra Tools. Sie können auch Dateien im Breitformat importieren. In diesem Blogbeitrag verwenden wir am häufigsten das gestapelte Format, einige der Vorverarbeitungsschritte erfordern jedoch das breite Format. Sie können zwischen den gestapelten und breiten Formaten konvertieren, indem Sie die Befehle „Stapel“ und „Teilen“ im Menü „Tabellen“ in JMP verwenden.
Datenvisualisierung
Wie bei allen neuen Daten empfehlen wir dringend, den Status der Daten zu visualisieren, sobald Sie sie in die Analysesoftware Ihrer Wahl eingegeben haben, und sie nach Abschluss der Vorverarbeitung regelmäßig mit diesem ersten Blick zu vergleichen. In JMP , wir verwenden die Graph Builder-Plattform, um bei der Visualisierung zu helfen.
Abbildung 1 zeigt ein Liniendiagramm der Spektren im Graph Builder. Wenn Ihre Daten im gestapelten Format vorliegen, ziehen Sie die X- und Y-Variablen auf ihre jeweilige Achse und verwenden Sie die Spektren-ID als Überlagerungsvariable. Alternativ können Sie den Befehl „Graph Builder starten“ in Spectra Tools verwenden. Für die Farbvariable verwenden wir die interessierende Antwortvariable, nämlich den Glutengehalt.
Figure 1. Spectra line plot in Graph Builder with spectra colored by gluten content.Figure 1. Spectra line plot in Graph Builder with spectra colored by gluten content.Figure 1. Spectra line plot in Graph Builder with spectra colored by gluten content.Figure 1. Spectra line plot in Graph Builder with spectra colored by gluten content.Abbildung 1. Spektrenliniendiagramm im Graph Builder mit nach Glutengehalt gefärbten Spektren.
Um in Bereiche von Interesse (ROIs) hineinzuzoomen, klicken Sie auf die X-Achse und ziehen Sie sie. Für einige weitere nützliche Steuerelemente können Sie im roten Dreiecksmenü einen lokalen Datenfilter erstellen. Dies wird standardmäßig in Spectral Tools bereitgestellt. Diese sind links in Abbildung 1 dargestellt. Der lokale Wellenlängendatenfilter kann verwendet werden, um sich auf einen interessierenden Bereich (ROI) zu konzentrieren. Um eine neue Datentabelle nur für die ROI-Daten zu erstellen, gehen Sie zum roten Dreieck des lokalen Datenfilters und wählen Sie Teilmenge anzeigen aus. Um außerdem nur eine Teilmenge der Spektren im Diagramm anzuzeigen, wählen Sie die Spektren im Spektren-ID-Lokaldatenfilter aus. Sie können die Animationssteuerung auch verwenden, um jeweils ein Spektrum durchzugehen.
Für kompliziertere Auswahlen wie mehrere ROIs können Sie die Spektren als Punkte darstellen und die interessierenden Punkte auswählen. Mit dem Befehl „Teilmenge“ im Menü „Tabelle“ können Sie eine Datentabelle nur mit den ROI-Daten erstellen.
Eine wichtige Sache, die Sie bei Graph Builder beachten sollten, ist, dass Sie das Skript in der Datentabelle speichern können, sobald Sie das Diagramm nach Ihren Wünschen eingerichtet haben, sodass dieselben Diagramme problemlos mit neuen Daten neu erstellt werden können. Beispielsweise möchten Sie möglicherweise Ihr Diagramm neu erstellen, wenn Sie Spektren vor und nach der Vorverarbeitung vergleichen. Eine weitere Möglichkeit zum Vergleichen von Spektren vor und nach der Vorverarbeitung ist die Verwendung des Befehls „Launch Graph Builder“ in Spectral Tools.
Auch neu in JMP 16 Im Graph Builder kann die Savitzky-Golay (SG)-Glättung als erster Vorverarbeitungsschritt angewendet werden (Abbildung 2). Sobald Sie Ihre Tuning-Parameter ausgewählt haben, können Sie die geglätteten Daten ausgeben. Gehen Sie zum glatteren roten Dreieck und wählen Sie Formel speichern. Beachten Sie, dass Ihre Wellenlänge hierfür eine kontinuierliche Variable sein muss (Sie können den Variablentyp bei Bedarf mithilfe der Spalteneigenschaften ändern).
Figure 2. Savitzky-Golay smoothed spectra in Graph Builder.Figure 2. Savitzky-Golay smoothed spectra in Graph Builder.Figure 2. Savitzky-Golay smoothed spectra in Graph Builder.Figure 2. Savitzky-Golay smoothed spectra in Graph Builder.Figur 2. Savitzky-Golay-geglättete Spektren im Graph Builder.
Im Graph Builder gibt es alternative Glättungsmethoden – wie Glättung von Splines und LOESS – die Sie vielleicht auch ausprobieren möchten. Es gibt auch alternative Gewichtsfunktionen im glatteren roten Dreiecksmenü. Viele dieser Optionen wurden in JMP 16 neu hinzugefügt.
Weitere zusammenfassende Messungen zur Quantifizierung der Qualität von Spektren sind im Graph Builder verfügbar. Um diese zu erstellen, entfernen Sie die Overlay-Variable, damit die mittleren Spektren angezeigt werden. Anschließend werden durch Auswahl der Optionen „Balkendiagramm“ und „Boxdiagramm“ die Diagramme in Abbildung 3 generiert. Schwankungen, die über Wellenlängen hinweg konstant sind, deuten häufig auf Rauschen – und die Notwendigkeit einer weiteren Vorverarbeitung – hin, wohingegen große Schwankungen, die für bestimmte Wellenlängen spezifisch sind, auf echte chemische Effekte hinweisen können.
Figure 3. Visualization of spectra variation in Graph Builder. (Top) Mean absorbance barplots at each wavelength with standard error. (Bottom) Absorbance boxplots at each wavelength.Figure 3. Visualization of spectra variation in Graph Builder. (Top) Mean absorbance barplots at each wavelength with standard error. (Bottom) Absorbance boxplots at each wavelength.Figure 3. Visualization of spectra variation in Graph Builder. (Top) Mean absorbance barplots at each wavelength with standard error. (Bottom) Absorbance boxplots at each wavelength.Figure 3. Visualization of spectra variation in Graph Builder. (Top) Mean absorbance barplots at each wavelength with standard error. (Bottom) Absorbance boxplots at each wavelength.Figur 3. Visualisierung der Spektrenvariation im Graph Builder.(Oben) Balkendiagramme der mittleren Absorption bei jeder Wellenlänge mit Standardfehler. (Unten) Absorptions-Boxplots bei jeder Wellenlänge.
Ein weiterer Diagrammtyp, der nützlich ist, wenn Ihre Daten im Breitformat vorliegen, ist das Paralleldiagramm (Abbildung 4). Dies ist besonders nützlich, wenn Sie die Spektren auf anderen Plattformen analysieren, die das breite Format erfordern, wie z. B. PCA, PLS oder andere Vorhersagemodellierungsplattformen. Durch die Auswahl von Spektren im Paralleldiagramm werden die entsprechenden Zeilen auf anderen Plattformen hervorgehoben:
Figure 4. Graph Builder parallel plot of spectra colored by gluten content.Figure 4. Graph Builder parallel plot of spectra colored by gluten content.Figure 4. Graph Builder parallel plot of spectra colored by gluten content.Figure 4. Graph Builder parallel plot of spectra colored by gluten content.Figur 4. Graph Builder Paralleldiagramm von Spektren, gefärbt nach Glutengehalt.
Vorverarbeitung
Eines der größten Hindernisse bei der Analyse von Spektraldaten ist die Notwendigkeit einer komplexen Datenvorverarbeitung. Wir zeigen, wie die Verwendung eines Add-Ins für die Savitsky-Golay-Ableitungsfilterung und einer Formel für die Streuungskorrektur der Standard-Normalvariable (SNV) Ihre Daten „bereinigen“ kann, sie leichter interpretierbar macht und es Ihnen letztlich ermöglicht, zuverlässigere Vorhersagemodelle zu erstellen .
Im ersten Schritt werden wir die scheinbaren Basislinienverschiebungen in den Spektren entfernen. Hierzu verwenden wir ein von Ian Cox entwickeltes SG-Datenfilter-Add-In (siehe das diesem Beitrag unten beigefügte Add-In). Dadurch werden nur Daten im Breitformat akzeptiert. Wählen Sie das Add-In „Datenfilterung“ aus der Liste der installierten Add-Ins in JMP. Wählen Sie die zu bearbeitenden Spalten aus und klicken Sie auf OK. Zur Überprüfung werden drei Ausgabediagramme angezeigt.
Die glattere SG-Benutzeroberfläche ist die polynomiale Anpassungsordnung (2 – 8). definiert, und die Länge der rechten und linken Kante des Glättungsfensters wird ebenfalls definiert. Wenn Sie einen dieser Werte ändern, werden die Diagramme automatisch aktualisiert, da die Ableitungen an den SG-geglätteten Spektren durchgeführt werden. Da Ableitungsfilter das Rauschen verstärken, ist häufig ein gewisses Maß an Glättung erforderlich. Abbildung 5 zeigt die Ausgabediagramme.
Figure 5. (Top) Savitzky-Golay smoother, (Middle) first derivative filter, (Bottom) second derivative filter.Figure 5. (Top) Savitzky-Golay smoother, (Middle) first derivative filter, (Bottom) second derivative filter.Figure 5. (Top) Savitzky-Golay smoother, (Middle) first derivative filter, (Bottom) second derivative filter.Figure 5. (Top) Savitzky-Golay smoother, (Middle) first derivative filter, (Bottom) second derivative filter.Abbildung 5. (Oben) Savitzky-Golay-Glättung, (Mitte) Filter der ersten Ableitung, (Unten) Filter der zweiten Ableitung.
Die gefilterten Daten können in einer neuen Datentabelle gespeichert werden, die dann bei Bedarf zur weiteren Vorverarbeitung zurück in die ursprüngliche Datentabelle übertragen werden kann. In diesem Fall wurden die Daten der ersten Ableitung ausgewählt und wieder in der ursprünglichen Datentabelle gespeichert.
Dies schien die Grundlinienverschiebungen effektiv zu beseitigen. Allerdings sind in den Spektren noch einige Streueffekte vorhanden. Eine Möglichkeit, die Streueffekte und chemischen Effekte visuell zu trennen, ist die Verwendung einer Gruppierungsvariablen im Graph Builder. Verschieben Sie die Variable Glutengehalt auf eine der Gruppenachsen. Graph Builder findet eine sinnvolle Einteilung und erstellt für jede Einteilung separate Panels. In diesen Daten haben wir nur 5 Werte für den Glutengehalt. Streueffekte bleiben bestehen, da die erste Ableitung die additive Basislinienverschiebung entfernte, jedoch nicht den multiplikativen Streueffekt. Wie man multiplikative Streueffekte mit einem Streueffektdiagramm veranschaulichen kann, zeigen wir im nächsten Blogbeitrag.
Figure 6. Spectra line plots with spectra separated by gluten content. Variation due to scatter effects can be seen in these plots.Figure 6. Spectra line plots with spectra separated by gluten content. Variation due to scatter effects can be seen in these plots.Figure 6. Spectra line plots with spectra separated by gluten content. Variation due to scatter effects can be seen in these plots.Figure 6. Spectra line plots with spectra separated by gluten content. Variation due to scatter effects can be seen in these plots.Abbildung 6. Spektrenliniendiagramme mit nach Glutengehalt getrennten Spektren.In diesen Diagrammen sind Abweichungen aufgrund von Streueffekten zu erkennen.
Um den verbleibenden Streueffekt zu beseitigen, führen wir eine SNV-Standardisierung durch. SNV erfordert, dass die Daten in einem gestapelten Format vorliegen. Wir erstellen eine neue Spalte und fügen die in Abbildung 7 gezeigte Formel hinzu.
Figure 7. Formula used to perform the SNV.Figure 7. Formula used to perform the SNV.Figure 7. Formula used to perform the SNV.Figure 7. Formula used to perform the SNV.Abbildung 7. Formel zur Durchführung des SNV.
Die Rohspektren und die endgültigen vorverarbeiteten Spektren sind in Abbildung 8 dargestellt. Um einen Plot wie diesen einfach zu starten, verwenden Sie den Befehl „Launch Graph Builder“ in Spectra Tools.
Diese einfachen Schritte haben bereits zu einer wesentlich einfacheren Interpretation der Spektren geführt, da Basislinienverschiebungen und multiplikative Streueffekte entfernt wurden. In ihrer Originalarbeit haben Martens et al. zeigte, wie die fortschrittlichere erweiterte multiplikative Signalkorrektur diesen Vorverarbeitungsworkflow weiter verbessern kann. Wir werden dies im nächsten Beitrag behandeln.
Figure 8. Spectra before and after the pre-processing steps applied in this blog. (Top) Before pre-processing, (Middle) after Savitzky-Golay first derivative filter, (Bottom) after standard normal variate.Figure 8. Spectra before and after the pre-processing steps applied in this blog. (Top) Before pre-processing, (Middle) after Savitzky-Golay first derivative filter, (Bottom) after standard normal variate.Figure 8. Spectra before and after the pre-processing steps applied in this blog. (Top) Before pre-processing, (Middle) after Savitzky-Golay first derivative filter, (Bottom) after standard normal variate.Figure 8. Spectra before and after the pre-processing steps applied in this blog. (Top) Before pre-processing, (Middle) after Savitzky-Golay first derivative filter, (Bottom) after standard normal variate.Abbildung 8. Spektren vor und nach den in diesem Blog angewendeten Vorverarbeitungsschritten. (Oben) vor der Vorverarbeitung, (Mitte) nach dem Savitzky-Golay-Filter der ersten Ableitung, (unten) nach der Standardnormalvariablen.
Zukünftige Nachrichten
Wir planen zwei weitere Beiträge in dieser Reihe. Im nächsten Abschnitt werden einige fortgeschrittenere Vorverarbeitungsmethoden wie die multiplikative Streuungskorrektur und die Basisliniensubtraktion vorgestellt.
Wir werden auch demonstrieren, wie dynamische Zeitverzerrung im Functional Data Explorer zum Ausrichten von Chromatogrammen verwendet werden kann. Im letzten Beitrag werden einige der prädiktiven Modellierungsmethoden in JMP, wie PCA, PLS und Generalisierte Regression, nach der Vorverarbeitung auf Spektren angewendet.
Probieren Sie einige dieser Ansätze aus und teilen Sie uns mit, wie sie mit Ihren Daten funktionieren!