Как работает инструмент Кластеризация временных рядов

Инструмент Кластеризация временных рядов выделяет схожие местоположения в кубе пространства-времени и разбивает на отдельные кластеры, где внутри каждого кластера имеются схожие характеристики временных рядов. Временные ряды могут быть кластеризованы так, чтобы содержать схожие значения во времени, сохранять соотношение во времени или демонстрировать схожие сглаженные периодические закономерности во времени. Этот инструмент принимает куб пространства-времени netCDF, который может быт создан инструментами Создать куб Пространство-Время по агрегации точек, Создать куб Пространство-Время из указанных местоположений и Создать куб Пространство-Время из многомерного растрового слоя. Инструмент генерирует класс 2D-объектов, отображающий каждое местоположение в кубе, обозначенное принадлежностью к кластеру, а также информационные сообщения. Дополнительно, параметры Выходная таблица для диаграмм и Включить всплывающие окна временных рядов могут использоваться для создания диаграмм, отображающих репрезентативные временные ряды для каждого кластера и временные ряды для каждого местоположения куба пространства-времени.

Возможное применение

  • Аналитик создал куб пространства-времени, представляющий многолетние наблюдения за звонками в службу быстрого реагирования, и может использовать инструмент Кластеризация временных рядов с опцией Значение параметра Характеристика интереса для выявления районов, где наблюдаются схожие объемы вызовов.
  • Крупная торговая сеть может использовать этот инструмент со значением Профиль (корреляция) параметра Характеристика интереса для поиска магазинов с похожими закономерностями продаж. Например, этот инструмент помогает пользователям выявить магазины, продажи в которых увеличиваются перед рождественскими праздниками и снижаются после них, и отличить их от магазинов, где это явление не наблюдается. Магазины с различными моделями продаж требуют дальнейшего изучения. Эта информация также может быть использована для прогнозирования розничного спроса и обеспечения достаточного количества запасов в магазинах.
  • Метеоролог может использовать значение Профиль (Фурье) для параметра Характеристика интереса для кластеризации местоположений в зависимости от того, насколько близки их флуктуации температур во времени и насколько схожи экстенты таких флуктуаций.
  • Демографы могут использовать этот инструмент для оценки того, какие страны имеют схожие модели роста численности населения, как с точки зрения значения, так и с точки зрения профиля временных рядов.

Выходные данные инструмента

Выходные данные, получаемые в результате работы инструмента. Класс 2D-объектов, показывающей каждое местоположение во Входном кубе Пространство-время с использованием символов принадлежности к тому или иному кластеру, позволяющая оценить пространственные закономерности. Несмотря на то, что алгоритмы кластеризации, используемые в этом инструменте, не учитывают пространственные отношения при выполнении кластеризации, тем не менее, пространственные закономерности могут существовать. Дополнительно сообщения, в которых суммируются результаты анализа и статистика трендов Манна-Кендалла для каждого кластера, отображаются в нижней части панели Геообработка во время выполнения этого инструмента. Вы можете получить доступ к сообщениям, переместив курсор мыши на индикатор выполнения, щелкнув на всплывшую кнопку Всплывающее окно или развернув раздел сообщений на панели Геообработка. Вы можете получить доступ к сообщениям для выполненного ранее инструмента, используя историю геообработки.

Окно сообщений инструмент Кластеризация временных рядов

По умолчанию выходными данными инструмента Кластеризация временных рядов является новый класс выходных объектов, содержащий поле CLUSTER_ID , указывающее, какому кластеру принадлежит каждое местоположение. Этот выходной класс объектов добавляется на панель Содержание с уникальной цветовой схемой отображения, которая применяется к полю CLUSTER_ID. В поле CENTER_REP показывается, какие местоположения в кубе пространства времени наиболее репрезентативны для каждого кластера (медоиды кластеров). Это поле будет содержать значение 1 для медоида каждого кластера, все остальные местоположения обозначаются 0.

Результаты Кластеризации временных рядов
Пример результатов Кластеризации временных рядов

Выходные диаграммы инструмента Кластеризация временных рядов

Диаграммы строятся при создании Выходной таблицы для диаграмм. В диаграмме Среднее число временных рядов на кластер отображается среднее Переменной анализа в каждом временном шаге каждого кластера, а в Медоиды кластера временных рядов - медоиды временных рядов каждого кластера. Вместе эти диаграммы позволяют визуализировать и общее среднее, и представление временных рядов, разделенное на кластеры. Это аналогично суммированию категорий одномерного набора данных, с использованием среднего и медианы.

