Naprawdę dobrym sposobem na znalezienie okresowości w każdej regularnej serii danych jest sprawdzenie jego spektrum mocy po usunięciu ogólnego trendu . (To dobrze nadaje się do automatycznego przesiewania, gdy całkowita moc jest znormalizowana do wartości standardowej, takiej jak jedność.) Wstępne usunięcie trendu (i opcjonalne różnicowanie w celu usunięcia korelacji szeregowej) jest niezbędne, aby uniknąć pomyłek z innymi zachowaniami.
Spektrum mocy jest dyskretną transformatą Fouriera funkcji autokowariancji odpowiednio wygładzonej wersji oryginalnej serii. Jeśli uważasz, że szereg czasowy jest próbkowaniem fali fizycznej, możesz oszacować, ile całkowitej mocy fali jest przenoszone w obrębie każdej częstotliwości. Widmo mocy (lub periodogram ) wykreśla moc w funkcji częstotliwości. Cykliczne (to znaczy powtarzalne lub sezonowe wzorce) pojawią się jako duże skoki zlokalizowane na ich częstotliwościach.
Jako przykład rozważmy ten (symulowany) szereg czasowy pozostałości z codziennego pomiaru wykonanego przez jeden rok (365 wartości).
Wartości wahają się wokół bez wyraźnych trendów, co pokazuje, że wszystkie ważne trendy zostały usunięte. Wahania wydają się losowe: okresowość nie jest widoczna.0
Oto kolejny wykres tych samych danych, narysowany, aby pomóc nam zobaczyć możliwe okresowe wzorce.
Jeśli spojrzysz naprawdę ciężko, być może zauważysz hałaśliwy, ale powtarzalny wzór, który pojawia się 11 do 12 razy. Długie sekwencje wartości powyżej zera i poniżej zera przynajmniej sugerują pewną pozytywną autokorelację, pokazując, że ta seria nie jest całkowicie losowa.
Oto periodogram pokazany dla częstotliwości do 91 (jedna czwarta całkowitej długości serii). Został zbudowany z oknem Welcha i znormalizowany do obszaru jednostki (dla całego periodogramu, nie tylko pokazanej tutaj części).
Moc wygląda jak „biały szum” (małe przypadkowe fluktuacje) plus dwa wyraźne skoki. Trudno je przeoczyć, prawda? Większy występuje w okresie 12, a mniejszy w okresie 52. W ten sposób w tych danych wykryto cykl miesięczny i cykl tygodniowy . To naprawdę wszystko. Aby zautomatyzować wykrywanie cykli („sezonowość”), po prostu zeskanuj periodogram (który jest listą wartości) w poszukiwaniu stosunkowo dużych lokalnych maksimów.
Czas ujawnić, w jaki sposób te dane zostały utworzone.
Wartości są generowane z sumy dwóch fal sinusoidalnych, jednej o częstotliwości 12 (o kwadratowej amplitudzie 3/4), a drugiej o częstotliwości 52 (o kwadratowej amplitudzie 1/4). To właśnie wykryły skoki w periodogramie. Ich suma jest pokazana jako gruba czarna krzywa. Następnie dodano normalny hałas wariancji 2, jak pokazują jasnoszare paski rozciągające się od czarnej krzywej do czerwonych kropek. Ten hałas wprowadził ruchy dolnego poziomu w dolnej części periodogramu, które w innym przypadku byłyby tylko płaskie 0. Całkowicie dwie trzecie całkowitej zmienności wartości jest nieokresowe i losowe, co jest bardzo głośne: dlatego jest tak trudno jest dostrzec częstotliwość, patrząc tylko na kropki. Niemniej jednak (częściowo dlatego, że jest tak dużo danych) znalezienie częstotliwości za pomocą periodogramu jest łatwe, a wynik jest jasny.
Instrukcje i dobre porady dotyczące obliczania periodogramów znajdują się na stronie z przepisami numerycznymi : poszukaj sekcji na temat „szacowania widma mocy za pomocą FFT”. R
ma kod do estymacji periodogramu . Te ilustracje zostały stworzone w Mathematica 8; periodogram obliczono za pomocą funkcji „Fouriera”.