Glätten von 2D-Daten

8

Die Daten bestehen aus optischen Spektren (Lichtintensität gegen Frequenz), die zu unterschiedlichen Zeiten aufgenommen wurden. Die Punkte wurden in einem regelmäßigen Raster in x (Zeit), y (Frequenz) erfasst. Um die zeitliche Entwicklung bei bestimmten Frequenzen zu analysieren (ein schneller Anstieg, gefolgt von einem exponentiellen Abfall), möchte ich einen Teil des in den Daten vorhandenen Rauschens entfernen. Dieses Rauschen kann für eine feste Frequenz wahrscheinlich als zufällig mit Gauß-Verteilung modelliert werden. Zu einem festgelegten Zeitpunkt zeigen die Daten jedoch eine andere Art von Rauschen mit großen Störspitzen und schnellen Schwingungen (+ zufälliges Gaußsches Rauschen). Soweit ich mir vorstellen kann, sollte das Rauschen entlang der beiden Achsen unkorreliert sein, da es unterschiedliche physikalische Ursprünge hat.

Was wäre ein vernünftiges Verfahren, um die Daten zu glätten? Das Ziel ist nicht, die Daten zu verzerren, sondern "offensichtliche" verrauschte Artefakte zu entfernen. (und kann eine Überglättung eingestellt / quantifiziert werden?) Ich weiß nicht, ob eine Glättung in einer Richtung unabhängig von der anderen sinnvoll ist oder ob es besser ist, in 2D zu glätten.

Ich habe Dinge über die Schätzung der 2D-Kerneldichte, die 2D-Polynom- / Spline-Interpolation usw. gelesen, bin aber mit dem Jargon oder der zugrunde liegenden statistischen Theorie nicht vertraut.

Ich verwende R, für das ich viele Pakete sehe, die verwandt erscheinen (MASS (kde2), Felder (glatt.2d) usw.), aber ich kann hier nicht viele Ratschläge finden, welche Technik ich anwenden soll.

Ich freue mich, mehr zu erfahren, wenn Sie bestimmte Referenzen haben, auf die Sie mich hinweisen können (ich höre, MASS wäre ein gutes Buch, aber vielleicht zu technisch für einen Nicht-Statistiker).

Bearbeiten: Hier ist ein Dummy-Spektrogramm, das für die Daten repräsentativ ist, mit Schnitten entlang der Zeit- und Wellenlängendimensionen.

image2d

Das praktische Ziel hierbei ist es, die exponentielle Abklingrate in der Zeit für jede Wellenlänge (oder Bins, wenn sie zu verrauscht sind) zu bewerten.

Baptiste
quelle
Bei wie vielen Frequenzen wurden Messungen durchgeführt? Wenn es sich nicht um eine große Zahl handelt, kann es sinnvoll sein, dies als eine Reihe einzelner (aber verwandter) Zeitreihen zu betrachten, eine für jede bestimmte Frequenz?
Peter Ellis
@ PeterEllis eine große Zahl (sagen wir 500, aber der Allgemeinheit halber könnte es noch größer sein)
Baptiste
Meine Vermutung ist, sie als über 500 korrelierte Zeitreihen zu behandeln und Zeitreihentechniken wie gleitenden Durchschnitt oder exponentielle Glättung zu verwenden. Verwenden Sie anschließend nur die 2D-Glättung und nur dann, wenn dies für eine stilisierte grafische Darstellung erforderlich ist. Ich habe jedoch nicht genug Unterstützung, um daraus eine richtige "Antwort" zu machen.
Peter Ellis
1
Ich würde mich mit "robusten" Methoden befassen. Diese Methoden versuchen, Ausreißer zu entgewichten.
Zum
Gibt es etwas Spezifisches für die Zeitvariable, das Zeitreihen zu einer bestimmten Art statistischer Analyse macht?
Taufe

Antworten:

4

Sie müssen ein Modell angeben, das das Signal vom Rauschen trennt.

Es gibt die Rauschkomponente auf dem Messpegel, die Sie als Gauß annehmen. Die anderen Komponenten, abhängig von den Messungen:

  • "Dieses Rauschen kann für eine feste Frequenz wahrscheinlich als zufällig mit Gauß-Verteilung modelliert werden." Klärungsbedürftig - Ist die Rauschkomponente angesichts der Frequenz allen Zeitpunkten gemeinsam? Ist die Standardabweichung für alle Frequenzen gleich? Usw.

  • "Zu einem festgelegten Zeitpunkt zeigen die Daten jedoch eine andere Art von Rauschen mit großen Störspitzen und schnellen Schwingungen." Wie trennen Sie das vom Signal, denn vermutlich sind Sie an einer Variation der Intensität über die Frequenz interessiert. Unterscheidet sich die interessante Variante irgendwie von der uninteressanten und wenn ja, wie?

