根据时间序列本身的不同特点,时间序列相似度的衡量(时间序列间距离的度量)存在多种方法。本文从欧氏距离出发,进一步延伸至Dynamic Time Warping(DTW)、一些DTW存在的缺点和相关的解决办法以及DTW的两个变种Derivative Dynamic Time Warping(DDTW)和Weighted Dynamic Time Warping(WDTW)。 1、前言/背景
在众多广泛的科研领域中,时间序列是一种无处不在的数据格式。对于时间序列相关的研究而言,其中一种最常见的需求就是比较两个时间序列是否相似。有效地比较时间序列间的相似度在很多科学/工程任务中非常必要且关键,如:分类/聚类/语音识别/步态识别等。
以某个生产制造环节中针对产成品某项(些)特征所收集到的时间序列数据为例。首先,所收集到的代表良品和次品的时序数据中在某些特定特征上有区别,且这些区别具有与领域知识相关的特定物理含义;其次,由于生产制造过程中的本身特性,所收集到的时序数据长度是不相等的;再而言,次品的产生存在多种原因,换句话说,产成品不只可以进行二分类成良品和次品两个种类,而是可以进一步区分为良品、次品种类1、次品种类2、次品种类3等多种类;最后,跟很多实际生产制造中的数据一样,良品数据量远大于次品数据量,次品继续细分的各种类次品数据更是少之甚少,整体存在严重的数据不平衡问题。
为了在正常生产制造过程中实现良品和不同种次品的多分类任务,比较所收集到的时间序列间的相似度是重要的一步。从直觉上不难理解,比较时间序列的相似度等同于计算时间序列间的“距离”,两个时间序列之间的“距离”越大,二者的相似度则越小,反之同理。
故本文基于此从欧氏距离出发,进一步延伸至Dynamic Time Warping(DTW)、一些DTW的缺点和相关的解决办法以及DTW的两个变种Derivative Dynamic Time Warping(DDTW)和Weighted Dynamic Time Warping(WDTW)。鉴于关于DTW的细节已经有很多优质博文介绍,故本文只阐述基本概念、更多关注不同方法间的区别、过渡的逻辑以及不同方法所适用的问题。 2、欧氏距离
在应用欧氏距离时,第一个时间序列中的第 i 个点分别与第二个时间序列中的第 i 个点形成一一对应。然而,欧氏距离在某些情况下会出现问题,如下图2所示:
图2. 两个不等长时间序列间的欧氏距离是否可行?
当两个时间序列的长度不相等时,较长的一个时间序列总会剩下无法被匹配到的点,这种情况如何计算欧氏距离?毫无疑问,此时欧氏距离不再可行。此外,如图1中红圈所示,两个时间序列在时间轴上有一定的平移但总体的趋势是相似的,自然地,当我们想人为对齐图1中两个时间序列时,红圈中的两个向下凸起的点应该相互对应起来。很显然,欧氏距离的这种方式按顺序点对点的方法无法满足我们的需求。
综上,在时间序列间的距离度量上,欧氏距离有以下限制:(1)只适用于处理等长的时间序列;(2)在将时间序列对齐时无法考虑 X 轴上的变化,导致有时对齐出现不自然。
特别地,作为一种常见的标准距离度量,欧氏距离是另一种更为广泛的距离度量——闵式距离(Minkowski distance)当p取值为2时的特例。闵式距离中p=1时和p=infinity时,分别对应曼哈顿距离和两个时间序列点与点之间距离差值的最大值。 3、DTW (Dynamic Time Warping)
不难发现,唯一的区别在于在min函数中的后两项前加了 X , X 为一个正实数。当对 X 的值进行调整时,可以使得warping path的方向(slope)会有一定的调整。 X 取较大值时,warping path的选择会更多的朝向对角线方向。 3-Step patterns: 改变传统DTW中的递归式为下式可以实现改变warping path step。
将传统DTW中的递归式和上式分别可视化如下图5中A、B所示:
图5. 两种不同step pattern的递归式的可视化
A所对应的即为传统DTW的递归式,下一步只能在距离矩阵中相邻的三个方格中选取,而B中所对应的就是改变了step后的递归式。相较于A中,B中对于每一个第一步没有沿着对角线方向走的方格都再朝其所在方格的对角线方向移动一步,这样即可实现改变step pattern。
总的来说,以上三类解决方案在一定程度上对解决singularities有一定帮助,然而,它们仍然存在以下缺点:
(1)有可能错过正确的warping path。以上三类方法都是在没有任何前提条件的情况下人为地对warping path进行限制和调整来减少翘曲,这很有可能会错过真正正确的warping path。
(2)参数的选择没有明确的指导。在Windowing方法中 R 值的选取、Slope weighting方法中 X 都是人为视具体场景主观调整、没有明确标准的。 5、Derivative Dynamic Time Warping (DDTW)
Keogh, E., & Ratanamahatana, C. A. (2005). Exact indexing of dynamic time warping.Knowledge and information systems,7(3), 358-386.
Keogh, E. J., & Pazzani, M. J. (2001, April). Derivative dynamic time warping. InProceedings of the 2001 SIAM international conference on data mining(pp. 1-11). Society for Industrial and Applied Mathematics.
Jeong, Y. S., Jeong, M. K., & Omitaomu, O. A. (2011). Weighted dynamic time warping for time series classification.Pattern recognition,44(9), 2231-2240.
维基百科.