Eine wirklich gute Möglichkeit, die Periodizität in einer regulären Datenreihe zu ermitteln, besteht darin, das Leistungsspektrum zu überprüfen, nachdem ein allgemeiner Trend entfernt wurde . (Dies eignet sich gut für ein automatisiertes Screening, wenn die Gesamtleistung auf einen Standardwert wie z. B. 1 normiert ist.) Das Entfernen des vorläufigen Trends (und das optionale Differenzieren zum Entfernen der seriellen Korrelation) ist wichtig, um zu vermeiden, dass Zeiträume mit anderen Verhaltensweisen verwechselt werden.
Das Leistungsspektrum ist die diskrete Fourier-Transformation der Autokovarianzfunktion einer entsprechend geglätteten Version der Originalserie. Wenn Sie sich die Zeitreihe als Abtastung einer physikalischen Wellenform vorstellen, können Sie abschätzen, wie viel von der Gesamtleistung der Welle in jeder Frequenz übertragen wird. Das Leistungsspektrum (oder Periodogramm ) zeigt die Leistung in Abhängigkeit von der Frequenz. Zyklische (dh sich wiederholende oder saisonale Muster) werden als große Spitzen angezeigt, die sich bei ihren Frequenzen befinden.
Betrachten Sie als Beispiel diese (simulierte) Zeitreihe von Residuen einer täglichen Messung für ein Jahr (365 Werte).
Die Werte schwanken um ohne erkennbare Trends, was zeigt, dass alle wichtigen Trends entfernt wurden. Die Fluktuation erscheint zufällig: Es ist keine Periodizität erkennbar.0
Hier ist eine weitere grafische Darstellung derselben Daten, die uns hilft, mögliche periodische Muster zu erkennen.
Wenn Sie wirklich genau hinschauen , können Sie möglicherweise ein lautes, aber sich wiederholendes Muster erkennen, das 11 bis 12 Mal auftritt. Die langen Folgen von Werten über und unter Null lassen zumindest auf eine positive Autokorrelation schließen, was zeigt, dass diese Reihe nicht vollständig zufällig ist.
Hier ist das Periodogramm für Frequenzen bis zu 91 (ein Viertel der gesamten Serienlänge). Es wurde mit einem Welch-Fenster konstruiert und auf die Einheitsfläche normiert (für das gesamte Periodogramm, nicht nur den hier gezeigten Teil).
Die Leistung sieht aus wie "weißes Rauschen" (kleine zufällige Schwankungen) plus zwei hervorstechende Spitzen. Sie sind schwer zu übersehen, nicht wahr? Der größere tritt in einem Zeitraum von 12 und der kleinere in einem Zeitraum von 52 auf. Diese Methode hat dabei einen monatlichen Zyklus und einen wöchentlichen Zyklus in diesen Daten festgestellt . Das ist wirklich alles was dazu gehört. Um die Erkennung von Zyklen ("Saisonalität") zu automatisieren, scannen Sie einfach das Periodogramm (eine Liste von Werten) auf relativ große lokale Maxima.
Es ist Zeit zu enthüllen, wie diese Daten erstellt wurden.
Die Werte werden aus einer Summe von zwei Sinuswellen erzeugt, eine mit der Frequenz 12 (mit der quadratischen Amplitude 3/4) und eine mit der Frequenz 52 (mit der quadratischen Amplitude 1/4). Dies sind die Spitzen, die im Periodogramm festgestellt werden. Ihre Summe wird als dicke schwarze Kurve dargestellt. Dann wurde normales Rauschen der Varianz 2 hinzugefügt, wie durch die hellgrauen Balken gezeigt, die sich von der schwarzen Kurve zu den roten Punkten erstrecken. Dieses Rauschen verursachte die leisen Wackelbewegungen am unteren Rand des Periodogramms, die andernfalls nur eine flache 0 wären. Zwei Drittel der gesamten Variation der Werte sind nicht periodisch und zufällig, was sehr verrauscht ist. Deshalb ist es so Es ist so schwierig, die Periodizität nur durch Betrachten der Punkte zu erkennen. Nichtsdestotrotz (zum Teil, weil es so viele Daten gibt) ist es einfach, die Frequenzen mit dem Periodogramm zu finden und das Ergebnis ist klar.
Anweisungen und Ratschläge zum Berechnen von Periodogrammen finden Sie auf der Website " Numerical Recipes" (Numerische Rezepte). Lesen Sie den Abschnitt "Schätzung des Leistungsspektrums mithilfe der FFT". R
hat Code für die Periodogrammschätzung . Diese Illustrationen wurden in Mathematica 8 erstellt; Das Periodogramm wurde mit seiner "Fourier" -Funktion berechnet.