Аналіз сингулярного спектру

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
Розділення часового ряду на тренд, осцилюючі компоненти і шум

Аналіз сингулярного спектру (англ. 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].
  • Періодичним компонентам часто відповідають два близьких власних значення, або одне значення, якщо це пилкоподібна компонента (кожне наступне значення змінює знак відносно попереднього)
  • Найбільшим власним значенням відповідають найбільш значущі компоненти — зазвичай це тренд.

Примітки[ред. | ред. код]

Література[ред. | ред. код]