最近我读了很多关于动态时间规整 (DTW) 的文章。我很惊讶根本没有关于 DTW 应用于不规则时间序列的文献,或者至少我找不到。
谁能给我一个与该问题相关的参考,或者甚至是它的实现?
最近我读了很多关于动态时间规整 (DTW) 的文章。我很惊讶根本没有关于 DTW 应用于不规则时间序列的文献,或者至少我找不到。
谁能给我一个与该问题相关的参考,或者甚至是它的实现?
据我了解,不规则时间序列是指不均匀间隔的时间序列,也称为不规则采样时间序列。由于我一般对时间序列感到好奇,因此我对您(现在是我的)感兴趣的主题进行了简要研究。结果如下。
尽管动态时间规整 (DTW)方法在时间序列分析、聚类和分类中非常流行,但不规则的时间序列对直接将 DTW 应用于此类数据类型提出了一些挑战(例如,参见本文和本文)。根据我相对简短的研究工作,我并不完全清楚是否不可能直接应用 DTW,正如一些研究表明的那样(另见本文/章节)。为了更全面,我还想提一下恕我直言,与不规则时间序列的主题论文相关。
然而,似乎这个主题主要被以下两个研究流所涵盖:
最后,我想谈谈开源软件的主题,可用于研究或系统实现,专注于 DTW 并支持上述一些不规则时间序列的算法。此类软件包括基于Python/NumPy的 cDTW模块项目以及以GPU 为中心的基于 CUDA 的 CUDA-DTW 项目。对于R
爱好者来说,还应该提到一个综合的 动态时间扭曲项目(相应的包 dtw
在 CRAN 上可用)。尽管目前它可能不支持许多不规则时间序列的 DTW 算法(尽管我认为它支持 cDTW),但我认为这个项目将为 DTW 算法提供更全面的支持只是时间问题,专注于此类类型数据的。我希望你喜欢阅读我的回答,就像我喜欢研究这个话题和写这篇文章一样。
我已经成功地在“C”中实现了 DTW,应用于动态签名验证。我使用了一个中荷签名的测试数据库来验证 EER,并得到了非常令人印象深刻的结果。它目前在 iPad 上作为演示实现。我的算法是从几个已发布的描述中手工编码的。如果有办法将代码提供给您,我将分享代码。也有助于成功的一件事是“规范化”输入数据。这使得使用不同采样率比较不同数据时变得容易得多。
TSdist具有确定通过 dtw 的距离的功能。它接受不规则的动物园时间序列
我自己只是刚刚进入 DTW,并没有亲自使用过下面提到的包,但我希望下面的内容可以帮助你。
Cran.R 项目,特别是: • “ts”是使用数字时间戳的规则间隔时间序列的基本类。• “zoo”包为规则和不规则间隔的时间序列提供了基础设施,使用任意类作为时间戳。它被设计为尽可能与“ts”保持一致。• zoo:用于常规和不规则时间序列的 S3 基础设施(Z 的有序观察)
参考: http://cran.r-project.org/web/views/TimeSeries.html和 http://cran.r-project.org/web/packages/zoo/index.html
最良好的祝愿。