我正在比较用于 DTW 计算的库dtaidistance、fastdtw和cdtw。这是我的代码:
from fastdtw import fastdtw
from cdtw import pydtw
import fastdtw
import array
from timeit import default_timer as timer
from dtaidistance import dtw, dtw_visualisation as dtwvis
s1 = mySampleSequences[0] # first sample sequence consisting of 3000 samples
s2 = mySampleSequences[1] # second sample sequence consisting of 3000 samples
start = timer()
distance1 = dtw.distance(s1, s2)
end = timer()
start2 = timer()
distance2 = dtw.distance_fast(array.array('d',s1),array.array('d',s2))
end2 = timer()
start3 = timer()
distance3, path3 …Run Code Online (Sandbox Code Playgroud) 我发现这两篇文章讨论使用动态时间扭曲或 DTW 来对齐多个“n”个时间序列。
如何在 python 中在 3 个或更多信号之间应用/实现动态时间规整 (DTW) 或快速动态时间规整 (FastDTW)? 使用 numpy 或 cython 进行高效的成对 DTW 计算
然而,他们未能描述为所有“n”个时间序列找到最小距离路径所涉及的所有步骤。
在上述链接的答案之一中,它指出计算所有成对路径的距离矩阵。但是,没有提到如何处理距离矩阵,以便创建一个具有“n”个时间序列的图,这些时间序列都最佳对齐。
您将如何获取距离矩阵(“n”个时间序列之间的成对距离)并对齐所有“n”个时间序列?
或者,是否有不同的方法来对齐所有“n”个时间序列?