Динамічні кластеризації викривлення в часі


40

Який би був підхід використання динамічного викривлення часу (DTW) для кластеризації часових рядів?

Я читав про DTW як спосіб знайти схожість між двома часовими рядами, в той час як вони могли бути зміщені в часі. Чи можу я використовувати цей метод як міру подібності для алгоритму кластеризації, як k-засоби?


2
так, ви можете використовувати міру подібності як вхід до k означає кластеризацію, а потім визначити групи у ваших даних.
синоптик

Дякую за вашу відповідь, сер. Я здогадуюсь, що для кожної ітерації мені потрібно було б сформувати матрицю відстані для кожної пари (центроїд, точка кластеризації) та перерахувати центроїди стандартним способом як серед усіх серій, що належать до кластеру?
Марко

1
Олександр Блех у відповіді нижче містить допис у блозі, який надає детальний приклад того, як це зробити у Р.
прогноз

2
@forecaster не використовують k-засоби з DTW. k-означає мінімізує відхилення, а не відстані. Варіант має форму евклідової, але це не означає, що k-засоби можуть оптимізувати інші відстані. Середнє значення не робить, і в DTW побудувати контрприклади слід досить легко, як синусоїда, зміщена на : обидва дуже схожі на DTW, але середнє значення їх постійне нульове - дуже відрізняється від обох. π
Аноні-Мус

1
K-засоби не є відповідним алгоритмом кластеризації часових рядів. Приховані маркові моделі для дискретних, поздовжніх даних підходять. Зараз на цю тему викладено кілька книг, а також основні статті Одіда Нетцера (Колумбія) та Стіва Скотта (Google). Іншим підходом став би інформаційно-теоретичний метод, розроблений Андреасом Брандмаєром у Макса Планка, який називав кластеризацією розподілу перестановок. Він також написав модуль R. Порівняння кластерних рішень - інша проблема. Стаття Марини Мейли, "Порівняння кластерів", "Звіт статистики США у Вашингтоні", найкраще
Майк Хантер

Відповіді:


33

Як НЕ використовувати K-засоби для таймсерій.

DTW не мінімізується середнім значенням; k-засоби можуть не конвергуватися, і навіть якщо вони сходяться, це не дасть дуже хорошого результату. Середнє значення - оцінювач найменших квадратів на координатах. Він мінімізує дисперсію, а не довільні відстані, а k-засоби призначені для мінімізації дисперсії, а не довільних відстаней .

Припустимо, у вас є два часові ряди. Дві синусоїди однакової частоти і досить тривалий період вибірки; але вони компенсуються . Оскільки DTW робить викривлення в часі, він може вирівняти їх так, щоб вони ідеально відповідали, за винятком початку та кінця. DTW призначить досить невелику відстань для цих двох серій. Однак, якщо обчислити середнє значення двох серій, це буде рівне значення 0 - вони скасовуються. Середнє значення не робить динамічного викривлення в часі і втрачає все значення, отримане DTW. За такими даними k-засоби можуть не збігатися , і результати будуть безглуздими. К-засоби дійсно повинні використовуватися лише з дисперсією (= квадрат евклідової), або з деякими випадками, які є еквівалентними (як косинус, за нормалізованими даними L2, де схожість косинусу єπте саме, що евклідова відстань у квадраті)2-

Замість цього обчисліть матрицю відстані за допомогою DTW, а потім запустіть ієрархічну кластеризацію, наприклад, одне посилання. На відміну від k-засобів, серії можуть навіть мати різну довжину.


4
Ну, звичайно, є PAM (K-медоїди), який працює з довільною дистанцією. Один з багатьох алгоритмів, що підтримують довільні відстані, - k-означає, що немає. Інші варіанти: DBSCAN, OPTICS, CLARANS, HAC, ...
Anonymous-Mousse

1
Мабуть. Оскільки k-medoids використовує DTW-медоїд для пошуку центру кластера, а не середнього значення L2. Я не знаю жодного реального успішного кластеризації часових рядів. Я вважаю, що я бачив документи, але жоден, який справді не використовував результат. Тільки докази-концепції.
Аноні-Мус

1
@ Олександр Блех наводив це як один із своїх прикладів nbviewer.ipython.org/github/alexminnaar/… Що ви думаєте про це?
Марко

1
Проблеми з іграшками. Марно в реальному світі. Реальні дані мають багато шуму, який зашкодить набагато більше, ніж плавні синусоїди та закономірності, представлені в цих даних.
Аноні-Мус

