Fast dynamic time warping and clustering in C++
Volkan Kumtepeli, Rebecca Perriment, David A. Howey

TL;DR
This paper introduces an efficient method for dynamic time warping and clustering of time-series data using optimization techniques and parallelization, significantly reducing computation time on large datasets.
Contribution
It presents a novel approach combining dynamic programming and mixed-integer programming for faster DTW and clustering, with optional k-medoids for speed.
Findings
33% faster than existing methods on average
64% faster on datasets with over 1000 time series
Most effective for small, long time series datasets
Abstract
We present an approach for computationally efficient dynamic time warping (DTW) and clustering of time-series data. The method frames the dynamic warping of time series datasets as an optimisation problem solved using dynamic programming, and then clusters time series data by solving a second optimisation problem using mixed-integer programming (MIP). There is also an option to use k-medoids clustering for increased speed, when a certificate for global optimality is not essential. The improved efficiency of our approach is due to task-level parallelisation of the clustering alongside DTW. Our approach was tested using the UCR Time Series Archive, and was found to be, on average, 33% faster than the next fastest option when using the same clustering method. This increases to 64% faster when considering only larger datasets (with more than 1000 time series). The MIP clustering is most…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsTime Series Analysis and Forecasting · Advanced Database Systems and Queries · Data Management and Algorithms
MethodsDynamic Time Warping
