I am trying to understand how to extend the idea of one dimensional dynamic time warping to the multidimensional case.
Lets assume I have a dataset with two dimensions where TrainA
holds dimension 1 and TrainB
holds dimension 2. It seems that the simplest case would be
distA = dtw(TrainA)
distB = dtw(TrainB)
dist = distA + distB // or maybe distA*distB
Is this the right approach? I know there are packages that do this for you but I want to understand what is actually being done.
Best Answer
There are two ways to do it. The way you describe is DTWI, but other way, DTWD can be better, because it pools the information before warping.
There is an explanation of the differences, and an empirical study here. http://www.cs.ucr.edu/~eamonn/Multi-Dimensional_DTW_Journal.pdf