DTAIDistance: Dynamic Time Warping for Time Series

2.4.0 · active · verified Thu Apr 16

DTAIDistance is a Python library providing highly optimized distance measures for time series, primarily focusing on Dynamic Time Warping (DTW). It features both a pure Python implementation and a significantly faster C implementation, making it suitable for performance-critical applications. The library also includes functionalities for time series clustering, multi-dimensional DTW, and subsequence search. It is actively maintained by the DTAI Research Group, with the current stable version being 2.4.0.

Common errors

Warnings

Install

Imports

Quickstart

This quickstart demonstrates how to calculate the Dynamic Time Warping (DTW) distance between two NumPy arrays using the `distance_fast` method for optimal performance. It also includes an optional step to visualize the warping path, which requires `matplotlib`.

import numpy as np
from dtaidistance import dtw

# Define two sample time series
s1 = np.array([0.0, 0, 1, 2, 1, 0, 1, 0, 0])
s2 = np.array([0.0, 1, 2, 0, 0, 0, 0, 0, 0])

# Compute the DTW distance using the fast C implementation
distance = dtw.distance_fast(s1, s2)
print(f"DTW distance: {distance:.2f}")

# Optionally, visualize the warping path (requires matplotlib)
try:
    from dtaidistance import dtw_visualisation as dtwvis
    path = dtw.warping_path(s1, s2)
    dtwvis.plot_warping(s1, s2, path, filename="warping_path.png")
    print("Warping path visualized in warping_path.png")
except ImportError:
    print("Matplotlib not installed, skipping visualization.")

view raw JSON →