Выходные диаграммы инструмента Кластеризация временных рядов

Вы также можете использовать параметр Включить всплывающие окна временных рядов для создания диаграмм временных рядов во всплывающих окнах каждого выходного объекта, в которых отображаются его временные ряды среднее временных рядов всех объектов одного кластера. Это позволяет увидеть, как временные ряды объекта сравниваются с другими объектами этого же кластера, и понять, насколько хорошо они представлены кластером.

Всплывающее окно с диаграммой Кластеризация временных рядов

Сходство между временными рядами

Цель кластеризации - разделить местоположения куба пространства-времени на группы, где временные ряды местоположений в пределах каждой группы более схожи друг с другом, чем с временными рядами местоположений вне группы. Однако временные ряды состоят из большого количества чисел или значений во времени, поэтому, не вполне ясно, что означает сходство двух временных рядов. Для отдельных номеров, удобным измерением сходства является абсолютная разница их значений: разница между 10 и 13 составляет 3. Можно сказать, что 10 более сходно с 13, чем с 17, поскольку абсолютная разница из значений меньше. Для временных рядов, тем не менее, сходство не так очевидно. Например, является ли ряд (5, 8, 11, 7, 6) более сходным с (4, 9, 13, 4, 9), чем с (5, 11, 6, 7, 6)? Чтобы ответить на такой вопрос, необходимо измерить, насколько сходны или различны временные ряды. Есть несколько способов измерения сходства, каждый зависит от тех характеристик временных рядов, которые вы считаете важными. Выбранная характеристика будет соответствовать наибольшему сходству между местоположениями в тех же выходных кластерах.

Параметр Характеристика интереса используется для задания характеристик временных рядов, которые вы хотите сделать в кластере более сходными. Кластеризация может быть основана на одной из трех характеристик.

Характеристика Значение

Опция Значение параметра Характеристика интереса - это простейшая опция, используется для кластеризации временных рядов, имеющих сходные значения во времени.

Эта опция измеряет сходство временных рядов, используя Евклидово расстояние между значениями временных рядов (не путайте с расстоянием в пространстве между местоположениями двух временных рядов). Например, разница между временными рядами (1, 5, 2, 3) и (3, 1, 3, 5) равна 5. Это значение вычисляется как квадратный корень суммы квадратов разницы значений во времени:

SquareRoot[ (1-3)2 + (5-1)2 + (2-3)2 + (3-5)2 ] = 5

Характеристика Профиль (корреляция)

Опция Профиль (корреляция) параметра Характеристика интереса используется для кластеризации временных рядов с тенденцией к сохранению пропорций друг с другом и к увеличению или уменьшению значения за одинаковое время. Например, вы можете использовать эту опцию для кластеризации филиалов на основе темпов роста. Даже если реальные значения сильно отличаются, местоположения будут кластеризованы, если они обладают сходной динамикой роста.

Эта опция измеряет сходство во временных рядах на основе статистических корреляций во времени. Например, временные ряды (1, 2, 3, 4, 5) сильно отличаются от (10, 20, 30, 40, 50), но имеют четкую корреляцию, различие между ними равно 0. Эта разница между двумя временными рядами вычисляется с помощью вычитания корреляции из 1. Это означает, что временные ряды, которые имеют четкую положительную корреляцию (корреляция = 1), показывают различие 0, некррелированные временные ряды (корреляция = 0) - различие 1, а временные ряды с отрицательной корреляцией (корреляция = -1) - различие 2. Все остальные степени корреляции находятся в диапазоне от 0 до 2, большая положительная корреляция означает большее сходство.

Характеристика Профиль (Фурье)

Опция Профиль (Фурье) параметра Характеристика интереса - наиболее сложная опция, используется для кластеризации временных рядов, имеющих сходные сглаженные периодические закономерности во времени. Эти периоды иногда называются циклами или сезонами и представляют продолжительность одной модели, которая затем повторяется в новом периоде. Например, температура имеет предсказуемый годовой период с высокими значениями летом и низкими зимой, эту опцию можно использовать для поиска областей с наиболее сходными годовыми закономерностями.

При необходимости можно проигнорировать некоторые характеристики этих закономерностей, используя параметр Игнорируемые характеристики временных рядов. Вы можете игнорировать время начала для периодов времени, чтобы сравнивать только формы и длительности периодов, или игнорировать амплитуду значений в пределах периодов, чтобы сравнивать только время начала и длительности периодов. Если вы решите игнорировать обе характеристики, два временных ряда будут считаться схожими, если длительности этих периодов приблизительно одинаковы, даже если периоды начинаются в разное время и имеют различные значения в пределах периодов.

