Я хочу выполнить задачу кластеризации временного ряда. Скажем, у нас есть четыре данных (t1 ~ t4).Ускорение и нормализация динамического времени
t1={1,1,1,1,1,1,1}
t2={10,10,10,10,10,10,10}
t3={100,100,100,100,100,100,100}
t4 = {1,5,9,13,17,21,25}
Вот мое намерение за этого примера в том, что я хочу, чтобы группа t1, t2, t3 вместе, потому что его форма является постоянной линией. Однако t4 выглядит как восходящая линия, поэтому он должен находиться в другой группе.
Но, если я вычислить расстояния между t1 и другими, используя DTW (пакет mlpy питона), я получил результат следующим образом:
t1-t1: 0 (absolutely)
t1-t2: 63
t1-t3: 693
t1-t4: 84
Как мы можем видеть, расстояние между t1-t3 намного больше что между t1-t4. Я думаю, это потому, что масштаб амплитуды t3 намного больше, чем остальные.
В этой ситуации хорошо ли использовать минимальную нормировку (то есть, от 0 до 1 нормализации) для каждой временной базы данных до адаптации DTW? Другими словами, делая t1, t2, t3 равным {0,0,0,0,0,0,0}, а t4 - {0, 0,17, ...., 1}? Затем DTW возвращает результат, как я хочу.
В ближайшее время я задаюсь вопросом о пригодности задачи нормализации перед DTW. Я новичок в DTW, извините за то, что беспокоил вас основным вопросом! :)
Спасибо, за хороший материал. Я изменю метод нормализации от нормировки min-max до Z-нормировки. –