1
Думаю, ієрархічна кластеризація - кращий вибір. Ви все одно не зможете обробити величезну кількість серій.
Аноні-Мус

49

Так, ви можете використовувати підхід DTW для класифікації та кластеризації часових рядів . Я склав такі ресурси , які зосереджені саме на цій темі (я нещодавно відповів на подібне запитання, але не на цьому веб-сайті, тому я копіюю вміст тут для зручності для всіх):


2
+1 відмінна колекція статей та блогів. Дуже хороші посилання.
синоптик

@forecaster: Дякую за репутацію та добрі слова! Радий, що вам подобається колекція. Це занадто сумно, що в даний час я не встигаю більш серйозно вивчити прогнозування та багато інших областей статистики та даних, але я використовую кожну можливість, щоб дізнатися щось нове.
Олександр Блех

1
@AleksandrBlekh Дякую вам дуже за вашу відповідь, я обговорював з Аноні-Муссом про цей підхід, оскільки мене особливо цікавить DTW як міра подібності для K-засобів, тому я міг отримати центроїди як вихід. Яка ваша думка та досвід з нею? Як ви бачите, Аноні-Мусс наводив кілька аргументів, що результати можуть бути не настільки хорошими в цьому випадку ... Можливо, якийсь особистий досвід у практичній справі?
Марко

1
Добре, ще раз дякую. У вас є +1 від мене, і він отримує відповідь, оскільки моє запитання більше орієнтоване на k-засоби та DTW.
Марко

1
@pera: Моє задоволення. Дякуємо за пропозицію. Цілком розумію і погоджуйся щодо прийняття, зовсім не проблема.
Олександр Блех

1

Нещодавній метод середнього рівня середнього рівня барицентрів (DBA) запропонований Petitjean та співавт. до середнього часового ряду. В іншій роботі вони довели емпірично та теоретично, як це можна використовувати для кластеризації часових рядів з k-засобами. Автори реалізують реалізацію на GitHub ( посилання на код ).

1 Ф. Петітьян, Г. Форестьє, Г.І. Вебб, А.Е. Ніколсон, Ю. Чен та Е. Кео, "Динамічне перекочування часу, усереднення часових рядів дозволяє швидше та точніше класифікувати", 2014 Міжнародна конференція IEEE з видобутку даних, Шеньчжень, 2014 .

2 F. Petitjean, P. Gançarski, Узагальнення набору часових рядів шляхом усереднення: від послідовності Штайнера до компактного множинного вирівнювання, Теоретична інформатика, Том 414, Випуск 1, 2012


2
будь ласка, надайте повні посилання замість посилань. Посилання можуть померти
Антуан

1

Dynamic Time Warp порівнює реалізовані точки даних, які можуть працювати або не працювати. Більш суворий підхід полягає в порівнянні розподілу часових рядів за метрикою, що називається відстань телескопа .

Класна річ у цій метриці полягає в тому, що емпіричний обчислення проводиться шляхом встановлення серії двійкових класифікаторів, таких як SVM.

Для короткого пояснення дивіться це .

Для кластеризованих часових рядів показано, що вони перевершують DTW; див. таблицю 1 в первинному документі [1].

[1] Ryabko, D., & Mary, J. (2013). Двозначна класифікація на основі метрики між розподілами часових рядів та її використанням у статистичних та навчальних проблемах. The Journal of Machine Learning Research, 14 (1), 2837-2856.


2
Спробований редактор зазначає: "Jérémie Mary (співавтор) має веб-сторінку, яка обговорює алгоритм із реалізацією R.
gung - Відновити Моніку

@gung Вау, чудово! Я мав листування з першим автором, і він про це не згадував.
horaceT

Я насправді просто копіюю те, хто намагався відредагувати це у вашій відповіді, @horaceT. Я не знаю надто багато про це.
gung - Відновіть Моніку

0

Так. Наївний і потенційно повільний підхід може бути,

  1. Створіть всі свої комбінації кластерів. k - для кількості кластерів, а n - для ряду рядів. Кількість повернених предметів повинна бути n! / k! / (n-k)!. Це були б щось на зразок потенційних центрів.
  2. Для кожної серії обчисліть відстані через DTW для кожного центру в кожній групі кластерів і призначте їх мінімальній.
  3. Для кожної групи кластерів обчисліть загальну відстань у межах окремих кластерів.
  4. Виберіть мінімум.

Я використав це для невеликого проекту. Ось моє сховище про кластеризацію часових рядів та моя інша відповідь на це.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.