Для каждого местоположения в кубе пространство-время инструмент Выявление точек изменения определяет временные шаги, где какое-либо статистическое свойство временного ряда изменилось. Инструмент может обнаруживать изменения среднего значения, среднеквадратичного отклонения или линейного тренда непрерывных переменных, а также изменения среднего значения исчисляемых переменных. Количество точек изменения в каждом местоположении может быть определено инструментом, или может быть задано определенное количество точек изменения, которое будет использоваться для всех местоположений.
Точки изменения делят каждый временной ряд на сегменты, в которых значения в каждом сегменте имеют одинаковое среднее значение, среднеквадратичное отклонение или линейный тренд (уклон и пересечение). Точки изменения определяются как первый временной шаг в каждом новом сегменте, который начинается со второго сегмента, поэтому количество точек изменения всегда на единицу меньше количества сегментов.
Типы точек изменения
Инструмент может идентифицировать четыре типа изменений. На рисунке ниже показаны временные ряды в виде графика голубого цвета, с вертикальными оранжевыми линиями в точках изменений.
- Cдвиг среднего - идентифицирует сдвиги среднего значения переменной анализа. Предполагается, что данные следуют нормальному распределению во всех временных шагах с одинаковым среднеквадратическим отклонением. Среднее значение постоянно в пределах каждого сегмента и меняется на новое значение в каждой точке изменения.
- Потенциальное применение — обнаружение тепловых волн, если максимальная суточная температура повышается в течение короткого промежутка времени.
- Среднеквадратическое отклонение — идентифицирует изменения среднеквадратического отклонения переменной анализа. Предполагается, что данные следуют нормальному распределению во всех временных шагах с одинаковым средним значением. Среднеквадратическое отклонение постоянно в пределах каждого сегмента и меняется на новое значение в каждой точке изменения.
- Потенциальное применение — обнаружение изменений в скорости ветра, которые могут указывать на основные погодные явления.
- Уклон (Линейный тренд) — выявляет изменения линейного тренда для переменной анализа. Предполагается, что данные соответствуют нормальному распределению со среднем значением, указанным линией, и во всех временных шагах одинаковое среднеквадратическое отклонение. Уклон и пересечение линии постоянно в пределах каждого сегмента и меняется на новое значение в каждой точке изменения.
- Потенциальное применение — обнаружение изменений в тенденциях продаж, выявляя наиболее эффективные маркетинговые стратегии.
- Количество — идентифицирует изменения в среднем значении переменной анализа, представляющей количества. Предполагается, что данные следуют распределению Пуассона в пределах каждого сегмента, с изменением среднего значения на новое в каждой точке изменения.
- Потенциальное применение — обнаружение изменений в ежедневных показателях заболеваемости гриппом для оценки начала и конца каждого ежегодного сезона гриппа.
Выходные данные инструмента
Основной выходной набор данных инструмента - класс объектов, с одним объектом для каждого местоположения входного куба пространства-времени. Слой отображается с пятью классами, на основании числа точек изменения, обнаруженных в каждом местоположении.
Выходные объекты будут включать следующие поля:
- Число точек изменения (NUM_CPTS) — число точек изменения, обнаруженных в каждом местоположении.
- Дата первой точки изменения (FIRST_CHPT) — дата первой точки изменения в местоположении. Если никаких точек изменения не выявлено, значение будет пустым.
- Дата последней точки изменения (LAST_CHPT) — дата последней точки изменения в местоположении. Если никаких точек изменения не выявлено, значение будет пустым. Если выявлена одна точка изменения, значение будет совпадать с датой первой точки изменения.
Время слоя выходных объектов основано на дате первой точки изменения, и вы можете использовать бегунок времени для фильтра местоположений по этой дате. Время слоя можно изменить на дату последней точки изменения в свойствах слоя. Его можно использовать, например, для анимации во времени, чтобы визуализировать, когда в различных местоположениях фиксируется первая или последняя точка изменения, чтобы идентифицировать временные закономерности в местоположении.
Всплывающие диаграммы временных рядов
Если щелкнуть любой объект на карте с помощью инструмента Исследовать, на Всплывающей панели отобразится диаграмма-график. На диаграмме представлена линия временного ряда, голубого цвета, с точкой изменения, показанной крупным символом красного цвета.
Для типов изменения Средний сдвиг и Количество, через среднее значение каждого сегмента проведены горизонтальные красные линии.
Для типа изменений Уклон (Линейный тренд) отображаются линии красного цвета, показывающие линейный тренд в каждом сегменте.
Для типа изменения Среднеквадратическое отклонение, сплошная красная линия идентифицирует глобальное среднее значение для всего временного ряда. Для каждого сегмента пунктирные линии красного цвета показывают два среднеквадратических отклонения выше или ниже глобального среднего, с тенью розового оттенка между полосами. Полосы расширяются или сужаются, если среднеквадратическое отклонение изменяется в точках изменения. Пунктирные линии серого цвета показывают два глобальных среднеквадратических отклонения выше или ниже глобального среднего. Таким образом вы можете определить участки, где среднеквадратическое изменение сегмента выше или ниже среднеквадратического отклонения всего временного ряда.
Наведите курсор на элемент диаграммы, чтобы получить информацию о значениях.
Примечание:
Всплывающие диаграммы не создаются, когда выходные объекты сохраняются в виде шейп-файла. (.shp).
Сообщения геообработки
Этот инструмент предоставляет целый ряд сообщений, содержащих информацию о выполнении инструмента. Сообщения имеют несколько разделов.
В разделе Информация о входном кубе пространства-времени отображаются свойства входного куба пространства-времени, а также информация о количестве и интервале временных шагов, количестве местоположений и количестве пространственно-временных бинов. Свойства, отображаемые в этом первом разделе, зависят от первоначального метода создания куба, поэтому информация может отличаться от куба к кубу.
В разделе Важные даты отображаются даты первой и последней точки изменения по всем местоположениям, а также дата главной точки изменения. Используется для идентификации дат, в которые идентифицируются существенные изменения в нескольких местоположениях. Если они связаны, отображается самая ранняя дата.
Раздел Краткая информация числа точек изменения на временной шаг отображает минимальное, максимальное, среднее, медиану и среднеквадратическое отклонение для количества точек изменения на временной шаг. Это позволяет изучить частоту точек изменения во временных рядах во всех местоположениях. Если частота изменения слишком высокая или слишком низкая, вы можете настроить значение Чувствительность выявления для увеличения или уменьшения частоты точек изменения.
Визуализация куба пространство время в 3D
Входной куб пространство-время обновляется с учетом результатов анализа и может использоваться в инструменте Визуализация куба Пространство-Время в 3D с опцией Точки изменения временных рядов параметра Тема отображения для отображения результатов в 3D-сцене. Выходные данные будут содержать один объект на временной шаг в кубе пространство-время. Временные шаги, обнаруженные как точки изменения, отображаются фиолетовым цветом и подписываются как Точка изменения, а временные шаги, не обнаруженные как точки изменения, отображаются светло-серым цветом и помечены как Не точка изменения.
Информационные поля времени, местоположения и ID временного шага включены вместе со следующими полями в выявление точек изменений:
- Индикатор точки изменения (CHPT_IND) — поле, содержащее значение 1, если временной шаг определен как точка изменения, и 0 - если временной шаг не определен как точка изменения.
- Текущее среднее (MEAN_CUR) — среднее значение сегмента, содержащего временной шаг. Поле создается, только если тип изменения - сдвиг среднего.
- Среднее до (MEAN_BEF) — среднее значение сегмента, содержащего предыдущий временной шаг. Значения Текущего среднего и Среднего до будут равны, если временной шаг не является точкой изменения, и будут отличаться, если временной шаг является точкой изменения (так как предыдущее значение в отличающемся сегменте). Это позволяет сравнивать средние значения до и после точки изменения. Поле создается, только если тип изменения - сдвиг среднего.
- Текущее среднеквадратическое отклонение (STDEV_CUR) — среднеквадратическое отклонение сегмента, содержащего временной шаг. Поле создается, только если тип изменения - среднеквадратическое отклонение.
- Среднеквадратическое отклонение до (STDEV_BEF) — среднеквадратическое отклонение сегмента, содержащего предыдущий временной шаг. Значения Текущего среднеквадратического отклонения и Среднеквадратического отклонения до будут равны, если временной шаг не является точкой изменения, и будут отличаться, если временной шаг является точкой изменения (так как предыдущее значение в отличающемся сегменте). Поле создается, только если тип изменения - среднеквадратическое отклонение.
- Текущее среднее количества (MEAN_CUR) — среднее значение количества сегментов, содержащих временной шаг. Поле создается, только если тип изменения - количество.
- Среднее количества до (MEAN_BEF) — среднее значение количества сегментов, содержащих предыдущий временной шаг. Значения Текущего среднего количества и Среднего количества до до будут равны, если временной шаг не является точкой изменения, и будут отличаться, если временной шаг является точкой изменения. Поле создается, только если тип изменения - количество.
- Текущий уклон (SLOPE_CUR) — уклон линии в сегменте, содержащем временной шаг. Это поле создается только для типа изменения - уклон (линейный тренд).
- Уклон до (SLOPE_BEF) — среднее значение сегмента, содержащего предыдущий временной шаг. Это поле создается только для типа изменения - уклон (линейный тренд).
- Текущее пересечение (INTRCP_CUR) — пересечение линии в сегменте, содержащем временной шаг. Это поле создается только для типа изменения - уклон (линейный тренд).
- Пересечение до (INTRCP_BEF) — среднее значение сегмента, содержащего предыдущий временной шаг. Это поле создается только для типа изменения - уклон (линейный тренд).
Примечание:
Тема отображения Точки изменения временных рядов в инструменте Визуализация куба Пространство-Время в 2D позволит воссоздать выходной класс пространственных объектов для выявления точки изменения.
Как выявляются точки изменения
Цель выявления точек изменения - найти для каждого местоположения временные шаги, где среднее значение, среднеквадратическое отклонение или уклон меняются от одного значения к другому. Проблема эквивалентна проблеме сегментации временных рядов, где временной ряд разбивается на сегменты, значения которых имеют схожие средние, среднеквадратические отклонения или уклон. Для определения сегментации (набора точек изменения), оптимальной для временного ряда, вы должны иметь возможность изменить и сравнить эффекты от различных возможных сегментаций. Такое сравнение можно выполнить, вычислив стоимость сегментации, и оптимальной будет сегментация с наименьшей стоимостью.
Стоимость сегментации вычисляется добавлением стоимости каждого сегмента в сегментации, а стоимость каждого сегмента основывается на функции подобия, определяемой типом изменения (см. Типы точек изменений для предположений о характере распределения каждого типа изменений). Интуитивно понятно, что чем ближе сегменты к предполагаемому распределению типов изменений, тем выше подобие и тем ниже стоимость сегментации.
Например, на изображении ниже показаны временные ряды со 150 временными шагами, где все значения соответствуют нормальному распределению со среднеквадратическим отклонением, равным 1. Среднее первый 50 временных шагов равно 0, затем среднее повышается до 10, для следующих 50 временных шагов, затем снова снижается до 0, для следующих 50 временных шагов. Точки изменения определяются как первый временной шаг в каждом новом сегменте, поэтому этот временной шаг, временной шаг 51 и 101 - истинные точки изменения, где наблюдается сдвиг среднего. Гистограммы для отдельных сегментов показывают, что каждый сегмент следует нормальному распределению, с приблизительно равным среднеквадратическим отклонением, но с разными средними значениями, поэтому сегментация соответствует допущению о типе изменения - сдвиг среднего. Соответственно, уровень подобия в такой сегментации высокий, а результирующая стоимость сегментации низкая. Для этой сегментации стоимость будет 401.39, при выявлении сдвига среднего. Это значение сложно интерпретировать само по себе, но его можно сравнить со стоимостью других возможных сегментаций.
На изображении ниже показана некорректная сегментация, где временные шаги 31 и 121 определены как точки изменения. Средний сегмент не соответствует нормальному распределению и имеет существенно большее среднеквадратическое отклонение, чем первый и последний сегменты. Это подтверждает, что значения данных сегментов не соответствуют предположению о характере распределения типа изменения сдвига среднего, поэтому стоимость сегментации будет высокой. Действительно, стоимость сегментации - 2596.24, что значительно выше стоимости предыдущей сегментации. Это подтверждает, что такие точки изменения не являются оптимальными для временных рядов.
Теперь, предположим, что не нужная точка изменения добавлена к двум истинным точкам изменений. На изображении ниже временные шаги 51 и 101 и 121 определены как точки изменения. Хотя последняя точка изменения излишняя, гистограммы сегментов показывают нормальное распределение с приблизительно равным среднеквадратическим отклонением, указывая на высокое подобие и низкую стоимость сегментации. Стоимость сегментации составляет 401.27, что немного ниже, чем стоимость истинной сегментации (401.39). Сегментация с ненужной точкой изменения имеет более низкую стоимость сегментации, чем истинная сегментация, так как уровень подобия никогда не снижается, если включаются новые параметры (в нашем случае, новые точки изменения). Включение дополнительной точки изменения только немного снижает стоимость, так как добавляет некоторые усовершенствования в подгонку модели к данным, в сравнении со случаем, где точка изменения не добавлялась.
Если никаких перестроений не применено к точкам изменения, стоимость сегментации всегда снижается, если добавляются дополнительные точки изменений. Чтобы все временные шаги не определялись как точки изменения, вам необходимо применить один из двух типов построения, используя параметр Метод.
Опция Заданное количество точек изменения (SegNeigh) позволяет вам указать, сколько выявить точек изменений, используя параметр Число точек изменений. Эта опция использует алгоритм Окрестность сегмента (SegNeigh, Auger 1989) для определения сегментации с наименьшей возможной стоимостью, для которой есть указанный набор точек изменений.
Опция Автоматическое определение числа точек изменения (PELT) использует алгоритм Pruned Exact Linear Time (PELT, Killick 2012) для оценки числа и местоположения точек изменений. Этот алгоритм анализирует включение каждой дополнительной точки изменения, добавляя штрафное значение к стоимости каждого сегмента и находя сегментацию, штрафная стоимость которой (стоимость сегментации плюс штраф) наименьшая среди всех возможных сегментов. Интуитивно-понятный подход, лежащий в основе PELT, заключается в том, что для определения временного шага как точки изменения, он должен снизить стоимость сегментации больше, чем добавленное значение штрафа. Если снижение стоимости меньше, чем добавленный штраф, штрафная стоимости возрастает и временной шаг не определяется как точка изменения.
Выбор штрафного значения критически важен для результатов PELT. Слишком низкие штрафные значения могут выявить ложные точки изменений, а слишком высоки штрафные значения могут негативно повлиять на выявление истинных точек изменений. Штрафное значение, используемое в PELT определяется параметром Чувствительность выявления. Чувствительность идентифицируется числом от 0 до 1, где более высокие значения чувствительности означают выявление большего числа точек изменений так как штрафные значения ниже. Каждое местоположение в кубе пространство-время будет использовать одно и то же штрафное значение при выявлении точек изменений.
Для изменений в среднем, среднеквадратическом отклонении или количестве штрафное значение определяется на основе чувствительности, с использованием следующей формулы, где n - число временных шагов во временном ряде:
Максимальное значение чувствительности 1 соответствует минимизации Байесовского информационного критерия (BIC).
Для выявления изменений в уклоне (линейный трненд), применяется более консервативная формула вычисления штрафного значения.
Максимальное значение чувствительности 0.5 соответствует минимизации информационного критерия Акаике (AIC). Изменение в уклоне (линейный тренд) использует более консервативную формулу расчета штрафного значения, в то время, как для других типов изменений отличить тренды от точек изменений существенно сложнее, поэтому для них необходима усложненная формула, которая позволит избежать выявления сшишком большого количества точек изменений. Тем не менее, тип изменений уклона (линейный трненд), используется для данных с трендами, и не требует высоких штрафных значений.
И PELT и SegNeigh используют рекурсивные алгоритмы, то есть всегда возвращают сегментацию с глобальным наименьшим значением стоимости сегментации, присваивая фиксированное штрафное значение или фиксированное число точек изменений. Алгоритм выполняется независимо во всех местоположениях куба пространства-времени.
Величины PELT и SegNeigh связаны, так как они выявляют одни и те же временные шаги как точки изменений, если оба метода выявили одинаковое число точек изменений. Например, если вы применили PELT и использовали штрафное значение, которое выявило шесть точек в местоположении, затем выполнили SegNeigh, и указали шесть точек для выявления, оба метода выявят те же самые временные шаги как точки изменений.
Минимальная длина сегмента
Вы можете использовать параметр Минимальная длина сегмента, чтобы задать минимальное число временных шагов внутри каждого сегмента. Например, если у вас есть данные по ежедневным поступлениям от продаж и минимальная длина сегмента установлена на 7, между каждой точкой изменения должно пройти не менее одной недели. Значение по умолчанию для минимальной длины сегмента - наименьшее значение, необходимое для вычисления стоимости сегмента. Для изменения в среднем, стандартном отклонении или количестве по умолчанию указано 1, то есть каждый временной шаг может быть точкой изменения. Для выявления изменений в уклоне (линейный тренд), значение по умолчанию - 2, так как для подгонки линии к значению сегмента необходимо минимум два временных шага.
В дополнение к ограничению, применяемому с использованием параметра Метод, минимальная длина сегмента - также является ограничением. PELT или SegNeigh находят группу точек изменений с наименьшей стоимостью сегментации для всех возможных вариантов сегментаций, где длина сегмента больше минимальной.
Лучшие практики и ограничения
Для выбора опция и параметров инструмента нужно учитывать следующие допущения.
- Методы выявления точек изменений классифицируются как онлайн или оффлайн, этот инструмент выполняет выявление офлайн Офлайн-методы предполагают существующий временной ряд с началом и концом, и цель состоит в том, чтобы пройти назад во времени и определить, когда произошли изменения. Онлайн-методы постоянно запускают данные, которые обновляются, как только становятся доступными новые значения. Задача методов выявления онлайн - выявить новые изменения максимально быстро с момента появления этих изменений. Методы онлайн и офлайн существенно отличаются в их алгоритмах, примерах использования и допущениях данных.
- Выявление изменений в среднем, среднеквадратичном отклонении или количестве наиболее эффективно для данных без трендов, и если изменения произошли в пределах одного временного шага. Для временных рядов с трендами может обнаружится множество временных шагов в качестве точек изменений, так как среднее значение меняется постоянно. Таким же образом, если изменения более градуированы и задействуют несколько временных шагов до того, как значение полностью изменится, все временные шаги в процессе переноса могут быть идентифицированы как точки изменения. Для таких случаев рекомендуется использовать наименьшее значение параметра Чувствительность обнаружения., или выявлять изменения уклона (линейный тренд).
- Выявление точек изменений подобно по действию инструменту Обнаружение выбросов временных рядов, но есть также существенные различия. Инструмент выявления изменений точек идентифицирует временные шаги, где одна модель меняется на другую модель (в частности, меняется среднее значение), а обнаружение выбросов идентифицирует временные шаги, которые существенно отклоняются от одной и той же модели. Первое показывает устойчивое изменение, а второе выявляет краткосрочную аномалию.
Для переменных анализа, которые представляют собой количества, параметр Тип изменения опции Количество, как правило, больше всего подходит для выявления изменений в средних значениях количеств. Однако опция Сдвиг среднего может обеспечить эквивалентные или лучшие результаты для количественных данных. Это связано с тем, что модель типа изменения Количество предполагает, что значения каждого сегмента следуют распределению Пуассона, в котором дисперсия сегмента равна среднему значению сегмента. Тип изменения Сдвиг среднего вместо этого предполагает, что значения каждого сегмента распределены нормально, поэтому среднее значение может быть больше или меньше дисперсии значений.
В распределении Пуассона большинство значений находится в пределах примерно двух значений квадратного корня от среднего значения. Например, для распределения Пуассона со средним значением, равным 100, примерно 95 процентов величин численности будут между 80 и 120 (2 * sqrt(100) = 20). Для распределения Пуассона со средним значением, равным 1 миллиону, большинство величин численности будут между 998 000 и 1 002 000 (квадратный корень из 1 миллиона равен 1 000). Диапазон численности более узкий для большего среднего значения, равного 1 миллиону, где большинство величин численности находятся в пределах 0.2 процента от среднего значения. Однако при меньшем среднем значении, равном 100, до 20 процентов численности отличается от среднего значения. При сравнении их со средним значением, если значения ваших численностей отличаются больше, чем ожидалось от распределения Пуассона, большое количество временных шагов могут быть выявлены как точки изменения. Чаще всего это происходит с большими численностями. В этом случае рекомендуется выявлять сдвиг среднего.
- Для всех типов изменений первый временной шаг никогда не выявляется как точка изменений. Это происходит потому что точки изменения маркируют начало каждого сегмента, начиная со второго сегмента. А так как первый временной шаг всегда является первым сегментом, он не может быть точкой изменения. Дополнительно, для выявления изменений в уклоне (линейный тренд), первые два временных шага никогда не определяются как точки изменений, так как в первом сегменте должно быть не меньше двух временных шагов.
- Для опции Заданное количество точек изменения (SegNeigh) в параметре Метод, дополнительная сегментация не всегда уникальна. Если несколько сегментаций имеют одинаковую стоимость, возвращается последняя возможная оптимальная точка изменения. Например, если все значения временного ряда в местоположении равны, все сегментации будут иметь одинаковый уровень подобия и стоимость. В этом случае, если требуется выявить три точки изменения, три финальных временных шага будут идентифицированы как точки изменения в местоположении.
- Выявление сдвига среднего требует оценки дисперсии данных вокруг среднего, при этом может быть неизвестно, какие именно шаги показывают сдвиг среднего (точки изменения) Традиционные формулы дисперсии искажаются при наличии неизвестного меняющегося среднего, поэтому используется надежная формула дисперсии:
Выявление изменений в уклоне также требует оценки неизвестной дисперсии для меняющейся линии тренда, поэтому используется надежная формула дисперсии:
Если по этой формуле выходит 0, дисперсия оценивается как допущение отсутствия сдвигов или трендов в среднем значении.
Дополнительные ресурсы
Более подробно о выявлении точек изменений смотрите в следующих материалах:
- Auger, I. E. and Lawrence, C. E. (1989). "Algorithms for the optimal identification of segment neighborhoods."Bulletin of Mathematical Biology. 51(1):39-54. https://doi.org/10.1007/BF02458835
- Killick, R., Fearnhead, P., and Eckley, I.A. (2012). "Optimal Detection of Changepoints With a Linear Computational Cost." Journal of the American Statistical Association. 107. 1590-1598. https://dx.doi.org/10.1080/01621459.2012.737745
- Killick, R. and Eckley, I.A. (2014). "changepoint: An R Package for Changepoint Analysis." Journal of Statistical Software. https://dx.doi.org/10.18637/jss.v058.i03