我试图了解如何将一维动态时间扭曲的想法扩展到多维情况。
假设我有一个具有两个维度的数据集,其中TrainA包含维度 1 和TrainB维度 2。似乎最简单的情况是
distA = dtw(TrainA)
distB = dtw(TrainB)
dist = distA + distB // or maybe distA*distB
这是正确的方法吗?我知道有一些软件包可以为您执行此操作,但我想了解实际执行的操作。
我试图了解如何将一维动态时间扭曲的想法扩展到多维情况。
假设我有一个具有两个维度的数据集,其中TrainA包含维度 1 和TrainB维度 2。似乎最简单的情况是
distA = dtw(TrainA)
distB = dtw(TrainB)
dist = distA + distB // or maybe distA*distB
这是正确的方法吗?我知道有一些软件包可以为您执行此操作,但我想了解实际执行的操作。
有两种方法可以做到这一点。您描述的方式是 DTWI,但其他方式,DTWD 可能更好,因为它在扭曲之前汇集信息。
这里有对差异的解释和实证研究。 http://www.cs.ucr.edu/~eamonn/Multi-Dimensional_DTW_Journal.pdf