Störschwingungen oder nicht-Gaußsches Rauschen sind im Allgemeinen kein großes Problem, wenn Sie eine realistische Vorstellung von ihren Eigenschaften haben. Sie kann modelliert werden, indem die Daten transformiert werden (und dann ein Gauß-Modell verwendet wird) oder indem explizit eine nicht-Gauß-Fehlerverteilung verwendet wird. Das Modellieren von Rauschen, das über Messungen korreliert ist, ist schwieriger.

Abhängig davon, wie Ihr Rausch- und Datenmodell ist, können Sie die Daten möglicherweise mit einem Allzweckwerkzeug wie den GAMs im mgcv-Paket modellieren, oder Sie benötigen ein flexibleres Werkzeug, das leicht zu einem ganz benutzerdefinierten Bayes'schen Setup führt . Es gibt Tools für solche Modelle, aber wenn Sie kein Statistiker sind, dauert es eine Weile, bis Sie lernen, sie zu verwenden.

Ich denke, entweder eine spezifische Lösung für die Spektralanalyse oder das mgcv-Paket sind Ihre besten Wetten.

scellus
quelle
Guter Rat, danke, ich muss mir diese Optionen ansehen und über die Beschreibung des Geräusches genauer nachdenken.
Taufe
1
Das Rauschen in optischen Spektren hängt normalerweise von der Intensität des gemessenen Lichts ab (das "Zählen" von Photonen ist ein Poisson-Prozess) und häufig auch von der Wellenlänge / Frequenz (aufgrund der Detektoreigenschaften). Es gibt eine ganze Reihe von Prozessen, die zum Instrumentenrauschen beitragen, siehe z. B. Skoog & Leary: Prinzipien der Instrumentalanalyse. Die vorherrschende Art des Geräusches hängt von der Art des Instruments (und dem Experiment) ab. Das d-über-Zeit-Diagramm zeigt eine deutliche Abhängigkeit von der Größe, was darauf hindeutet, dass Baptiste Intensitätsmessungen durchführt (im Gegensatz zu z. B. Absorptionsspektren).
cbeleites unglücklich mit SX
2

Eine Zeitreihe von Spektren legt mir ein kinetisches Experiment nahe , und es gibt eine gut etablierte Menge chemometrischer Literatur darüber.

Was weißt du über die Spektren? Um welche Art von Spektren handelt es sich? Können Sie vernünftigerweise erwarten, dass Sie nur zwei Arten haben, Edukt und Produkt?

XCS

X(nspc×nwl)=C(nspc×ncomp)S(ncomp×nwl)

Sie sagen, dass Sie einen exponentiellen Abfall (in den Konzentrationen) schätzen möchten. Dies zusammen mit der Bilinearität legt für mich eine multivariate Kurvenauflösung (MCR) nahe. Dies ist eine Technik, mit der Sie Informationen (z. B. reine Komponentenspektren einiger Substanzen oder Annahmen zum Konzentrationsverhalten wie den exponentiellen Abfall) während der Modellanpassung verwenden können.

Soweit ich weiß, ist es durchaus üblich, die Konzentrationen nach einem bestimmten, z. B. kinetischen Modell zu glätten, aber es ist weitaus seltener, die Spektren zu glätten. Der Algorithmus erlaubt dies jedoch. Ich habe Anna im Sommer gefragt, ob sie Glättungsbeschränkungen auferlegen, aber sie hat mir gesagt, dass dies nicht der Fall ist (und gute Spektroskopiker hassen es, zu glätten, anstatt gute Spektren zu messen ;-)). Oft wird es auch nicht benötigt, da die Aggregation der Informationen aus allen Spektren bereits gute Schätzungen der reinen Komponentenspektren ergibt.

