问题描述
在时间序列分析中,动态时间扭曲(DTW)是衡量两个时间序列之间相似性的算法之一,这两个时间序列的速度可能不同。 Fast 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)
您可以查看此线程以获取有关如何操作以及其他可能性的参考:Efficient pairwise DTW calculation using numpy or cython