Опция Профиль (Фурье) измеряет сходство между временными рядами на основе концепции функционального анализа данных. Каждый временной ряд раскладывается на последовательность базисных функций, которые представляют доминирующий сигнал временного ряда. Семейство базисных функций Фурье использует синусоидальные и косинусоидальные функции, которые колеблются вверх и вниз с постоянным интервалом для представления временного ряда. Для каждой базисной функции определен связанный с ней вес, который измеряет распространенность конкретного сигнала во временном ряде. Например, для колебаний температуры характерно наличие двух доминантных базисных функций, одна из которых колеблется вверх и вниз, в соответствии со сменой времени суток (дни и ночи), а колебания второй соответствуют смене времен года. Базисные функции, соответствующие другим интервалам, получат меньшие веса, так как не распространены во временных рядах колебаний температуры. Например, базисная функция, колеблющаяся вверх и вниз каждые 90 минут получит небольшой вес, так как значения температуры в естественных условиях по такому интервалу не меняются. Чтобы эта опция работала эффективно, временные ряды должны покрывать, по меньшей мере, один период. Например, доминирующий сигнал годового периода для температуры, по всей видимости, не будет выявлен, если данные будут измерены только в течение нескольких месяцев. Для N местоположений в кубе пространства-времени инструмент будет использовать N-2 базисных функций, если N – четное число, и N-1 базисных функций, если N – нечетное число.

Разница между двумя временными рядами вычисляется суммированием квадрата разности весов связанных базисных функций в каждом временном ряде. Это означает, что два временных ряда, имеющих схожие доминирующие колебания сигнала будут признаны подобными.

Кластеризация временных рядов по сходству

Хотя некоторые опции более сложны, чем другие, все опции параметра Характеристики интереса вычисляют одно число, которое измеряет разницу между двумя временными рядами. Используя это определение сходства между временными рядами, местоположения в кубе пространства-времени кластеризуются с помощью одного из нескольких алгоритмов кластеризации.

См. раздел Дополнительные материалы ниже для получения подробной информации об алгоритмах кластеризации.

Кластеризация Профиль (Корреляция)

Если выбрана опция Профиль (Корреляция) параметра Характеристика интереса, разница между каждой парой местоположений в кубе пространства-времени вычисляется суммированной, как матрица различий. Ниже приведен пример матрицы различий временных рядов по 4м местоположениям – L1, L2, L3 и L4. Временной ряд всегда считается полностью совпадающим сам с собой, на что указывают нули по диагонали матрицы. Матрица симметрична, так как разница между двумя временными рядами не зависит от их порядка: разница между A и B такая же, как разница между B и A. В матрице различий ниже местоположения L1 и L2, в основном, схожи (на что указывает значение 4), а временные ряды L1 и L4 в основном, различаются (на что указывает значение 13).

Матрица различий
Показана репрезентативная матрица различий для местоположений куба пространство-время, от 1 до 4. Различия между местоположением 1 (L1) и 3 (L3) равно 9.

Затем эта матрица кластеризуется с использованием алгоритма k-медоидов, также называемого алгоритмом PAM (Partitioning Around Medoids). Алгоритм определяет кластеры внутри матрицы, где составляющие один кластер более схожи между собой, чем члены других кластеров. Алгоритм исходно случаен, и принцип его работы заключается в определении случайных местоположений, которые будут представлять каждый кластер. Эти представители называются медоидами, и они аналогичны медиане одномерного набора данных. Начальные кластеры создаются путем определения для каждого местоположения кластера, медоид которого наиболее совпадает. Затем алгоритм меняет местами медоиды в каждом кластере и заново оценивает схожесть в новых кластерах. Если новые кластеры более схожи, чем начальные кластеры – медоиды меняются местами, и процесс повторяется до достижения состояния, в котором никакие перемены не увеличивают схожесть кластеров. Хотя результирующие кластеры всегда демонстрируют высокую степень сходства, они могут различаться, в зависимости от того, где оказались случайные местоположения, выбранные в качестве начальных медоидов. Запуск инструмента несколько раз может привести к незначительно отличающейся кластеризации, поэтому рекомендуется попробовать несколько запусков и оценить различные результаты кластеризации.

