文章主要针对时间序列数据挖掘算法的相似度搜索问题提出了新的优化策略,并验证了优化后的DTW(动态时间规整,Dynamic Time Warping)在超大规模数据集上相似度搜索的优势。大多数时间序列数据挖掘算法的核心都是相似度搜索,因此相似度搜索时间几乎是所有时间序列数据挖掘算法的瓶颈,尤其在大规模数据集上。根据不同查询序列或数据,文章提出的四种新优化策略使得相似度搜索速度提升了2~164倍,并且完成了精确搜索。
在深入了解文章提出的四种优化策略之前,我们先了解一些基础概念:
时间序列
时间序列
其中
时间序列
时间序列间的相似性度量
文章主要关注了从相似性度量角度解决时间序列挖掘相关问题,其中着重关注了欧氏距离度量和动态时间规整算法。
欧式距离度量
查询序列
如图所示,欧氏距离是两个等长序列的一一映射
欧氏距离的复杂度是线性的且容易计算。但是度量两个序列相似度时对噪声比较敏感,而且要求两个序列对齐,如上图所示,两个序列存在相位差所以峰值处并未对齐,尽管两个序列相似,但是其欧氏距离很大。这些限制了欧氏距离在时间序列相似性度量上的直接应用。针对欧氏距离的这个不足,动态时间规整(DTW,Dynamic Time Warping)作为一种解决途径被提出。
动态时间规整
动态时间规整(DTW,Dynamic Time Warping)是一种度量两个时间序列相似度的方法。DTW应用很广泛,在大多数领域中都是最佳度量方法。DTW将时间序列进行规整(延伸、缩短)使得两个序列的形态尽可能一致,得到最大可能的相似度。
如上图所示,与欧氏距离需要时间序列
DTW采用了动态规划(DP, Dynamic Programing)的方法来进行时间规整的计算。为了对齐两个序列,我们构造一个
那么如何找到最好的规整路径呢?首先,这个路径需要满足以下限制条件:
- 边界条件:路径必须从一个对角格子开始并且在另一个对角结束,比如从左下角出发,在右上角结束。
- 连续性:当路径中确定了一个格子,那么下一个格子必须是当前格子相邻的格子,不能跨越产生空洞。即在序列上不会出现跳跃点,每一个点都要进行对齐映射。
- 单调性:路径上的点只能随着时间单调的方向进行,这样在映射过程中不会出现交叉的现象。
此外,在实际应用中,通常还会有一个全局性限制条件,即规整路径偏离网格矩阵对角线的距离不能大于门限。如上图中两条绿线限定了规整路径不能超越这个范围,这个范围称为Sakoe-Chiba Band。
满足上述限制条件的路径非常多,我们需要从中选出一条最佳的路径,即以这个路径进行对齐映射时两个序列最相似也就是两个序列的距离最小。
定义累加距离为从(0, 0)点开始匹配这两个序列,每到一个点,之前所有的点计算的距离都会累加。到达终点(n, n)后,这个累积距离就是两个序列的距离。则经过规整路径得到累加距离为:
即累积距离γ(i,j)为当前格点距离d(i,j),也就是点qi和cj的欧式距离(相似性)与可以到达该点的最小的邻近元素的累积距离之和。
通过以上内容了解到了时间序列以及时间序列相似性度量的两种方法,那么接下来论文介绍了对基于欧氏距离和DTW的相似度搜索算法已经存在的优化方法,并在此基础上介绍了论文提出的四种优化策略。
已存在的优化方法
使用平方距离:无论欧氏距离计算还是DTW计算都存在平方根计算。一种优化方法就是不再用平方根计算而直接使用平方作为是否邻近的相对度量。如此在一个对起点就可以减少一次运算。而最终输出距离时再进行平方根计算。
引入下确界:如果在进行序列搜索前能够提前排除那些不能够是最优目标的序列,那么在剩下的候选序列中再进行距离度量时,计算量就会相对小很多,能够起到加速搜索的作用。为了能够提前排除没有可能的序列,寻找一个复杂度相对小的边界就显得至关重要。下图就简单说明了两种下确界的方法
-
下确界:如左图所示,用序列和序列第一个或最后一个对起点的距离作为下确界,其复杂度为。这个下确界是论文对下确界的一种简化。
-
下确界:如右图所示,用序列和 上包络序列、下包络序列中最近点的欧氏距离作为下确界,其复杂度为。
对欧式距离和
计算DTW时提前终止:定义DTW距离的下确界为
当这个下确界超出门限时,则提前终止DTW计算并排除后续序列
应用硬件多核:当前CPU的多核已经很普遍,所以充分硬件的多核来提升速度也是一种常用的优化手段。
论文提出的四种优化策略
四种优化策略主要针对基于欧氏距离或DTW距离的相似性搜索
Z-Score标准化过程中提前终止:论文认为对序列数据进行Z-Score标准化和进行欧氏距离计算同样耗时,甚至耗时更多。所以论文采取了将数据标准化过程和欧氏距离计算或者下确界计算过程交叉进行,这样如果由欧氏距离或者下确界排除了候选序列,那么对候选序列的标准化也随之停止,这样就起到了减少数据量提升速度的效果。这个过程可以概括为如下图所示算法过程
对序列重排序以提前终止:在欧氏距离和
计算
级联多种下确界进行数据过滤:论文不是采用一种下确界方法作为全局的下确界策略,而是将下图中在虚线上的下界方法进行级联作为全局的下界策略。若候选序列
上图中横轴是算法的复杂度,纵轴是下界与最佳距离的紧密程度。当候选序列
[1] https://www.cs.ucr.edu/~eamonn/SIGKDD_trillion.pdf