Динамическое искажение времени и нормализация

9

Я использую Dynamic Time Warping, чтобы соответствовать кривой «запрос» и «шаблон» и до сих пор добился достаточного успеха, но у меня есть несколько основных вопросов:

  1. Я оцениваю «соответствие», оценивая, является ли результат DTW меньше некоторого порогового значения, которое я получаю эвристически. Это общий подход к определению «совпадения» с использованием DTW? Если нет, пожалуйста, объясните ...

    Если предположить, что ответом на (1) является «да», то я запутался, поскольку результат DTW весьма чувствителен к а) разности амплитуд кривых и б) длине вектора запроса и длине " шаблон "вектор.

    Я использую симметричную пошаговую функцию, поэтому для (b) я нормализую свой результат DTW путем деления на M + N (ширина + высота матрицы DTW). Это кажется несколько эффективным, но кажется, что это оштрафовало бы совпадения DTW, которые находятся дальше от диагонали (то есть, которые имеют более длинный путь через матрицу DTW). Что кажется произвольным для подхода «нормализации». Деление на количество шагов по матрице кажется интуитивно понятным, но это не похоже на способ сделать это в соответствии с литературой.

  2. Так есть ли лучший способ настроить результат DTW для размера запроса и векторов шаблона?

  3. Наконец, как мне нормализовать результат DTW для разности амплитуд между запросом и векторами шаблона?

Как таковое, учитывая отсутствие надежных методов нормализации (или мое отсутствие понимания), кажется, что при работе с образцами данных требуется много ручного труда для определения наилучшего порогового уровня для определения «соответствия». Я что-то пропустил?

мистер блинки
источник

Ответы:

8

Никакого «общего подхода» для этого не существует, по крайней мере, насколько мне известно. Кроме того, вы все равно пытаетесь минимизировать метрику расстояния. Например, в дедушке статей DTW Sakoe & Chiba (1978) используетсяв качестве измерения разницы между двумя характеристическими векторами.||aibi||

Как вы правильно определили, вам нужно иметь одинаковое количество баллов (обычно), чтобы это работало из коробки. Я бы предложил использовать сглаживание / интерполятор lowess () поверх ваших кривых, чтобы сначала сделать их равными по размеру. Это довольно стандартный материал для "кривой статистики". Вы можете увидеть пример приложения в Chiou et al. (2003) ; Авторы не заботятся о DTW как таковом в этой работе, но это хороший пример того, как справляться с чтениями неравного размера.

Кроме того, как вы говорите, «амплитуда» является проблемой. Это немного более открытый конец, если честно. Вы можете попробовать подход Area-Under-the-Curve, подобный тому, который предложен Zhang and Mueller (2011), чтобы позаботиться об этом, но на самом деле в целях временной деформации даже нормализации сверх нормы (т.е. заменить на можно сделать так, как в этой статье Tang and Mueller (2009) . Я бы следовал второму, но в любом случае, как вы заметили, нормализация выборок является необходимость.f ( x )f(x)f(x)supy|f(x)|

В зависимости от характера ваших данных вы можете найти больше литературы по конкретным приложениям. Я лично считаю подход минимизации по отношению к целевой попарной функции деформации наиболее интуитивным из всех. Таким образом, целевая функция для минимизации: , где все это , несмотря на это uncanniness на самом деле довольно прост: вы пытаетесь найти , чтобы найти коробление функцию , что сводит к минимуму ожидаемой суммы несоответствия искривленного кривого запроса к опорная кривая (терминgCλ(Yi,Yk,g)=E{T(Yi(g(t))Yk(t))2+λ(g(t)t)2dt|Yi,Yk}gY k ( t ) Y i ( g ( t ) ) - Y k ( t ) g ( t ) - tYi(g(t))Yk(t)Yi(g(t))Yk(t)) при условии некоторой нормализации временного искажения, которое вы налагаете на эту деформацию (термин ). Это то, что реализует пакет PACE в MATLAB . Я знаю, что существует R-пакет fda от JO Ramsay et al. это могло бы также помочь, но я лично не использовал его (немного досадно, что стандартная ссылка для методов этого пакета во многих случаях - отличная книга Рэмси и Сильвермана, Функциональный анализ данных (2006), 2-е изд. , 400-страничная книга, чтобы получить то, что вы ищете, по крайней мере, это хорошо читать в любом случае)g(t)t

Проблема, которую вы описываете в статистической литературе, широко известна как « регистрация кривых » (например, см. Gasser and Kneip (1995) для ранней обработки проблемы) и подпадает под общий принцип методов анализа функциональных данных .

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

usεr11852
источник
Это отличный и очень очень полезный ответ. Ссылки особенно полезны.
Микко
Знаете ли вы подходящую ссылку для утверждения, что «амплитуда является проблемой» в DTW? Это, вероятно, настолько очевидно, что я изо всех сил пытаюсь найти ссылку, которая ясно обсуждает это.
Микко
Я рад что тебе понравилось. Как я уже говорил, лечение амплитуды «немного более открыто», и я не думаю, что вы найдете упоминание об этом, если только оно не связано с рассматриваемым применением или методологией (как, например, в работе Zhang & Mueller '). 09). Нормализация необходима, когда у вас есть данные, измеренные в разных единицах. Что обычно имеет решающее значение, так это нормализация функциональных главных / канонических / what_have_you компонентов, поэтому они составляют основу в . L2
usεr11852
Из уже упомянутых ресурсов, вероятно, лучшим выбором будет книга FDA от Ramsay & Silverman, Chapt. 7 на «Регистрация и отображение функциональных данных». Очень хорошим ресурсом является также книга: «Вывод функциональных данных с приложениями» Хорвата и Кокошки; Часть III «Зависимые функциональные данные» затрагивает проблему нормализации главным образом потому, что они заботятся об обнаружении точек изменения.
usεr11852