Если в кубе пространства-времени находится более 10000 местоположений, инструмент будет использовать вариант k-медоидов, называемый Clustering LARge Applications (CLARA). CLARA делает случайную выборку временных рядов и применяет алгоритм k-медоидов. Все местоположения, которые не попали в случайную выборку, присоединяются к кластеру, медоида которого наиболее близка к временным рядам не попавших в выборку местоположений. Размер случайной выборки соответствует большему из двух значений: квадратному корню числа местоположений (округленному вниз) или 40 + 2k, где k - число кластеров.

Кластеризация Значение и Профиль (Фурье)

Если выбраны опции Значение или Профиль (Фурье) параметра Характеристика интереса, местоположения куба пространства-времени кластеризуются с использованием алгоритма k-средних. Этот алгоритм похож на k-медиод, но может применяться без вычисления разницы между каждой парой местоположений. Вместо этого, он начинает работу со случайной выборки местоположений как представлений для каждого кластера. Начальные кластеры создаются путем назначения всех оставшихся местоположений кластеру, чье представление наиболее близко к местоположению. Затем вычисляется несколько представлений для каждого кластера, методом усреднения временных рядов в пределах каждого кластера. Для Значения, это новое представление является средним каждого временного шага в каждом временном интервале кластера. Для Профиля (Фурье), это новое представление является средним весов каждой базовой функции. В отличие от k-медоид, эти новые представления в основном не соответствуют любым отдельным местоположениям в кубе пространства-времени. Каждый временной интервал затем назначается кластеру, чье представление наиболее сходно, после чего вычисляются новые средние представления. Этот процесс повторяется по ка алгоритм не сойдется в одной точке, это означает, что кластеры не меняются после повтора. В этой точке, продолжение процесса приведет к постоянному появлению одних и тех же кластеров. Это кластеры, возвращаемые инструментом.

Как и с описанным ранее алгоритмом k-медоид, k-среднее может давать различные результаты кластеризации, в зависимости от первоначальной случайной выборки представлений. Рекомендуется попробовать несколько запусков и оценить различные результаты кластеризации.

Оптимальное число кластеров

Если вы оставляете пустым параметр Число кластеров, инструмент вычислит оптимальное количество кластеров, и это значение будет отображено в окне сообщений инструмента. Определение числа кластеров – один из наиболее сложных аспектов рабочего процесса кластеризации – использование этого инструмента позволяет подобрать оптимальное число путем пробы вариантов с разным количеством кластеров и определения того, которое обеспечивает наиболее эффективную кластеризацию.

Инструмент пробует каждое значение в диапазоне от 2 до 10 кластеров и для каждого варианта определяет число кластеров 10 раз, используя случайные начальные значения в алгоритме кластеризации. Если Профиль (Корреляция) используется с более чем 10000 точек, алгоритм CLARA будет выполняться 20 раз для каждого из 9 возможных значений кластеров. Для каждого из этих 90 (или 180) результатов кластеризации (по 10 или 20 для каждого и 9 возможных количеств кластеров) вычисляется псевдо-F статистика, получаемая делением квадрата ошибок глобального медоида на квадраты ошибок медоидов кластера, корректируя использование большего числа кластеров. Это можно интерпретировать как отношение схожести внутри группы и схожести между группами. Высокие значение псевдо-F статистики указывают, что временной ряд более совпадает с репрезентативными временными рядами своего кластера, нежели с репрезентативными временными рядами всего набора данных, что указывает на эффективную кластеризацию. Дополнительную информацию, и формулы для вычисления псевдо-F статистики вы можете найти в разделе Как работает многофакторная кластеризация.

Определение оптимального числа кластеров является наиболее трудоемкой частью инструмента, поэтому если вы знаете желаемое число кластеров, укажите это значение.

Дополнительные ресурсы

Дополнительную информацию о кластеризации временных рядов см:

  • Pablo Montero, José A. Vilar (2014). TSclust: An R Package for Time Series Clustering. Journal of Statistical Software. 62(1), 1-43. URL https://www.jstatsoft.org/v62/i01/.

Дополнительную информацию и функциональном анализе данных см:

  • Ramsay, J. O., Silverman, B.W. (2006). Functional Data Analysis. DOI: 10.1007/b98888

Более подробную информацию о k-медоидах смотрите в следующих материалах:

  • Kaufman, L., and P. J. Rousseau (2009). Finding groups in data: an introduction to cluster analysis (Vol. 344). John Wiley & Sons

Более подробную информацию о k-средних см. в следующих материалах:

  • Lloyd, Stuart (1982). Least squares quantization in PCM. IEEE transactions on information theory 28.2: 129-137.
  • Arthur, David, and Sergei Vassilvitskii (2006). k-means++: The advantages of careful seeding. Stanford.