DTW算法背景 介绍 和总结

参考 文章 和论文
http://www.jos.org.cn/html/2014/3/4410.htm#outline_anchor_8
KAIS_2004_warping.pdf

背景介绍:

Suppose we have two time series, Q and C, of length n and m, respectively, where
Q = q1, q2,. . ., qi,. . ., qn (1)
C = c1, c2,. . ., c j,. . ., cm. (2)
To align two sequences using DTW, we construct an n-by-m matrix where the
(ith, jth) element of the matrix contains the distance d(qi, cj) between the two points
qi and cj (i.e. d(qi, c j) = (qi − c j)2). Each matrix element (i, j) corresponds to
the alignment between the points qi and c j. This is illustrated in Fig. 3. A warping
path W is a contiguous (in the sense stated below) set of matrix elements that defines
a mapping between Q and C. The kth element of W is defined as wk = (i, j)k. So
Exact indexing of dynamic time warping
we have
W = w1,w2,. . .,wk,. . .,wK max(m, n) ≤ K < m + n − 1. (3)
The warping path is typically subject to several constraints.

采用 Q,C 代表2个时间序列的数据, 长度对应为 n 和 m, 构建 一个 n * m 的 矩阵 来表示, qi 和 cj 所代表的数据点 对应的 距离 d(qi,cj), 示意图 如下所示, 一个 代表 Q,C数据关联性的 扭曲路径 是一个 有着连续相连 矩阵 元素的 路径, 示意图 如 Fig3 的图 B 所示。
确切得可索引 动态时间 扭曲 路径 的定义 为如下 公式 (3) 所示。
W = w1,w2,. . .,wk,. . .,wK max(m, n) ≤ K < m + n − 1. (3)
Q,C 序列 矩阵 相似性 示意图This path can be found using dynamic programming to evaluate the following Recurrence, which defines the cumulative distance γ(i, j) as the distance d(i, j) found
in the current cell and the minimum of the cumulative distances of the adjacent
elements:
γ(i, j) = d(qi, c j) + min {γ(i − 1, j − 1),γ(i − 1, j),γ(i, j − 1)}. (5)

这个相关时间扭曲 的路径 可以采用 动态 规划 方法 结合 前几个 的 可能性的路径 来计算, 定义
γ(i, j) 为 当前矩阵 小格 和 之前累计的临近小格(对应当前小格的左边,右边或者对角) 的 最小值 ,两者相加的和。
γ(i, j) = d(qi, c j) + min {γ(i − 1, j − 1),γ(i − 1, j),γ(i, j − 1)}. (5)

Lower bounding the DTW distance
DTW 的 下边界 距离 的 处理, 目前 有大概如下几种 对距离的 定义 和处理。

LB_Yi 示意图 如下。
计算两条一元时间序列的DTW下界距离时,选择一条序列作为基准序列,以另一条序列中大于基准序列最大值的点集以及小于基准序列最小值的点集作为特征,以此为基础构造DTW下界距离,记为LB_Yi
LB_Yi 原理图LB_Kim 方案 的示意图 如下。
提取一元时间序列的起始点、结束点、最大值点和最小值点这4个特征,以此为基础构造DTW下界距离,记为LB_Kim
LB_Kim 原理图论文 建议的 一种度量lower bouding (下边界距离)的方法。

DTW 数据对比 扭曲 窗口 大小的 概念定义。两种定义方法, Chiba 和 Itakura 两种
目的是为了 定义 在 数据 对比上 一个 滑动窗口 的概念,防止 没必要的时间窗口上不相关数据的过度比较。这种称之 为 整体 限制 (global constraints).
The subset of the matrix
that the warping path is allowed to visit is called the warping window. Figure 6
illustrates two of the most frequently used global constraints, the Sakoe-Chiba band
(Sakoe and Chiba 1978) and the Itakura parallelogram (Itakura 1975).

在这里插入图片描述针对 整体 限制 还有一个 称之为 局部 限制的方法, 示意图如下。
主要是 针对 DTW 对应点距离的 MIN 部分的 计算参考点往后或者 往左移动更多距离。也就是针对本文里面的公式 (5) 做的一些修正,这个修正主要还是依赖 采用该方法 的行业和数据来决定。
在这里插入图片描述下面是 论文建议的 lower bounding 的度量方法。

定义 一个 范围 r 来确定 bouding 的范围,

设一元查询序列Q=áq1,q2,…,qnñ,弯曲路径在全局约束条件下的弯曲限制为r,定义两条新序列U=áu1,u2,…, unñ,L=ál1,l2,…,lnñ:

ui=max(qi-r,qi+r) (6)

li=min(qi-r,qi+r) (7)
Q被包围在上、下边界序列形成的区域中,该区域称为封袋.
在这里插入图片描述因此 LB_Keogh 的 大致定义 如下

很明显, qi 的 界定 范围 在 Ui Li 直接
∀i Ui ≥ qi ≥ Li. (8)
在这里插入图片描述

在日常的生活中我们最经常使用的距离毫无疑问应该是欧式距离,但是对于一些特殊情况,欧氏距离存在着其很明显的缺陷,比如说时间序列,举个比较简单的例子,序列A:1,1,1,10,2,3,序列B:1,1,1,2,10,3,如果用欧氏距离,也就是distance[i][j]=(b[j]-a[i])*(b[j]-a[i])来计算的话,总的距离应该是128,应该说这个距离是非常大的,而实际上这个序列的图像是十分相似的,这种情况下就有人开始考虑寻找新的时间序列距离的计算方法,然后提出了DTW算法,这种方法在语音识别,机器学习方便有着很重要的作用。 这个算法是基于动态规划(DP)的思想,解决了发音长短不一的模板匹配问题,简单来说,就是通过构建一个邻接矩阵,寻找最短路径。 还以上面的2个序列作为例子,A中的10B中的2对应以及A中的2B中的10对应的时候,distance[3]以及distance[4]肯定是非常大的,这就直接导致了最后距离的膨胀,这种时候,我们需要来调整下时间序列,如果我们让A中的10B中的10 对应 ,A中的1B中的2对应,那么最后的距离就将大大缩短,这种方式可以看做是一种时间扭曲,看到这里的时候,我相信应该会有人提出来,为什么不能使用A中的2与B中的2对应的问题,那样的话距离肯定是0了啊,距离应该是最小的吧,但这种情况是不允许的,因为A中的10是发生在2的前面,而B中的2则发生在10的前面,如果对应方式交叉的话会导致时间上的混乱,不符合因果关系。 接下来,以output[6][6](所有的记录下标从1开始,开始的时候全部置0)记录A,B之间的DTW距离,简单的介绍一下具体的算法,这个算法其实就是一个简单的DP,状态转移公式是output[i] [j]=Min(Min(output[i-1][j],output[i][j-1]),output[i-1][j-1])+distance[i] [j];最后得到的output[5][5]就是我们所需要的DTW距离.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值