我试图使用dtw-python包对某些时间序列进行分类,这是实现这张漂亮的纸中描述的动态时间扭曲的R包的python版本。默认情况下,对dtw函数的调用返回包含距离以及已找到的翘曲路径(文档)的DTW对象。
使用K最近邻分类需要计算每个可能的对X \in T, Y \in E的DTW(X,Y),其中T是一个测试集,E是eval集。结果可以存储在|T| \times |E|距离矩阵\lambda中,然后用于寻找最佳匹配。不过,计算量很大。在引用的文件中,我们可以看到:
\lambda可以通过代理::dist( q,q,method = "DTW")直接计算。这样计算K×K对齐比在普通dtw调用上迭代更快,因为只计算距离的数值,而绕开实际翘曲路径的构造。
我不需要知道扭曲路径,所以我想使用这种方法。不幸的是,这只对R版本有效,因为proxy是R包。我是否可以做一些类似的事情,使dtw在dtw-python中不返回弯曲路径,只返回距离,这样就更快了?
发布于 2022-01-17 14:44:30
您目前用于计算DTW的函数是什么?在不了解DTW和包的情况下,dtw函数似乎有一个关键字参数distance_only (看医生),它只能用来计算两个时间序列之间的距离。
https://datascience.stackexchange.com/questions/107163
复制相似问题