DynamicTimeWarping/dtw-python

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

解決的問題

本套件提供動態時間彎曲(DTW)演算法的完整實作,這些演算法用於透過拉伸或壓縮時間軸,找到兩條時間序列之間的最優對齊。這對於比較速度或時間可能有差異的序列至關重要,適用於經濟計量學、化學計量學以及一般時間序列挖掘中的分類與聚類等任務。

工作原理

該程式庫實作了DTW演算法家族,用於計算查詢序列與參考序列之間的累積距離。支援多種約束與匹配類型:

  • 全域約束: 支援任意視窗函數,例如Sakoe-Chiba帶與Itakura平行四邊形,以限制搜尋空間。
  • 局部約束: 支援多種轉移類型(步進模式),包括對稱、非對稱以及使用者自訂的斜率約束。
  • 部分匹配: 支援不完整時間序列的開頭、開端與子字串匹配。
  • 多變量支援: 可透過 scipy.spatial.distance.cdist 使用任意局部距離定義來對多變量時間序列進行對齊。

適用對象

在Python中處理時間序列資料的資料科學家、研究人員與分析師,特別是需要R dtw套件的穩健且忠實的Python替代方案者。

主要特色

  • 功能完整: 包含多種知名步進模式與Rabiner的平滑變體。
  • C核心: 使用快速原生C核心以提升效能。
  • 引用資訊: 基於已建立的學術研究,並為特定演算法(如最小變異匹配MVM)提供明確的引用指引。
  • 可視化: 包含多種經典風格的對齊與扭曲函數繪圖方法。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案