Каков будет подход к использованию динамической деформации времени (DTW) для кластеризации временных рядов?
Я читал о DTW как способ найти сходство между двумя временными рядами, хотя они могут быть сдвинуты во времени. Могу ли я использовать этот метод в качестве меры сходства для алгоритма кластеризации, такого как k-means?
time-series
clustering
Marko
источник
источник
Ответы:
Как не использовать K-средства для таймсерий.
DTW не минимизируется средним значением; K-средства могут не сходиться и даже если они сходятся, это не даст очень хороший результат. Среднее - это метод наименьших квадратов по координатам. Он минимизирует дисперсию, а не произвольные расстояния, а k-means предназначен для минимизации дисперсии, а не произвольных расстояний .
Предположим, у вас есть два временных ряда. Две синусоидальные волны, одинаковой частоты и довольно длительного периода дискретизации; но они смещены на . Поскольку DTW выполняет деформацию времени, он может выровнять их так, чтобы они идеально совпадали, за исключением начала и конца. DTW назначит довольно небольшое расстояние этим двум сериям. Однако, если вы вычислите среднее значение двух рядов, это будет плоский 0 - они отменяются. Среднее значение не выполняет динамическую деформацию времени и теряет все значение, полученное DTW. На таких данных k-means может не сойтись , и результаты будут бессмысленными. K-средства действительно должны быть использованы только с дисперсией (= квадрат евклидова), или в некоторых случаях, которые эквивалентны (как косинус, на L2 нормализованы данные, где косинусного подобия являетсяπ так же, как квадрат евклидова расстояния)2 -
Вместо этого вычислите матрицу расстояний с использованием DTW, а затем запустите иерархическую кластеризацию, такую как одноканальная. В отличие от k-средних, серия может даже иметь разную длину.
источник
Да, вы можете использовать подход DTW для классификации и кластеризации временных рядов . Я собрал следующие ресурсы , которые посвящены именно этой теме (недавно я ответил на аналогичный вопрос, но не на этом сайте, поэтому я копирую содержимое здесь для удобства всех):
источник
Недавний метод DTW Barycenter Averaging (DBA) был предложен Petitjean et al. к среднему временному ряду. В другой статье они эмпирически и теоретически доказали, как это можно использовать для группировки временных рядов с помощью k-средних. Реализация предоставлена на GitHub авторами ( ссылка на код ).
1 F. Petitjean, G. Forestier, GI Webb, AE Nicholson, Y. Chen и E. Keogh, «Динамическое усреднение временных рядов по временным рядам позволяет быстрее и точнее классифицировать их», Международная конференция IEEE 2014 по интеллектуальному анализу данных, Шэньчжэнь, 2014 г. ,
2 F. Petitjean, P. Gançarski, Обобщение набора временных рядов путем усреднения: от последовательности Штейнера до компактного множественного выравнивания, Теоретическая информатика, том 414, выпуск 1, 2012
источник
Dynamic Time Warp сравнивает реализованные точки данных, которые могут работать или не работать. Более строгий подход заключается в сравнении распределения временных рядов по метрике, называемой расстоянием до телескопа .
Крутая вещь в этой метрике состоит в том, что эмпирический расчет выполняется путем подбора ряда двоичных классификаторов, таких как SVM.
Для краткого объяснения см. Это .
Для кластеризации временных рядов было показано, что они превосходят DTW; см. таблицу 1 в оригинальной статье [1].
[1] Рябко Д. и Мэри Дж. (2013). Метрика на основе бинарной классификации между распределениями временных рядов и ее использование в статистических задачах и задачах обучения. Журнал исследований машинного обучения, 14 (1), 2837-2856.
источник
Да. Наивный и потенциально медленный подход может быть,
n! / k! / (n-k)!
. Это было бы что-то вроде потенциальных центров.Я использовал это для небольшого проекта. Вот мой репозиторий о кластеризации временных рядов и мой другой ответ по этому поводу.
источник