Ich habe in letzter Zeit zweimal "Komponentenspektren" (tatsächlich Hauptkomponenten) geglättet ( Dochow et al . : Raman-on-Chip-Gerät und Detektionsfasern mit Faser-Bragg-Gitter zur Analyse von Lösungen und Partikeln, LabChip, 2013 und Dochow el al. : Quarz-Mikrofluidik-Chip zur Identifizierung von Tumorzellen durch Raman-Spektroskopie in Kombination mit optischen Fallen (AnalBioanalChem, akzeptiert), aber in diesen Fällen sagte mir mein spektroskopisches Wissen, dass ich dies tun darf. Ich wende ziemlich regelmäßig eine Downsampling- und Glättungsinterpolation auf meine Raman-Spektren an ( hyperSpec::spc.loess).

Woher wissen, was zu viel Glättung ist? Ich denke, die einzig mögliche Antwort ist "Expertenwissen über die Art der Spektroskopie und des Experiments".


edit: Ich habe die Frage noch einmal gelesen und du sagst, du willst den Zerfall bei jeder Wellenlänge schätzen. Stimmt das jedoch oder möchten Sie den Zerfall verschiedener Arten mit überlappenden Spektren abschätzen?

cbeleites unzufrieden mit SX
quelle
Danke für die Referenzen. Obwohl die Stichprobe nicht wirklich zwei Arten aufweist, ist sie etwas ähnlich (zwei unterschiedliche physikalische Prozesse zur Unterscheidung). Ich werde genauer hinsehen, wenn ich von einer Konferenz zurückkomme.
Taufe
@baptiste: Gute Konferenz. Haben Sie etwas dagegen zu sagen, welche Art von Prozessen Sie haben? Können Sie also annehmen, dass "innerhalb" jedes Prozesses die spektralen Eigenschaften gleich sind, oder können sich die Schwingungen über das Spektrum "bewegen" (Frequenz ist mehrdeutig, wenn Sie ein Schwingungsmuster in einem Spektrum haben )?
cbeleites unglücklich mit SX
1

Die Daten bestehen aus optischen Spektren (Lichtintensität gegen Frequenz), die zu> unterschiedlichen Zeiten aufgenommen wurden. Die Punkte wurden in einem regelmäßigen Raster in x (Zeit), y (Frequenz) erfasst.

intensity=f(time,frequency)feine Summe von Basisfunktionen (z. B. b-Splines) und Koeffizienten. Ein begrenzter Satz von Basisfunktionen reduziert direkt die Rauheit und löscht daher einen Großteil des weißen Rauschens.

Ich habe Dinge über 2D-Kernel-Dichteschätzung, 2D-Polynom / Spline-Interpolation usw. gelesen.

...

Ich verwende R, für das ich viele Pakete sehe, die verwandt erscheinen (MASS (kde2), Felder (glatt.2d) usw.), aber ich kann hier nicht viele Ratschläge finden, welche Technik ich anwenden soll.

Sie haben die Spline-Interpolation erwähnt, aber das FDA-Paket nicht erwähnt, das die oben erwähnte Basisfunktionserweiterung ziemlich gut und leicht zugänglich implementiert. Der Satz simultaner Messungen für Zeit, Frequenz und Intensität (geordnet als dreidimensionales Array) könnte als ein bivariates Funktionsdatenobjekt erfasst werden, siehe. zB die Funktion 'Data2fd'. Darüber hinaus sind in der Verpackung mehrere Glättungsverfahren verfügbar, die alle darauf ausgelegt sind, weißes Rauschen oder "Rauheit" bei Messungen von inhärent glatten Prozessen zu beseitigen.

Der Wikipedia- Artikel formuliert das Problem des weißen Rauschens in der FDA wie folgt:

Die Daten können so genau sein, dass Fehler ignoriert werden können, erheblichen Messfehlern unterliegen können oder sogar eine komplexe indirekte Beziehung zu der von ihnen definierten Kurve haben. ... die täglichen Niederschlagsaufzeichnungen an einer Wetterstation sind so unterschiedlich, dass sorgfältige und differenzierte Analysen erforderlich sind, um so etwas wie eine mittlere Niederschlagskurve zu extrahieren.

Die FDA stellt die Tools für diese Fälle bereit. Übersetzt sich das nicht auf Ihren Fall?

... aber ich kenne den Jargon oder die zugrunde liegende statistische Theorie nicht ...

... aber ich kann hier nicht viele Ratschläge finden, welche Technik ich anwenden soll ...

In Bezug auf die FDA: Ich war es auch nicht, aber das Buch von Ramsay und Silverman über die FDA (2005) macht die Grundlagen sehr gut zugänglich, und Ramsay Hooker und Graves (2009) übersetzen die Erkenntnisse aus dem Buch direkt in R-Code. Beide Bände sollten als E-Books in einer Universitätsbibliothek für Statistik, Biowissenschaften, Klimatologie oder Psychologie verfügbar sein. Google wird auch einige weitere Links aufrufen, die ich hier nicht zusammen posten kann.

Entschuldigung, dass ich keine direktere Lösung für Ihr Problem anbieten kann. Die FDA hat mir jedoch sehr geholfen, als ich herausgefunden habe, wofür es ist.

user1966337
quelle
das ist hilfreich danke. Ich hatte gehofft, eine globalere Perspektive als nur eine bestimmte Technik zu hören, aber wenn das die ist, die ich verwenden sollte, ist alles gut.
Taufe
Danke für den Kredit. Schließlich kann niemand außer Ihnen selbst oder Ihren unmittelbaren Kollegen entscheiden, welche Methode geeignet ist. Aber in Anbetracht dessen, was Sie beschrieben haben, würde ich einen Blick auf die FDA im Allgemeinen werfen. Möglicherweise erhalten Sie weitere Ideen zur Analyse Ihrer Daten.
user1966337
@ user1966337: Zu Ihrer Information: In der optischen Spektroskopie haben die Intensitäten bei unterschiedlichen Wellenlängen häufig eine unterschiedliche Bedeutung, sodass Sie sie als Variablen für ein (physikalisch bedeutsames) bilineares Modell mit wenigen Komponenten behandeln können, was zu einem eingeschränkteren Modell der Daten führt. Manchmal haben Sie jedoch Auswirkungen, die dies nicht zulassen und bei denen die FDA angemessener wäre.
cbeleites unglücklich mit SX
1

Als einfacher Physiker und nicht als Statistikexperte würde ich einen einfachen Ansatz verfolgen. Die beiden Dimensionen sind unterschiedlicher Natur. Es wäre sinnvoll, die Zeit mit einem Algorithmus zu glätten und die Wellenlänge mit einem anderen zu glätten.

Die tatsächlichen Algorithmen, die ich verwenden würde: für die Wellenlänge Savitzky-Golay mit einer höheren Ordnung, 6 vielleicht 8.

Wenn dieses Beispiel typisch ist, machen es ein plötzlicher Sprung und ein mehr oder weniger exponentieller Rückgang mit der Zeit schwierig. Ich hatte einfach so experimentelle Daten und verrauschte Bilder. Wenn einfache, unkomplizierte Methoden nicht ausreichen, versuchen Sie es mit einem Gaußschen Glätter, unterdrücken Sie jedoch dessen Wirkung in der Nähe des Sprungs, wie er von einem Kantendetektor erkannt wird. Glätten und verbreitern Sie die Ausgabe des Kantendetektors, normalisieren Sie sie auf 0,0 bis 1,0 und wählen Sie damit Pixel für Pixel zwischen dem Originalbild und dem Gaußschen geglätteten Bild.

DarenW
quelle
0

@baptiste: Ich bin froh, dass du die Handlung hinzugefügt hast, wie ich vorgeschlagen habe. Es hilft sehr:

Wenn ich das richtig verstehe, besteht Ihr praktisches Ziel darin, die exponentielle Abklingrate für jede Wellenlänge zu bewerten. dann lass uns genau das tun! Definieren Sie eine Funktion, die Sie für jede Wellenlänge separat minimieren möchten, und minimieren Sie sie.

Schauen wir uns eine einzelne Wellenlänge an, wie in Ihrem Diagramm unten rechts.

τ

τ^=argminτti||eti/τdi||2

ττ

Wenn Sie später der Meinung sind, dass benachbarte Wellenlängen ähnliche Abklingkonstanten haben sollten, können Sie dies in ein ausführlicheres Optimierungskriterium einbeziehen.

Wenn überhaupt, würde ich vorschlagen, dass Sie ein Buch lesen, das Sie unbedingt lesen müssen: Boyds konvexe Optimierung .

Hoffe das hilft!

zorbar
quelle
Entschuldigung, aber es scheint ein Missverständnis zu geben: Ich bin mit nichtlinearer Optimierung vertraut. Hier möchte ich wissen, welche Glättungstechniken ich für solche Daten verwenden kann, wenn die Anpassung bei jeder Wellenlänge aufgrund des Rauschens in beiden Dimensionen nicht zuverlässig ist. Zugegeben, mein Dummy-Beispiel scheint ziemlich praktikabel zu sein, aber wenn ich mehr Rauschen hinzugefügt hätte, wäre es schwieriger gewesen, es zu visualisieren. Ich mag den zuvor vorgeschlagenen FDA-Ansatz, da er sowohl den Anpassungsteil als auch die Glättung in einer Methodik umfasst.
Taufe