Dynamic Time Warping in Julia

Hello everybody.

I hope, I am in the right domain for this question.

I am looking for an implemantation of dynamic time warping in julia. Obviously, there has been some work on this already: here and here. However, both packages seem to be unmaintained or discontinued and I cannot find any documentation.

I tried to work myself through the examples in TimeWarp.jl. However, most of them fail, because parts of the package cannot be compiled (error messages like “undefined methods”). Some methods seem to be stubs.

Does anybody use dynamic time warping? If so, do you have any implementations in julia, that you could share?

Thanks in advance

Moses

1 Like

From the CI logs it looks like

https://github.com/ahwillia/TimeWarp.jl

did work on some pre-v0.7 versions, so perhaps it would need little more than fixing deprecations to transition to Julia v0.7/v1.0.

If you need this functionality and the original maintainer is not interested in supporting the package, then forking and fixing things could be a good learning experience. It is polite to ask the original maintainer first about it though, eg by opening an issue.

I already asked the original author for some help or documentation, but haven’t got any reply, yet. I was just hoping, that somebody else already forked the package or build one for personal use.

My problem is that I do not know, whether or not time warping is the correct method for my purpose (I want to cluster time series data from fluorescence microscopy experiments, especially ratiometric FRET experiments). As interesting as it would be to fork and develop that package, it might just turn out to be a huge investment into the wrong direction, especially since I am neither a trained programmer nor mathematician.

Did you open an issue in the github repository?

1 Like

Not yet. I send him an email.

I’m also interested in this. Specifically, an implementation of the UCR Suite of DTW optimizations. Currently, I’ve only been able to find C-libraries with Python bindings.

On the topic of clustering, you may want to consider Matrix Profile, which is specialized for clustering time-series.

I just open-sourced my Julia implementation of the UCR Suite of DTW optimizations!

3 Likes

For those who stumble into this thread looking for this functionality, here’s a reworked fork of TimeWarp.jl

with some performance improvements and some feature additions etc.

8 Likes