Дійсно хороший спосіб знайти періодичність у будь-якій регулярній серії даних - перевірити її спектр потужності після усунення будь-якої загальної тенденції . (Це добре піддається автоматизованому скринінгу, коли загальна потужність нормалізується до стандартного значення, такого як одиниця.) Попереднє усунення тренда (і необов'язкове розмежування для видалення послідовного кореляційного зв’язку) є важливим для уникнення плутанини періодів з іншою поведінкою.
Спектр потужності - це дискретні перетворення Фур'є функції автоковаріації відповідно згладженої версії оригінальної серії. Якщо ви вважаєте часовий ряд як вибірку фізичної форми хвилі, ви можете оцінити, яка частина сумарної сили хвилі переноситься в межах кожної частоти. Спектр потужності (або періодограма ) будує потужність проти частоти. Циклічні (тобто повторювані або сезонні візерунки) виявляться у вигляді великих шипів, розташованих на їх частотах.
Як приклад, розглянемо цей (імітований) часовий ряд залишків із щоденного вимірювання, проведеного протягом одного року (365 значень).
0
Ось ще один сюжет із тих же даних, намальований, щоб допомогти нам побачити можливі періодичні закономірності.
Якщо ви виглядаєте по- справжньому важко, ви, можливо, зможете помітити галасливий, але повторюваний малюнок, що виникає від 11 до 12 разів. Тривалі послідовності вище нульових та нижчих нульових значень принаймні говорять про деяку позитивну автокореляцію, показуючи, що цей ряд не є абсолютно випадковим.
Ось періодограма, показана для частот до 91 (одна чверть загальної довжини серії). Він був побудований за допомогою вікна Welch і нормалізований на одиницю площі (для всієї періодограми, а не лише для частини, показаної тут).
Потужність виглядає як "білий шум" (невеликі випадкові коливання) плюс два помітні шипи. Їх важко пропустити, чи не так? Більший виникає в 12 і менший - у 52. Цей спосіб виявив щомісячний та тижневий цикл у цих даних. Це дійсно все, що там є. Щоб автоматизувати виявлення циклів ("сезонність"), просто скануйте періодограму (яка є переліком значень) щодо відносно великих локальних максимумів.
Настав час розкрити, як ці дані були створені.
Значення генеруються із суми двох синусоїд: одна з частотою 12 (амплітуди квадрата 3/4) та інша з частотою 52 (амплітуди квадрата 1/4). Це те, що виявлено шипи в періодограмі. Їх сума показана як товста чорна крива. Потім додався звичайний шум варіації 2, як показано світло-сірими смугами, що проходять від чорної кривої до червоних крапок. Цей шум запроваджував низькорівневі ворушіння внизу періодограми, які в іншому випадку були б просто плоскими 0. Повністю дві третини загальної зміни значень неперіодичні та випадкові, що дуже шумно: саме тому так важко розібратися в періодичності, просто переглянувши крапки. Тим не менш (частково через те, що є стільки даних) знайти частоти за допомогою пародограми легко, і результат зрозумілий.
Інструкції та корисні поради щодо обчислення періодограми з’являються на веб-сайті « Числові рецепти» : шукайте розділ «Оцінка спектру потужності за допомогою FFT». R
має код для оцінки періодограми . Ці ілюстрації були створені в Mathematica 8; періодограма була обчислена за її функцією "Фур'є".