业界动态
DTW算法挖掘亿万级时序数据,其优化能耐几何?
2024-11-07 12:44

等长数据,比如:比较近10天两只开盘股票走势k线图
不等长数据,比如:相同时间内不同抽样频率(Hz)的心电图、两段“麻烦请开门”的语音音频

DTW算法挖掘亿万级时序数据,其优化能耐几何?

因此,日本学者Itakura最早提出 Dynamic Time Warping(下文简称DTW,中文常翻译为“动态时间规整”)算法,它出现的目的也比较单纯,是一种衡量两个长度不同的时间序列的相似度的方法——在对齐两个序列的过程中通过定义的距离计算公式计算序列的相似度。其应用广泛,主要在于模版匹配,如孤立词语音识别、手势识别、DNA序列配对等。

这里,距离计算公式包括(但不限于)上文提到的欧式距离。

  • local constraint(在矩阵中表示为定义的“步”的方向都得朝向右上角,每一步都得离终点更近,否则会导致crossing line)
  • global constraint(不可跨越一定限度的数据点进行对齐,否则会导致对齐密度不均衡)
  • start&ending contraint(头尾数据点各自对齐)
  • weight(路径权重的设置,平衡业务偏好和local内的距离偏好)
  • distance(距离度量方式)
  • 允许在对齐过程中,有些点被跳过,没有被对齐——取决于定义的“步”。
    由于矩阵中路径上的每个点都能分解为一个“多点到达”的子问题结构,因此dtw就是通过动态规划法(dp,dynamic programming)进行求解的一个例子。

    在后面给出的DTW算法的python简单实现中,通过在循环中约束i和j的关系实现global constraint——通过简单画图可以了解。

    那简单介绍完DTW的原理之后便引入了这篇论文《KDD2012 Best Paper-"Searching and Mining Trillions of Time Series Subsequences under Dynamic Time Warping”》[1]。

    上文提到,DTW在多个领域都有所应用。随着互联网的到来和数据量的爆发(很多生产环境数据量早已突破万亿级别,而学术界仍停留在百万、十亿级数据集的研究上),原始DTW的实现弊病暴露,场景的应用对算法的性能提出了更高的要求,而该论文的核心正是通过对其他论文的review,现有优化方式的review以及对提出的计算优化方案的review来告诉我们,优化后的DTW(论文称为UCR suite)仍然是最强最快的时序相似度计算方式。

    论文首先指出以下假设或事实:

  • 标准化(Z-normalization)非常重要,不仅需要在整个数据集上做,在计算两序列相似度之前,还需要在两个序列上单独做。
  • 在巨量数据集数据库中检索变长序列,理论上可行,但实际上不可行。
  • 计算过程中欧式距离使用平方代替平方根,直到获得最小距离(的平方)时再开方获得最终结果。
  • 使用lower bound技术,伪代码思想如下:
  • 
    	

    lower bound具体计算方法有多种,如稳重提到的LB_kim,LB_keogh。

  • 在计算欧式距离或lower bound时采用早停技术。
  • 因为计算DTW真实距离(最优路径)时采用 DTW(Q1:K,C1:K) + LB_Keogh(QK+1:n,CK+1:n)作为实时的距离(为真实距离的lower bound,K为任一中间数据点序号),在此采用早停技术。
  • 使用多核机器并行计算(众所周知)。
  • 标准化比计算欧几里得距离的耗时还要长一些,因此考虑在标准化过程中结合计算欧式距离或lower bound,引入早停技术。
  • 对时序进行重排序
  • We conjecture that the universal optimal ordering is to sort the indices based on the absolute values of the Z-normalized Q.
    For this we simply take each Ci and sort them, largest first, by their sum of their contributions to the Euclidean distance.
    We compared this empirically optimal ordering with our predicted ordering (sorting the indices on the absolute values of Q) and found the rank correlation is 0.999.

  • 对备查序列建立包络,而不是查询序列。
  • 将多种lower bound计算方式串联。
  • 最新新闻
    APP如何提升日活?
    这次我们来说怎么提升日活。根据分解,日活提升=增加新用户+新用户留存提升+老用户促活+流失用户召回。上篇文字我们说了增加新用
    一起少女失踪案背后的非法拘禁团伙。
    点击上方“Python爬虫与数据挖掘”,进行关注回复“书籍”即可获赠Python从入门到进阶共10本电子书今日鸡汤青山遮不住
    华为手机抖音创作者服务指南:全方位解答创作疑问与技巧提升
    华为手机抖音创作者服务指南:全方位解答创作疑问与技巧提升抖音作为当前更受欢迎的短视频平台吸引了众多创作者纷纷入驻。在创作
    SEO天天说,到底什么是关键词(字)?
    内容编辑应该重点注意内容优化、链接优化、关键字优化,今天主要来说说运营不可不掌握的基础技能SEO。一起来了解下什么是关键词
    2019国考行测备考指导:排列组合中的四种常用方法进入阅读模式
    2019国考行测备考指导:排列组合中的四种常用方法。更多2019国家公务员考试备考资料,欢迎访问中公国家公务员考试网。2019国考笔
    大数据Hive Join连接查询
    Hive join优化指的是通过调整Hive查询语句或者调整Hive配置参数来提高Hive join的性能。下面列举一些常见的Hive join优化方法:1
    小黄 片怎样看才能发挥奇妙作用?研究发现——
    Hello大家早上好,我是阿月。开始今天的科普之前,想问大家一个比较隐私的问题:你会看色情片吗?(方便的话可以投投票~)虽然部
    90后的老叔叔老阿姨连美人鱼尾都没有,你还谈什么养生 小话题
    大家好,我是90后老叔叔,我是朋克养生家族的一员,我为朋克养生带盐。立冬到了,意味着进入了寒冷的冬天,而养生保暖又一次的进
    商丘师范学院智慧校园建设风采
      商丘师范学院智慧校园建设发展遵照“统筹规划、分步实施”“整体推进、突出重点”“需求驱动、务求实效”“立足高端、跨越发
    丁真的笑容背后,是他们1000多个日夜的无声守护
    近日藏族理塘小伙丁真因为一则短视频火了起来11月12日“藏族的康巴汉子有多帅”登上热搜收获4亿阅读量自那天以后丁真就成了微博
    本企业新闻