Динамическое искажение времени для нерегулярных временных рядов

10

В последнее время я много читал о динамической деформации времени (DTW). Я очень удивлен, что вообще нет литературы по применению DTW к нерегулярным временным рядам, или, по крайней мере, я не смог ее найти.

Кто-нибудь может дать мне ссылку на что-то, связанное с этой проблемой, или, может быть, даже на реализацию?

Реми Д
источник
Я хотел бы начать с cran.r-project.org/web/packages/dtw/index.html
kjetil b halvorsen

Ответы:

11

Насколько я понимаю, под нерегулярными временными рядами вы подразумеваете неравномерно распределенные временные ряды , также называемые нерегулярно дискретизированными временными рядами . Поскольку мне интересно узнать о временных рядах в целом, я провел краткое исследование по теме, которая вас (и теперь моя) интересует. Результаты следуют.

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

Тем не менее, кажется, что эта тема в основном освещается в следующих двух направлениях исследований :

  • предложение и оценка подходов, альтернативных DTW , таких как основанные на модели (см. эту статью и эту статью );
  • предложение и оценка модифицированных подходов DTW , таких как cDTW , EDR , ERP , TWED , преобразования огибающей , CDTW ( непрерывное DTW - не путайте с DTW с ограничениями cDTW !) и другие варианты (например, см. эту статью ). Обзор вышеупомянутых подходов и результатов некоторых эмпирических сравнений можно найти в этой статье .

Наконец, я хотел бы затронуть тему программного обеспечения с открытым исходным кодом , доступного для исследования или внедрения системы , сосредоточенного на DTW и поддерживающего некоторые из вышеупомянутых алгоритмов для нерегулярных временных рядов. Такое программное обеспечение включает в себя проект модуля cDTW на основе Python / NumPy, а также проект CUDA-DTW на основе графического процессора CUDA . Для энтузиастов также следует упомянуть комплексный проект Dynamic Time Warp ( соответствующий пакетR dtwдоступно на CRAN). Хотя в настоящий момент он может не поддерживать многие алгоритмы DTW для нерегулярных временных рядов (хотя я думаю, что он поддерживает cDTW), я думаю, что это всего лишь вопрос времени, когда этот проект предложит более полную поддержку алгоритмов DTW, ориентированных на такой тип данных. Я надеюсь, что вам понравилось читать мой ответ так же, как мне нравилось исследовать тему и писать этот пост.

Александр Блех
источник
1

Я успешно реализовал DTW в «C» применительно к динамической проверке подписи. Я использовал тестовую базу данных китайских и голландских подписей для проверки EER и получил очень впечатляющие результаты. В настоящее время он реализован в виде демонстрации на iPad. Мой алгоритм был написан вручную из нескольких опубликованных описаний. Я поделюсь кодом, если есть способ получить его для вас. Одна вещь, которая также способствовала успеху, была «нормализация» входных данных. Это значительно облегчило сравнение разнородных данных с использованием разных частот выборки.

user6009837
источник
Добро пожаловать на наш сайт! Обратите внимание, что ваше имя пользователя, имя пользователя и ссылка на страницу пользователя автоматически добавляются к каждому создаваемому вами сообщению, поэтому подписывать ваши сообщения не нужно.
Серебряная
2
Мы хотели бы, чтобы наши ответы были полезны для будущих читателей, а не только для первоначального автора, поэтому возможность поделиться кодом была бы более полезной, если бы вы могли загружать файлы и делиться ссылкой здесь. Но если это невозможно, возможно, вы могли бы пролить свет на «Мой алгоритм был закодирован вручную из нескольких опубликованных описаний» - не могли бы вы привести те, которые вы использовали, на случай, если кто-то еще захочет пойти по вашим стопам и реализовать их?
Серебряная
0

Я только вхожу в DTW сам и не использовал пакеты, упомянутые ниже, но я надеюсь, что следующее может помочь вам.

Проект Cran.R, в частности: • «ts» - это базовый класс для регулярно разнесенных временных рядов с использованием числовых временных отметок. • Пакет «zoo» предоставляет инфраструктуру для регулярно И НЕПРАВИЛЬНО разнесенных временных рядов с использованием произвольных классов для отметок времени. Он разработан так, чтобы быть максимально совместимым с "ts". • zoo: инфраструктура S3 для регулярных и нерегулярных временных рядов (упорядоченные наблюдения Z)

Ссылки: http://cran.r-project.org/web/views/TimeSeries.html и http://cran.r-project.org/web/packages/zoo/index.html

С наилучшими пожеланиями.

TonyMorland
источник
1
Мой вопрос был об адаптации DTW как метода к контексту нерегулярных временных рядов. Такие пакеты, как Zoo, не дают решения этой проблемы.
Реми Д,
0

TSdist имеет функцию, которая определяет расстояние через dtw. Он принимает нерегулярные временные ряды зоопарка

tiagovrtr
источник
1
«Принимает» не означает, что обрабатывает их. Вы всегда должны проверять исходный код функции.
Remi D