文章目录
写在前面:《控制与决策》;月刊;主办单位:东北大学;核心期刊;
1 摘要(分析本文步骤)
【通过对DTW的分析,为相似性度量、聚类和分类等时间序列数据挖掘技术提供必要的文献资料和理论基础。】
- 简述动态时间弯曲算法的基本步骤,分析优点、缺点
- 从动态时间弯曲度量效率的改进研究、度量效果的提升措施以及其在各个行业的应用研究进行相关综述
- 最后,给出动态时间弯曲度量效率的进一步研究方向
2 引言
- 时间序列的相似性度量是衡量两条时间序列相似程度的度量方法,是时间序列聚类分析中一个不可缺少的步骤。
- 度量距离的大小决定了时间序列的相似程度,相似性度量方式的特点决定了相似性度量的效果。
- 动态时间弯曲(DTW)是时间序列相似性度量中常用的方法,是Berndt在1994年提出,并将其应用到时间序列数据挖掘领域中。
- 动态时间弯曲,不仅可以消除“欧式距离”中点对点匹配缺陷,通过“弯曲时间序列” 使得时间序列数据点“一对多”的匹配,也就是不等长的序列的度量,而且对于时间序列的偏移、振幅变化等情况具有较强的鲁棒性。
2.1 DTW的进一步研究方向
- 如何提高DTW的度量效率
- 如何提高DTW的度量质量
- 如何提高DTW在各行业的应用性能
3 DTW的基本原理
-
动态时间弯曲,是一种准确率高、鲁棒性强的时间序列相似性度量方法,在语音识别领域得到了首次应用。
-
DTW,能够将两条时间序列的波峰和波谷 匹配起来,因此可以实现“一对多”的数据响应,也就是能够度量不等长的时间序列
3.1 DTW介绍+要求
-
按照距离最近的原则,构建两个序列元素之间的对应的关系,评估两个序列的相似性;
-
单向对应,头尾
-
一一对应,不能有空
-
单调性
3.2 实现方式
-
建立一个矩阵,矩阵表示 任意两点之间的距离
-
满足三个条件
3.3 举个例子
- 两个时间序列分别是:
y1 = [1, 3, 4, 9, 8, 2, 1, 5, 7, 3]
y2 = [1, 6, 2, 3, 0, 9, 4, 1, 6, 3]
然后定义一个距离函数,就是比较两个点之间的距离,可以算绝对值、欧式 距离、平方差、等等,这里有很多表达方式,举例子就选择一个最简单的: ∣ x − y ∣ |x-y| ∣x−y∣
距离公式是根据具体的应用来确定的,是整个算法中最为关键的一步!
- 构建“累积距离矩阵”, 首先按照距离公式,计算最左列
对于最左列,①计算当前(i,j)位置的距离,②然后+[i-1, 0](下方一个点的值)
- 对于最下面一行,类似于第二步,,①计算当前(i,j)位置的距离,②然后+[0, j-1](左方一个点的值)
-
对于剩下的点,就需要考虑三个位置的值,分别是
[i-1, j] 下
[i, j-1] 左
[i-1, j-1] 左下
取这三个位置中,最小的一个值,再加上当前的距离。
用公式表达如下:
-
构建后,得到一个完整的 “累积矩阵D”,然后从右上(终点)到左下(起点),找一条和最小的路径。
-
如上图,灰色的部分就是标注出的最短的路径,也可以看出映射关系。
两条时间序列画图如下:
这样最低点和最高点就对应了起来!
4 DTW的缺点
-
动态时间弯曲会存在异常匹配的问题,也就是说一条时间序列上的一个点匹配另一条时间序列上一大块区域的点,使得相似性度量不准确。
-
欧式距离,对时间序列数据的异常点和噪声 都很敏感。 度量质量容易受其影响。
(这个是优点)动态时间序列对时间序列振幅变化、偏移、噪声等时间序列普遍存在的问题有很强的健壮性。 -
欧式距离的时间消耗是O(n),而动态时间完全的时间消耗是O(mn),制约其在海量时间序列 数据挖掘的应用。【即两条序列长度的乘积】
-
欧式距离满足三角不等式,动态时间弯曲不满足三角不等式。
(优点)动态时间弯曲可以实现时间序列的异步相关性比较、在多元时间序列中发现变量相关性,而欧式距离只能够实现同步度量。