동적 시간 워핑 (Dynamic Time Warping (DTW))

통계
한 줄 정의: 속도가 서로 다른 두 시계열을 시간축을 늘이고 줄여 가장 잘 맞게 정렬하는 방법입니다.

쉽게 풀면

같은 노래를 한 사람은 빠르게, 다른 사람은 느리게 불렀다면 초 단위로 그대로 비교하면 엉뚱하게 어긋납니다. 동적 시간 워핑은 한쪽의 시간을 부분부분 늘이거나 줄여 같은 소절끼리 맞춘 뒤 차이를 계산합니다. 그래서 모양은 비슷하지만 진행 속도가 다른 데이터를 공정하게 비교할 수 있습니다.

왜 중요한가

실험 시행마다 행동이나 신경 신호의 진행 속도가 달라지는 일은 매우 흔합니다. DTW를 쓰면 이런 시간 차이를 보정한 거리를 구할 수 있어 음성 인식, 동작 분석, 신경 활동 패턴 비교 등에서 널리 사용됩니다.

논문에서는 이렇게 쓰입니다

"시행마다 과제 수행 시간이 달랐으므로, 동적 시간 워핑으로 신경 활동 궤적을 정렬한 뒤 시행 간 거리를 계산하였다."

빠른 시행과 느린 시행의 같은 단계를 서로 맞춰 놓고 비교했다는 뜻입니다.

조금 더 깊게 보면

DTW는 두 시계열의 모든 시점 쌍 사이 거리를 표로 만든 뒤, 시작점에서 끝점까지 누적 거리가 최소가 되는 경로를 동적계획법으로 찾습니다. 경로는 시간 순서를 거스르지 않아야 한다는 제약이 있습니다. 계산량이 두 시계열 길이의 곱에 비례하므로 긴 데이터에는 경로 범위를 제한하는 창(window) 제약을 흔히 둡니다.

주의할 점

DTW 거리는 삼각부등식을 만족하지 않아 엄밀한 의미의 거리 척도가 아니므로, 거리 척도를 가정하는 방법에 그대로 넣을 때 주의해야 합니다. 제약 없이 과도하게 늘이고 줄이면 실제로는 다른 패턴도 억지로 비슷하게 맞춰질 수 있습니다.

관련 용어