Zweifelhafte Verwendung von Signalverarbeitungsprinzipien zur Identifizierung eines Trends

10

Ich schlage vor, zu versuchen, einen Trend in einigen sehr verrauschten Langzeitdaten zu finden. Die Daten sind im Grunde wöchentliche Messungen von etwas, das sich über einen Zeitraum von ungefähr 8 Monaten um 5 mm bewegte. Die Daten haben eine Genauigkeit von 1 mm und sind sehr verrauscht und ändern sich regelmäßig um +/- 1 oder 2 mm in einer Woche. Wir haben nur die Daten auf den nächsten mm.

Wir planen, eine grundlegende Signalverarbeitung mit einer schnellen Fourier-Transformation zu verwenden, um das Rauschen von den Rohdaten zu trennen. Die Grundannahme ist, dass wir, wenn wir unseren Datensatz spiegeln und am Ende unseres vorhandenen Datensatzes hinzufügen, eine vollständige Wellenlänge der Daten erstellen können. Daher werden unsere Daten in einer schnellen Fourier-Transformation angezeigt und wir können sie hoffentlich dann trennen .

Ist dies angesichts der Tatsache, dass dies für mich etwas zweifelhaft klingt, eine Methode, die es wert ist, verwendet zu werden, oder ist die Methode zum Spiegeln und Anhängen unseres Datensatzes irgendwie grundlegend fehlerhaft? Wir betrachten auch andere Ansätze wie die Verwendung eines Tiefpassfilters.

Ian Turner
quelle
Was ist mit langsamer (Standard-) Fourier-Transformation?
Sind diese zufällig korrigierten GPS-Messungen der Plattenbewegung zufällig?
whuber
Es waren tatsächlich Bewegungen eines Tunnels, während um ihn herum Bauarbeiten durchgeführt wurden. Wir haben erwartet, dass die Bewegung während des Überwachungszeitraums sehr grob einer S-Kurve folgt.
Ian Turner

Antworten:

9

Es klingt für mich zwielichtig, da die Trendschätzung in der Nähe des Punktes verzerrt ist, an dem Sie die falschen Daten verbinden. Ein alternativer Ansatz ist eine nichtparametrische Regressionsglättung wie Löss oder Splines.

Rob Hyndman
quelle
8

Wenn Sie den langfristigen Trend mithilfe der Signalverarbeitung herausfiltern möchten, verwenden Sie einfach einen Tiefpass.

Das Einfachste, was ich mir vorstellen kann, wäre ein exponentieller gleitender Durchschnitt.

James Roth
quelle
Wir haben es uns angesehen. Funktionierte in Ordnung, aber in diesem Fall schien das Rauschen immer noch etwas zu stark zu sein, und wenn wir die Parameter änderten, um die Verteilungen ausreichend auszugleichen, schien der Trend zu stark gedämpft zu sein. Vielleicht gibt es in diesem Fall einfach keine Lösung für die Daten und sie sind einfach etwas zu verrauscht.
Ian Turner
1
Exponentiell gewichtete gleitende Durchschnitte sind ein Sonderfall eines Kernel-Glätters (vorausgesetzt, Sie haben einen 2-seitigen MA anstelle eines 1-seitigen verwendet). Bessere Schätzungen, die Verallgemeinerungen davon sind, sind Löss oder Splines - siehe meine Antwort.
Rob Hyndman
7

Ich denke, Sie können eine gewisse Verzerrung am Einfügepunkt bekommen, da nicht alle zugrunde liegenden Wellen sehr gut miteinander verbunden sind.

Ich würde vorschlagen, dafür eine Hilbert-Huang-Transformation zu verwenden. Führen Sie einfach die Aufteilung in intrinsische Modusfunktionen durch und sehen Sie, was bei der Berechnung als Rest übrig bleibt.

Peter Smit
quelle
7

Sie können die (schnelle :)) diskrete Wavelet-Transformation verwenden . Das Paket wavethresh unter R erledigt die ganze Arbeit. Wie auch immer, ich mag die Lösung von @James, weil sie einfach ist und direkt auf den Punkt zu kommen scheint.

Robin Girard
quelle
Einverstanden; Wavelets eignen sich hervorragend zur Erkennung von instationärem Verhalten bei hohen Rauschmengen. Sie müssen jedoch vorsichtig mit dem DWT sein. Es ist nicht rotationsinvariant (obwohl es Modifikationen des DWT gibt, siehe z. B. Percival und Walden 2000), sodass Sie je nach Startpunkt für Ihre Daten scharfe Transienten verlieren können. Außerdem implizieren die meisten Implementierungen des DWT eine implizite Zirkularisierung der Daten, sodass Sie dies noch steuern müssen.
Rich
Wenn mein Gedächtnis gut ist, enthält das Paket wavethresh eine übersetzungsinvariante Entrauschung (meine Referenz war Coifman 1995) (Beachten Sie, dass Sie über Rotation gesprochen haben, sprechen wir nicht über zeitliche Signale?).
Robin Girard
Sprechen Sie über MODWT (Maximum Overlap Discrete Wavelet Transform)?
RockScience
@fRed: Nein, hier ist die Zeitung, Coifman und Donoho: citeseerx.ist.psu.edu/viewdoc/…
Robin Girard
4

Die meiste Zeit, wenn ich "langfristigen Trend" höre, denke ich an langfristige Aufwärtstrends oder langfristige Abwärtstrends , von denen keiner durch eine Fourier-Transformation richtig erfasst wird. Solche Einwegtrends lassen sich mithilfe der linearen Regression besser analysieren . (Fourier-Transformationen und Periodogramme eignen sich besser für Dinge, die auf und ab gehen).

Die lineare Regression ist in den meisten Tabellenkalkulationen einfach durchzuführen. (a) Anzeigen von Gleichungen für Regressionslinien (b) Erstellen von XY-Streudiagrammen mit Tabellenkalkulationen

Die lineare Regression versucht, Ihre Daten mit einer geraden Linie zu approximieren. Fourier-Transformationen versuchen, Ihre Daten mit ein paar addierten Sinuswellen zu approximieren. Es gibt andere Techniken ("nichtlineare Regression"), die versuchen, Ihre Daten an Polynome oder andere Formen anzunähern.

David Cary
quelle
2

Die Fourier-Transformation setzt eine Wide-Sense-Signalstationarität und eine lineare Zeitinvarianz (LTI) voraus. Obwohl es robust gegenüber Verstößen gegen diese Bedingungen ist, halte ich es aufgrund der Annahme von Stationarität nicht für geeignet, Trends zu analysieren, dh Sie versuchen, etwas zu messen, das gegen eine der Grundannahmen der FFT verstößt.

Ich würde den obigen Postern zustimmen. Das Spiegeln Ihrer Daten und das Hinzufügen der gespiegelten Daten zum Ende Ihrer Zeitreihe ist zweifelhaft. Ich würde vorschlagen, dass die Anpassung eines linearen Regressionsmodells an einen Zeittrend wie oben erwähnt wahrscheinlich angemessener ist.

Wenn Sie die Periodizität untersuchen möchten, können Sie den Trend durch Hochpassfilterung und Durchführung einer Fourier-Analyse entfernen. Wenn der Trend nach dem Filtern sichtbar bleibt, können Sie vor der FFT eine angepasste lineare Regressionslinie vom ursprünglichen Signal subtrahieren.

BGreene
quelle