我正在研究时间序列数据。可用的数据是多变量的。因此,对于每个时间实例,都有三个可用的数据点。
格式:
| X |是 | Z|
这样就会实时生成一个上述格式的时间序列数据。我试图在另一个已经存储的时间序列基础数据中找到这个实时生成的时间序列的良好匹配(其大小要大得多并且以不同的频率收集)。如果我将标准 DTW 单独应用于每个系列(X、Y、Z),它们最终可能会在基础数据库中的不同点获得匹配,这是不利的。所以我需要在基础数据库中找到一个点,其中所有三个组件(X,Y,Z)都在同一点匹配良好。
我研究了一下这个问题,发现多维DTW是解决这个问题的完美方案。在 R 中,dtw 包确实包含多维 DTW,但我必须在 Python 中实现它。 R-Python 桥接包(即“rpy2”)可能会在这里提供帮助,但我没有 R 经验。我已经查看了 Python 中可用的 DTW 包,如 mlpy、dtw,但没有帮助。任何人都可以建议 Python 中的一个包来执行相同的操作,或者使用 rpy2 进行多维 DTW 的代码。
提前致谢!
这好像是学习的dtw_path()正是您正在寻找的。引用之前链接的文档:
计算(可能是多维)时间序列之间的动态时间规整 (DTW) 相似性度量,并返回路径和相似性。
[...]
不要求两个时间序列具有相同的大小,但它们必须具有相同的维度。 [...]
他们提供的实现如下:
H. Sakoe、S. Chiba,“口语单词识别的动态编程算法优化”,IEEE 声学、语音和信号处理汇刊,卷。 26(1),第 43-49 页,1978 年。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)