Skip to content

Реализация методов обнаружения точек изменений и кластеризация для поиска подтипов активностей

Notifications You must be signed in to change notification settings

MiaZym/Change_point_detection_analyses_human_activities

Repository files navigation

Change_point_detection_analyses_human_activities

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

Задачи:

  • Реализация методов обнаружения точек изменений PELT и KCPD и обзор их различий.
  • Применение методов визуализации для демонстрации результатов работы алгоритмов PELT и KCPD.
  • Применение кластеризации данных активности с целью выявления характеристик других активностей.
  • Обзор способов оценки результатов кластеризации и его качества.

В работе используется набор данных, собранный группой по науке о данных и веб-технологиях Университета Мангейма - https://www.uni-mannheim.de/dws/research/projects/activity-recognition/dataset/dataset-realworld/ Набор данных охватывает данные об ускорении при подъеме по лестнице вниз и вверх, прыжках, лежании, стоянии, сидении, беге / беге трусцой и ходьбе 15 субъектов.

Для каждого вида деятельности ускорения записаны с разного положения расположенных датчиков: грудь, предплечье, голова, голень, бедро, плечо и талия(см. рис.2). Каждый испытуемый выполнял каждое упражнение примерно 10 минут, за исключением прыжков из-за физических нагрузок (~ 1,7 минуты).

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

сравнение двух методов обнаружения точек изменения:

  • Метод PELT (Pruned Exact Linear Time)

    Метод PELT обнаруживает точки изменения во временных рядах с высокой точностью и минимальным использованием вычислительных ресурсов. Он достигает баланса между точностью и эффективностью вычислений. PELT минимизирует общую функцию затрат, которая включает функцию затрат сегмента и штрафное значение. Функция затрат сегмента измеряет разницу или изменение данных, а штрафное значение контролирует сложность модели и количество обнаруженных точек изменения. Алгоритм PELT итеративно добавляет и удаляет точки изменения во временных рядах для поиска оптимальной последовательности сегментации. Для метода PELT используется гиперпараметр RBF (Radial Basis Function), который не является самой функцией RBF, а служит для контроля сглаживания данных. Этот гиперпараметр позволяет настраивать гибкость модели и влияет на число обнаруженных точек изменения. Применив метод PELT к нашему временному ряду, мы успешно обнаружили несколько точек изменения, указывающих на значимые изменения в данных.

  • Метод KCPD (Kernel Change Point Detection)

    Метод KCPD является методом обнаружения точек изменения во временных рядах с использованием ядерных функций. KCPD основан на сравнении расстояний между парами точек внутри окна и парами точек снаружи окна. Если расстояния внутри окна существенно отличаются от расстояний снаружи окна, то считается, что произошла точка изменения. Для KCPD используется ядро RBF (Radial Basis Function), которое позволяет моделировать сложные зависимости во временных рядах. Ядро RBF определяет, как точки влияют друг на друга внутри и вне окна. С помощью этого ядра KCPD способен обнаруживать разнообразные изменения в данных, такие как сдвиги, тренды, сезонность или аномалии. Использование ядерных функций в KCPD делает его более гибким и способным к обнаружению разнообразных изменений в данных.

Сравнение результатов обоих методов показало, что оба метода демонстрируют высокую точность в обнаружении точек изменения во временных рядах. Однако, метод PELT обеспечивает более эффективное использование вычислительных ресурсов, в то время как метод KCPD позволяет моделировать более сложные зависимости в данных.

В дальнейшем возможно расширение методов обнаружения с использованием Вейвлет и Фурье анализа.

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

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

В дальнейшем необходимо использование других методов кластеризации.

About

Реализация методов обнаружения точек изменений и кластеризация для поиска подтипов активностей

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages