在http://www.speech.zone/exercises/dtw-in-python/它说
尽管不再真正使用它,但动态时间规整 (DTW) 是对动态编程关键概念的一个很好的介绍。
我正在使用 DTW 进行信号处理,有点惊讶:用什么来代替?
在http://www.speech.zone/exercises/dtw-in-python/它说
尽管不再真正使用它,但动态时间规整 (DTW) 是对动态编程关键概念的一个很好的介绍。
我正在使用 DTW 进行信号处理,有点惊讶:用什么来代替?
我根本不会认为 DTW 已经过时。2006 年,Xi 等人。表明
[...] 已经针对时间序列分类问题提出了许多算法。然而,很明显,具有动态时间规整 (DTW) 距离的最近邻是非常难以击败的。
这篇论文的结果在 Theophano Mitsa 的《Temporal Data Mining》一书中总结如下:
- 在 [Che05a] 中,静态最小化-最大化方法产生的最大误差为 7.2%。使用 1NN-DTW,使用与原始文章相同的数据集,误差为 0.33%。
- 在 [Che05b] 中,多尺度直方图方法产生的最大误差为 6%。使用 1NN-DTW,误差(在同一数据集上)为 0.33%。
- 在 [Ead05] 中,语法引导的特征提取算法产生的最大误差为 13.22%。使用 1NN-DTW,误差为 9.09%。
- 在 [Hay05] 中,时间序列使用拉普拉斯特征图和 DTW 距离嵌入到低维空间中。作者达到了令人印象深刻的 100% 准确率;然而,1NN-DTW 也达到了 100% 的准确率。
- 在 [Kim04] 中,隐马尔可夫模型达到 98% 的准确率,而 1NN-DTW 达到 100% 的准确率。
- 在 [Nan01] 中,多层感知器神经网络实现了 1.9% 错误率的最佳性能。在同一数据集上,1NN-DTW 的比率为 0.33%。
- 在 [Rod00] 中,带升压的一阶逻辑给出的错误率为 3.6%。在同一数据集上,1NN-DTW 的错误率为 0.33%。
- 在 [Rod04] 中,基于 DTW 的决策树给出的错误率为 4.9%。在同一数据集上,1NN-DTW 给出 0.0% 的误差。• 在[Wu04]中,超核融合集的错误率为0.79%,而在同一数据集上,1NN-DTW 的错误率为0.33%。
请参阅原书以获取提到的参考文献列表。
这里要注意的重要一点是 Xi 等人。甚至在 2006 年就成功超越了 MLP 的性能。尽管现在情况可能看起来有点不同(因为我们手头有更好更快的深度学习算法),但我仍然认为 DTW 是一个有效的选择来研究何时涉及到信号分类。
我还想添加一个链接到2016 年的一篇名为“伟大的时间序列分类烘焙:最近提出的算法的实验评估”的论文的链接。在这篇论文中,作者“已经实现了 18 个最近提出的算法在一个共同的Java 框架,并将它们与两个标准基准分类器(以及彼此)进行比较”。论文中的以下引述强调 DTW(或至少在 2016 年)确实仍然相关:
- 许多算法实际上并不比我们的两个基准分类器 1-NN DTW 和 Rotation Forest 好。
- 对于那些希望为新问题建立预测模型的人,我们建议从 DTW、RandF 和 RotF 作为基本的健全性检查和基准开始。
- 公认的智慧是,DTW 很难被击败。
动态时间规整 (DTW) 具有二次复杂度。该算法还有其他几个版本,例如通过计算近似值来降低复杂度的FastDTW (线性复杂度)。例如,在这个 Python 模块中实现了 FastDTW 。
据我所知,这主要是关于改进的计算方面,所以它仍然是衡量序列之间相似性的合适方法。
我推荐这是一个很好的参考,特别是第 4.3 节。这是本节的粗体部分:
扭曲路径 W 是一组连续的矩阵索引,定义了两个时间序列之间的映射。即使存在指数数量的可能翘曲路径,最佳路径也是最小化全局翘曲成本的路径。DTW 可以使用时间复杂度为 O(n2) 的动态规划来计算 [Ratanamahatana and Keogh 2004a]。但是,已经引入了几种下限措施来加快计算速度。Keogh 和 Ratanamahatana [2005] 引入了代表最大允许翘曲的上下包络的概念。使用这种技术,复杂度变为 O(n)。也可以对 DTW 扭曲窗口的大小施加时间约束。已经表明,这些不仅可以提高速度,还可以提高准确性水平,因为它避免了由扩展翘曲引入的病理匹配 [Ratanamahatana and Keogh 2004b]。两个最常用的全局约束是 Sakoe-Chiba Band 和 Itakura Parallelogram。Salvador 和 Chan [2007] 介绍了 FastDTW 算法,该算法通过递归地将扭曲路径投影到更高分辨率然后对其进行细化,使得 DTW 的线性时间计算成为可能。该算法的一个缺点是它是近似的,因此 ACM Computing Surveys, Vol。45, No. 1, Article 12, Publication date: November 2012. 12:18 P. Esling 和 C. Agon 不保证找到最佳解决方案。除了动态变形,有时允许对时间序列进行全局缩放以获得有意义的结果可能很有用,这种技术称为统一缩放 (US)。傅等人。[2008] 提出了 Scaled and Warped Matching (SWM) 相似性度量,可以将 DTW 的优点与 US 的优点结合起来。已经引入了其他基于形状的度量,例如空间组装距离 (SpADe) [Chen et al. 2007b];它是一种基于模式的相似性度量。该算法通过允许在时间轴和幅度轴上进行移位和缩放来识别匹配模式,因此具有缩放鲁棒性。DISSIM [Frentzos 等人。2007] 距离已被引入以处理不同采样率下的相似性。它被定义为欧几里得距离积分的近似值。最近最有趣的提议之一是基于时间序列的弹性匹配的概念 [Latecki 等人。2005]。拉特基等人。[2007] 提出了一种最佳子序列匹配 (OSB) 技术,该技术能够自动确定用于距离计算的最佳子序列和扭曲因子;它包括跳过元素时的惩罚。最优性是通过高计算成本实现的;但是,可以通过限制跳过范围来减少它。