DTW Barycenter Averaging(DBA)——平均序列求法

DBA

该算法是用来求序列数据集 S 的一致序列(平均序列)。由Franc-ois Petitjean提出的。目前,该方法求得的平均序列是最准确的。
假设一元组为S=s1,s2,,sn,当 S 中的元素为实数时,很容易求的S的平均值:

avg=s1+s2++snn(1)

如果 S 的元素为序列的时,如s1=s1,1,s1,2,,s1,m如果直接套用上面公式通常会出现原序列没有的模式:
这里写图片描述
上图是对前三个序列求平均序列,采用传统的方法(上面的公式(1))求得的第四个序列出现原序列不存在的峰点,显然我们希望得到的平均序列是最下面的序列。为什么式(1)求得的平均序列会出现不存在的模式?主要是因为(1)是分别对序列对应位置上的点值求平均(点对点匹配),但是,在时间序列相似性度量我们知道点对点匹配求得的相似性容易受到序列的移位、错位等影响。同时我们了解动态时间规划(DTW)的思想很容易处理这种情况。举个例子:
这里写图片描述
上图是欧式距离的思想,点对点匹配。下图是DTW思想,序列的一个点对应另一个序列的一个或多个点。
这里写图片描述
可以换一个角度理解DTW算法,就是求序列 B 和序列A之间DTW距离可以理解为求序列 B 和一个新的序列Anew(元素也可以为子序列)之间的欧式距离,在举个例子,上图DTW的例子可以变为:
这里写图片描述
序列 Anew 可以包含子序列,序列 B 和序列Anew内的元素是对应匹配的,序列 Anew 可以看成是序列 A 的扩展(具体求法可以参考DTW算法是如何寻找弯曲路径的)。
好了,接下来开始谈谈DBA的思想,DBA是通过求下式来获得平均序列T¯:
argmini=1NDTW2(X,Ti)(2)

不幸的是,式(2)不能通过传统求极值的方法求解。并且该优化问题被认为式一个NP-Hard问题,可以采用启发式迭代算法逼近真实值。DBA就是求解式(2)的一种方法,是一种迭代算法。同样用一个例子来阐述DBA的求解步骤(展示一次迭代步骤),假设求序列 A=1,10,0,0,4 、序列 B=0,2,10,0,0 和序列 C=0,0,0,10,0 的平均序列 T¯
第一次迭代(假设序列B为初始平均序列):

将DTW算法转化维欧式距离方法,求得新的序列 Anew
这里写图片描述
求得新的序列 Bnew
这里写图片描述
求得新的序列 Cnew
M=[1,0,0],[1,[0,0],2],[10,10,10],[[0,0],0,0][[0,4],0,0] ,表示新序列集。接下来可以求得的新时间序列求平均:
这里写图片描述
求得 T¯=13,34,10,0,43 ,第二次迭代令 T¯ 为平均序列重复上面的步骤,指导满足条件。
这里可能有人会问,这样求得的平均序列能不能保证式(2)是收敛的?可以根据定义证明:令 T=T1,T2,,Tn 是一个序列集, Tk¯ 是第 k 次迭代的平均序列。有:
i=1NDTW2(T1¯,Ti)i=1NDTW2(T2¯,Ti)i=1NDTW2(Tn¯,Ti)

因为 minNi=1DTW2(X,Ti)=DTW2(T¯,Ti) 。所以可以保证算法的收敛性。接下来的问题是如何求得 T¯ ?首先先将DTW转化成欧式表达式:
i=1NDTW2(X,Ti)=eM(l)l=1L(X(l)e)

其中, M(l) 是新序列集合 M 的第l个点、 L 是序列的长度。对上式求偏导就可以得到:
X(l)=1|M(l)|eM(l)(e)

所以, T¯==1|M(l)|eM(l)(e)
总结:求平均序列对于一些算法是非常重要的,如K-mean算法在每次迭代时都需要求某一序列集的平均讯列,采用DBA算法可以获得更为准确的平均序列,提高K-mean性能。更深入了解关DBA算法还是需要阅读期刊文献,下面这几篇文献可能有所帮助。真篇博文是我自己对DBA算法的理解,希望能提供一点帮助。
[1]: Petitjean F, Forestier G, Webb G I, et al. Dynamic Time Warping Averaging of Time Series Allows Faster and More Accurate Classification[C]// IEEE International Conference on Data Mining. IEEE, 2015:470-479.
[2]: Petitjean, Fran, ois, et al. A global averaging method for dynamic time warping, with applications to clustering[J]. Pattern Recognition, 2011, 44(3):678-693.
[3]: Petitjean F, Gançarski P. Summarizing a set of time series by averaging: From Steiner sequence to compact multiple alignment[J]. Theoretical Computer Science, 2012, 414(1):76-91.
代码下载(matlab和java):
[4]: > https://zenodo.org/record/10432#.WZZ3TDX_5K8

  • 14
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值