在时间序列分析中,动态时间扭曲(DTW)是用于测量两个时间序列之间相似性的算法之一,其速度可能会有所不同。快速DTW是一种更快的方法。我想知道如何不仅在 2 个信号之间,而且在 3 个或更多信号之间实现这种方法。
distance, warp_path = fastdtw(series2, series1, dist=euclidean)
在时间序列分析中,动态时间扭曲(DTW)是用于测量两个时间序列之间相似性的算法之一,其速度可能会有所不同。快速DTW是一种更快的方法。我想知道如何不仅在 2 个信号之间,而且在 3 个或更多信号之间实现这种方法。
distance, warp_path = fastdtw(series2, series1, dist=euclidean)
您本质上需要构建一个矩阵,在该系列的所有可能组合上评估 FastDTW 算法。
import fastdtw
import scipy.spatial.distance as sd
def my_fastdtw(sales1, sales2):
return fastdtw.fastdtw(sales1,sales2)[0]
distance_matrix = sd.pdist(sales, my_fastdtw)
您可以查看此线程以获取有关如何执行此操作以及其他可能性的参考:使用 numpy 或 cython 进行高效成对 DTW 计算