DynamicTimeWarping/dtw-python

Python port of R's Comprehensive Dynamic Time Warp algorithms package

해결하는 문제

이 패키지는 두 시계열 간의 최적 정렬을 찾기 위해 시간축을 늘리거나 압축하는 데 사용되는 동적 시간 왜곡(DTW) 알고리즘의 포괄적인 구현을 제공합니다. 이는 속도나 시간이 다를 수 있는 시퀀스를 비교하는 데 필수적이며, 경제통계학, 화학통계학, 일반적인 시계열 마이닝에서 분류 및 클러스터링과 같은 작업에 유용합니다.

작동 방식

이 라이브러리는 쿼리 시퀀스와 참조 시퀀스 간의 누적 거리를 계산하는 DTW 알고리즘의 일련을 구현합니다. 다양한 제약 조건과 매칭 유형을 지원합니다:

  • 글로벌 제약: 사코에-치바 밴드와 이타쿠라 평행사변형과 같은 임의의 윈도우 함수를 지원하여 탐색 공간을 제한합니다.
  • 로컬 제약: 대칭적, 비대칭적, 사용자 정의 기울기 제약을 포함한 다양한 전이 유형(스텝 패턴)을 지원합니다.
  • 부분 매칭: 완전하지 않은 시계열에 대한 오픈-시작, 오픈-종료, 부분 문자열 매칭을 가능하게 합니다.
  • 다변량 지원: scipy.spatial.distance.cdist 를 통해 임의의 국부적 거리 정의를 사용하여 다변량 시계열을 정렬할 수 있습니다.

대상 사용자

Python에서 시계열 데이터를 다루는 데이터 과학자, 연구자, 분석가. 특히 R의 dtw 패키지의 강력하고 정확한 파이썬 대안이 필요한 사람들을 위한 것입니다.

주요 특징

  • 포괄적인 기능 세트: 유명한 스텝 패턴과 라비너의 스무딩 변종을 포함합니다.
  • C 코어: 성능을 위해 빠른 네이티브 C 코어를 사용합니다.
  • 인용 정보: 확립된 학술 연구 기반이며, 최소 분산 매칭(MVM)과 같은 특정 알고리즘에 대한 명확한 인용 가이드를 제공합니다.
  • 시각화: 여러 고전적인 스타일로 정렬 결과와 왜곡 함수를 플롯하는 메서드를 포함합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트