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)提供清晰的引用指南。
  • 可视化: 包含多种经典风格的对齐和扭曲函数绘图方法。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目