В последнее время я много читал о динамической деформации времени (DTW). Я очень удивлен, что вообще нет литературы по применению DTW к нерегулярным временным рядам, или, по крайней мере, я не смог ее найти.
Кто-нибудь может дать мне ссылку на что-то, связанное с этой проблемой, или, может быть, даже на реализацию?
Ответы:
Насколько я понимаю, под нерегулярными временными рядами вы подразумеваете неравномерно распределенные временные ряды , также называемые нерегулярно дискретизированными временными рядами . Поскольку мне интересно узнать о временных рядах в целом, я провел краткое исследование по теме, которая вас (и теперь моя) интересует. Результаты следуют.
Несмотря на высокую популярность подхода динамического деформирования во времени (DTW) в анализе, кластеризации и классификации временных рядов, нерегулярные временные ряды представляют некоторые трудности для прямого применения DTW к такому типу данных (например, см. Эту статью и эту статью ). Основываясь на моих относительно коротких исследовательских усилиях, мне не совсем ясно, невозможно ли применять DTW напрямую, как показывают некоторые исследования (см. Также эту статью / главу ). Для большей полноты я также хотел бы упомянуть ИМХО, превосходное и актуальное для темы диссертации о нерегулярных временных рядах .
Тем не менее, кажется, что эта тема в основном освещается в следующих двух направлениях исследований :
Наконец, я хотел бы затронуть тему программного обеспечения с открытым исходным кодом , доступного для исследования или внедрения системы , сосредоточенного на DTW и поддерживающего некоторые из вышеупомянутых алгоритмов для нерегулярных временных рядов. Такое программное обеспечение включает в себя проект модуля cDTW на основе Python / NumPy, а также проект CUDA-DTW на основе графического процессора CUDA . Для энтузиастов также следует упомянуть комплексный проект Dynamic Time Warp ( соответствующий пакет
R
dtw
доступно на CRAN). Хотя в настоящий момент он может не поддерживать многие алгоритмы DTW для нерегулярных временных рядов (хотя я думаю, что он поддерживает cDTW), я думаю, что это всего лишь вопрос времени, когда этот проект предложит более полную поддержку алгоритмов DTW, ориентированных на такой тип данных. Я надеюсь, что вам понравилось читать мой ответ так же, как мне нравилось исследовать тему и писать этот пост.источник
Я успешно реализовал DTW в «C» применительно к динамической проверке подписи. Я использовал тестовую базу данных китайских и голландских подписей для проверки EER и получил очень впечатляющие результаты. В настоящее время он реализован в виде демонстрации на iPad. Мой алгоритм был написан вручную из нескольких опубликованных описаний. Я поделюсь кодом, если есть способ получить его для вас. Одна вещь, которая также способствовала успеху, была «нормализация» входных данных. Это значительно облегчило сравнение разнородных данных с использованием разных частот выборки.
источник
Я только вхожу в 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
С наилучшими пожеланиями.
источник
TSdist имеет функцию, которая определяет расстояние через dtw. Он принимает нерегулярные временные ряды зоопарка
источник