Динамічний викривлення часу та нормалізація


9

Я використовую Dynamic Time Warping, щоб зіставити криву "запит" і "шаблон" і маю досі розумний успіх, але у мене є основні питання:

  1. Я оцінюю "відповідність", оцінюючи, чи результат DTW менший від порогового значення, яке я придумав евристично. Це загальний підхід до визначення "відповідності" за допомогою DTW? Якщо ні, то поясніть ...

    Якщо припустити, що відповідь на (1) - "так", то я плутаюся, оскільки результат DTW досить чутливий до а) різниці в амплітудах кривих і b) довжини вектору запиту і довжини " шаблон "вектор".

    Я використовую симетричну ступінчасту функцію, тому для (b) я нормалізую свій результат DTW шляхом ділення на M + N (ширина + висота DTW-матриці). Це здається дещо ефективним, але, здається, воно би покарало збіги DTW, які знаходяться далі від діагоналі (тобто, які мають довший шлях через матрицю DTW). Що видається довільним для «нормалізації» підходу. Поділ на кількість кроків через матрицю, здається, має інтуїтивний сенс, але це, мабуть, не є способом зробити це відповідно до літератури.

  2. Тож чи є кращий спосіб відрегулювати результат DTW під розмір векторів запитів та шаблонів?

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

Оскільки це є, враховуючи відсутність надійних методик нормалізації (або моє нерозуміння), здається, що в роботі з вибірковими даними, щоб визначити найкращий пороговий рівень для визначення "відповідності", існує багато ручних зусиль. Я щось пропускаю?

Відповіді:


8

Принаймні, наскільки мені відомо, для цього не існує «загального підходу». Крім того, ви намагаєтесь все-таки мінімізувати метрику відстані. Наприклад, у дідусі з паперів DTW Sakoe & Chiba (1978) використовуютьяк вимірювання різниці між двома характеристичними векторами.||aibi||

Як ви правильно визначили, вам потрібно мати однакову кількість балів (як правило), щоб це вийшло з поля. Я б запропонував використовувати більш низький () більш плавний / інтерполятор над кривими, щоб зробити їх спочатку однакового розміру. Це досить стандартний матеріал для "кривої статистики". Ви можете побачити приклад заявки в Chiou et al. (2003) ; автори не хвилюються щодо DTW як такої у цій роботі, але це хороший приклад, як поводитися з показаннями неоднакового розміру.

Крім того, як ви говорите, "амплітуда" є проблемою. Це трохи відкритіше, якщо чесно. Ви можете спробувати підхід «Площа під кривою», як той, запропонований Чжаном та Мюллером (2011), щоб подбати про це, але справді для цілей викривлення навіть нормалізації норми (тобто замінити на міг би зробити так, як у цій роботі Танга та Мюллера (2009) . Я б дотримувався другого, але в будь-якому випадку, як ви також помітили, нормалізація зразків - це необхідність.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}gYi(g(t))Yk(t)Yi(g(t))Yk(t)) за умови певної нормалізації спотворення, яке ви накладаєте тим самим викривленням (термін ). Це реалізація пакету MATLAB PACE . Я знаю, що існує R пакет FDA від JO Ramsay et al. це може бути корисним, але я особисто не використовував це (трохи дратує стандартне посилання на методи цього пакету, в багатьох випадках відмінна книга Рамзі та Сільвермана, Функціональний аналіз даних (2006), 2-е видання , і вам потрібно прокрутити Книга на 400 сторінок, щоб отримати те, що ви шукаєте; принаймні, добре все-таки прочитати)g(t)t

Проблема, яку ви описуєте в статистичній літературі, широко відома як " реєстрація кривих " (наприклад, див. Гассер та Кнайп (1995) для раннього розгляду питання) і підпадає під загальну парасольку функціональних методів аналізу даних .

(У випадках, коли я міг знайти оригінальний папір, доступний в режимі он-лайн, посилання направляє туди; в іншому випадку посилання спрямовується на загальну цифрову бібліотеку. Практично всі згадані папери можна знайти безкоштовно для складання версій. Я видалив свій оригінальний коментар як є замінено цією публікацією.)


Це відмінна і дуже корисна відповідь. Посилання особливо корисні.
Мікко

Чи знаєте ви відповідні посилання для того, щоб сказати, що "амплітуда - це проблема" у dtw? Це, мабуть, настільки очевидно, що я намагаюся знайти посилання, яке чітко обговорює це.
Мікко

Я радий, що тобі це подобається. Як я вже говорив, лікування амплітуди "є дещо відкритішим", і я не думаю, що ви знайдете жодної посилання, в якій згадується, якщо це не стосується конкретної програми чи методології (як, наприклад, у роботі Zhang & Mueller " 09). Нормалізація необхідна, коли у вас є дані, виміряні в різних одиницях. Як правило, вирішальним є нормалізація функціональних основних / канонічних / компонентів what_have_you, щоб вони складали основу в . L2
usεr11852

З уже згаданих ресурсів, мабуть, найкращою вашою ставкою стане книга FDA від Ramsay & Silverman, Chapt. 7 про "реєстрацію та відображення функціональних даних". Дуже хорошим ресурсом є також книга: «Висновок щодо функціональних даних із додатками» Горвата та Кокошки; Частина III "Залежні функціональні дані" торкається питання нормалізації здебільшого через те, що вони піклуються про виявлення точки зміни.
usεr11852
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.