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.
quelle
Antworten:
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.
quelle
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.
quelle
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.
quelle
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.
quelle
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.
quelle
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.
quelle