Skip to main content

A simple implementation of DTW(Dynamic Time Warping) in C#/python

DTW(Dynamic Time Warping) is a very useful tools for time series analysis. This is a very simple (but not very efficient) c# implementation of DTW, the source code is available at https://gist.github.com/1966342 .

Use the program as below:
double[] x = {9,3,1,5,1,2,0,1,0,2,2,8,1,7,0,6,4,4,5};
double[] y = {1,0,5,5,0,1,0,1,0,3,3,2,8,1,0,6,4,4,5};
SimpleDTW dtw = new SimpleDTW(x,y);
dtw.calculateDTW();

The python implementation is available at https://gist.github.com/3265694 .

from python-dtw import Dtw
import math
dtw = Dtw([1, 2, 3, 4, 6], [1, 2, 3, 5],
          distance_func=lambda x, y: math.fabs(x - y))
print dtw.calculate() #calculate the distance
print dtw.get_path() #calculate the mapping path

Comments

Xxx said…
I was about to write it by my self. Thanks a lot for that :). Great job.
Unknown said…
Please i want to ask is this program is made on consle app or windows form app

and please i want to ask about the lines written below about the program where can i write them

thanks and please help me because i'm a beginner

and i need this code urgently
thanks
AliBaba said…
hi blogger, I want to know about the computation of this DTW algorithm, in your example you have mentioned calculateDTW but in project there isnt any such function .. secondly U have made 2 more functions in it as Backward and forward, what are these for ... please give us a complete details how to use the code .. regards...
Ruki said…
great help. thank you!
CardStop said…
Would it be possible to update the download link? Thank you in advance.
Darjan said…
Thanks for the code, it saved me some time when I required a simple implementation for some POC software.

Later on I have written something more powerful - if anyone is interested, here is the code: https://github.com/doblak/ndtw
Unknown said…
A simple implementation of DTW(Dynamic Time Warping) in C#/python is really a useful Tool for time analysis. Check DTW Airport Taxi services.
greennn said…
Great job, it is very helpful for myself and thanks for given This DTW code. This implementation is very effective about DTW at it all.
dtw airport taxi
Richard Scott said…
i want to know this code work for Mobile Apps or not and i need for Mobile App i am Living in Detroit Working For DTW Metro Airport To provide Detroit Metro Airport Cars Services
Anonymous said…
Good work,Really it is very helpful code for everyone.Detroit Airport Taxi
Unknown said…
This code is very helpful Detroit Airport Taxi
Unknown said…
great piece of information. the post regarding the subject i really informative for the tattoo lovers and the great thing about this is that material use for it is made of organic. keep sharing such kind of informative posts. london gatwick airport parking
Unknown said…
sorry to say but not understand this post can some one explain it for me A simple implementation of DTW(Dynamic Time Warping) in C#/python ? Taxi for Detroit Airport
Unknown said…
Thanks for such a nice and unique content with many tips and ideas for taxi and cab solution. Please Visit:

Detroit Metro Airport Taxi
Metro Airport Taxi Car Services

Popular posts from this blog

Install mysql-python with mariadb

mysql-python requires libmysqlclient-dev in ubuntu, but the installation of mariadb will have the lib with unmet dependenccies, so the error of "mysql_config not found" may occurred if you install mysql-python via pip. The case is that mariadb has a compatible package, if you have the ppa setup as in  http://downloads.mariadb.org/ . Just "sudo apt-get install libmariadbclient-dev".

PrefixSpan source code in python

The prefixspan is a key algorithm for mining sequential patterns. I have implemented the algorithm in Python. The algorithm is based on the following paper: Jian Pei, Jiawei Han, Senior Member, Behzad Mortazavi-asl, Jianyong Wang, Helen Pinto, Qiming Chen, Umeshwar Dayal. Mining Sequential Patterns by Pattern-Growth: The PrefixSpan Approach. IEEE Transactions on Knowledge and Data Engineering, 2004. or their conference paper You may download the source code at the following addresses: Link1