Аналіз сингулярного спектру (англ. Singular spectrum analysis, SSA), також «Гусениця» — метод аналізу часових рядів, що базується на перетворенні одновимірного часового ряду на багатовимірний і подальший його сингулярний розклад. При правильному використанні метод дозволяє розділити часовий ряд на тренд, періодичні компоненти і випадковий шум.
Опис базового методу
У найбільш розповсюдженому варіанті алгоритму, вхідними даними є одномірний часовий ряд , де — довжина ряду. SSA складається з чотирьох етапів: 1. Перетворення одновимірних даних на багатовимірні, або вкладання (англ. embedding). Оберемо число , ширину вікна[1]. Нехай . Побудуємо матрицю розміру , наступним чином: перший стовпчик складають елементи ряду з по . Другий — по , і так до К-того стовпця, у який входять елементи від по [2].
Матриця називається траєкторною матрицею. Усі елементи, що лежать на діагоналях, паралельних побічній є рівними, тобто така матриця є ганкелевою.
2. Сингулярний розклад траєкторної матриці. Нехай , матриця розмірності . Тоді, позначимо власні числа матриці як , а власні вектори як . Якщо — це кількість ненульових власних чисел, то можна визначити факторних векторів
Тоді траєкторну матрицю можна представити у вигляді
Сукупність деякого власного числа а також власного і факторного векторів що йому відповідають, називається власною трійкою (англ. eigentriple)[3]
3. Групування. Усі власні трійки розбиваються на груп що не перетинаються, які позначаються як . Матриці що входять до кожної групи складаються: нехай це деяка група, в яку входять різних власних трійок, тоді
Групування є найбільш нетривіальною частиною метода. Критерієм правильності його виконання є те, що результуючи матриці, що отримуються сумацією всіх матриць всередині групи, є близькими до ганкелевих, тобто, значення на їх діагоналях, паралельних побіжним є рівними або хоча б близькими. Складові часового ряда, які можливо виділити таким чином, називаються розділимими[4].
4. Усереднення, або ганкелізація. Оскільки рідко можливо створити справді ганкелеві матриці у попередньому етапі, у кожній з матриць , всі значення, що лежать на діагоналях, паралельних побічній, усереднюються[5]:
- ;
- ;
Отримана в результаті усереднення матриця буде ганкелевою, як і оригінальна траєкторна матриця . Кожній з цих матриць можна поставити у відповідність деякий часовий ряд (за тим самим принципом, як з часового ряду була отримана траєкторна матриця). Отримані часових рядів у сумі будуть давати оригінальний часовий ряд:
Компоненти, які є результатом роботи алгоритму можуть бути розподілені на три типи: тренд (нестаціонарна частина серії, монотонно зростаюча або спадаюча компонента, іноді з окремими піками — загалом, межа між трендом і періодичними компонентами з дуже довгим періодом є розмитою), періодичні компоненти (такі компоненти не обов'язково є гармонійними коливаннями, і можуть мати довільну форму, а іноді — амплітудну або частотну модуляцію, тобто, їх розмах або період може повільно збільшуватися або зменшуватися з часом, в останньому випадку такі компоненти називають квазіперіодичними), і шум (аперіодичні, хаотичні, швидкозмінні компоненти, що мають близьку до нуля коваріацію)[6].
Перед використанням методу, для коректного порівняння різних компонент, дані зазвичай нормалізують[en] — віднімають середнє значення і ділять на середньоквадратичне відхилення[7].
Принцип роботи
Метод є ідейно близьким до методу головних компонент: у просторі траєкторних матриць він шукає ортогональний базис, за яким можна розкласти матрицю на незалежні компоненти. Сингулярний розклад дозволяє знайти такий базис, і крім того, має важливу особливість: серед всіх матриць рангу r (де r є меншим ніж ранг траєкторної матриці), матриця, що дорівнює сумі перших r матриць з сингулярного розкладу буде найближчою до оригінальної матриці (в сенсі, норма Фробеніуса різниць цих матриць буде найменшою)[3].
Розділюваність компонент
Розділюваність (англ. separability) є дуже важливою концепцією для розуміння ефективності методу. Тільки якщо компоненти ряду є розділюваними, SSA зможе їх коректно виділити. Існує два різних типи розділюваності, слабка і сильна. Нехай є ряд що складається з двох компонент, і . Тоді ці компонентами називаються слабко розділюваними, якщо усі підряди довжини L першого ряду є ортогональними усім підрядам довжини L другого ряду, і те саме щодо підрядів довжини (тобто ). Або, що те саме, кожен з стовпців траєкторної матриці першого ряду є ортогональним кожному стовпцю другого ряду (і те саме щодо рядків траєкторних матриць).
Додатковою умовою сильної розділюваності є те, що множини власних значень матриць і не перетинаються.
Якщо усі власні значення траєкторної матриці є унікальними (тобто, не повторюються), то визначення сильної і слабкої розділюваності є однаковими[8].
Існує необхідна, але не достатня умова розділюваності, яка називається w-ортогональність. Нехай . Визначимо ваговий вектор[9]
Якщо представити як ряд, він буде мати трапецієвидну форму. Також, визначимо зважений добуток часових рядів як:
Ряди і називаються w-ортогональними, якщо .
Хоча w-ортогональність не є достатньою умовою для роздільності, вона є необхідною — якщо два ряди не w-ортогональні, тоді вони і не розділювані. При цьому, ця умова є обчислювано простою, тому вона досить широко застосовується.
Два гармонічні періодичні ряди є розділюваними, якщо їх періоди у ціле число разів менші за розмірності траєкторної матриці: .
Зазвичай повна розділюваність є недосяжною, тому на практиці від даних очікується наближена розділюваність. Існує кілька метрик, якими можливо її виміряти:
- Максимальна кореляція. Ортогональність двох векторів можна розуміти як нульову кореляцію між їх компонентами. Тому максимальне абсолютне значення кореляції серед усіх пар підрядів довжини L i K (де один член пари взятий з першого ряду, а другий — з другого) є мірою неортогональності (чим ближча вона до нуля, тим краще).
- Зважена кореляція (англ. w-correlation), яка є оцінкою близькості до w-ортогональності, і визначається як:
Чим ближчий він до нуля, тим більш близькими до ортогональності є два ряди.
Вибір параметрів моделі
Загалом, базовий SSA має лише два параметри. Перший — числовий, довжина вікна. Другий — методологічний, спосіб групування.
Довжину вікна зазвичай обирають достатньо великою, оскільки вона має бути більшою, ніж можливі періоди коливання компонентів ряду, проте не більшою ніж . Нормальною практикою є [10]. Якщо ми очікуємо, що ряд містить компоненту деякого періоду, то є сенс взяти L кратним цьому періоду[11].
Пошук методу групування є більш широкою задачею. Існує кілька емпіричних вказівок на те, як групувати компоненти:
- На діаграмі власних значень, компоненти що відносяться до шуму виглядають як довгий і плавно спадаючий хвіст. Такі компоненти зазвичай достатньо сильно w-корельовані між собою[12].
- Періодичним компонентам часто відповідають два близьких власних значення, або одне значення, якщо це пилкоподібна компонента (кожне наступне значення змінює знак відносно попереднього)
- Найбільшим власним значенням відповідають найбільш значущі компоненти — зазвичай це тренд.
Примітки
Література
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.