动态时间规整DTW

1 概述

动态时间规整是一个计算时间序列之间距离的算法,是为了解决语音识别领域中语速不同的情况下如何计算距离相似度的问题。

相对于用经典的欧式距离来计算相似度而言,DTW在数据点个数不对齐的情况下微调时间从而能够计算距离。

DTW之所以能够计算数据点个数不同时间序列之间的距离,是因为DTW方法中时间序列的点可以一对多。

2 计算过程

用动态规划算法计算DTW距离的过程如下所示,计算不同长度时间序列T和R之间的距离(假设T、R长度分别为m、n)。图中每一个小方格中粗体值是两两点之间的距离,可以是曼哈顿距离,也可以是欧式距离等等,而右上角的值是走到当前位置的累加距离,累加距离的计算公式如下:

走动的方向如下图所示:

也就是说当前点的累加距离等于从当前点的下边的点或者左边的点或者左下边的点走到当前点的距离的最小值。根据公式从点(1,1)开始计算,直至计算到(m,n),最后点(m,n)的累加距离就是时间序列T和R的DTW距离了。而从点(m,n)开始回溯到点(1,1)的路径就是DTW计算的路径了。需要说明的是,不同的时间序列T和R,即使它们的DTW距离相同,而DTW路径也可能会不同。

注意,从公式中可以看到,计算当前点的累加距离的时候,如果是从左下边的点走过来的,则当前距离还要乘以2,可以理解为走了两步。这样做的目的是使得计算任意两个长度为m、n的时间序列的DTW距离时,从(1,1)走到(m,n)的步数是一样的,都是m+n-2。这样大家走的步数都一样,DTW距离就可以表示时间序列之间的相似性了,这种距离也叫长度归一化后的距离。

3 规整窗口

上面DTW计算的时候,路径是点(1,1)出发,向右上角前进。整个矩阵都会扫一遍,所有的点的累加距离都会计算出来。这种情况也叫作DTW, no Warping Window

这样做的缺点是,如果最终的路径是从点(1,1)直线走到(1,F)再直线走到(4,F)。这说明T中的点1会对应R的A-F六个点,然后R中的F再对应T的2-4三个点。这样规整的跨度有点大了,就不再是微调时间序列中时间不对齐了,不符合实际呀。

所以又有了DTW with Warping Window,现在规整跨度,效果如下所示。只需稍微改动动态规划的代码的循环范围。


参考资料:https://www.cnblogs.com/Daringoo/p/4095508.html

     https://en.wikipedia.org/wiki/Dynamic_time_warping

动态时间规整DTW的更多相关文章

  1. 动态时间规整DTW(Dynamic Time Warping )

    动态时间规整DTW(Dynamic Time Warping ) 原文:https://blog.csdn.net/raym0ndkwan/article/details/45614813 算法笔记- ...

  2. 使用动态时间规整 (DTW) 解决时间序列相似性度量及河流上下游污染浓度相似性识别分析

    时间序列相似性度量方法 时间序列相似性度量常用方法为欧氏距离ED(Euclidean distance)和动态时间规整DTW(Dynamic Time Warping).总体被分为两类: 锁步度量(l ...

  3. 动态时间规整-DTW算法

    作者:桂. 时间:2017-05-31  16:17:29 链接:http://www.cnblogs.com/xingshansi/p/6924911.html 前言 动态时间规整(Dynamic ...

  4. 动态时间规整(DTW) 转载

    Dynamic Time Warping(DTW)诞生有一定的历史了(日本学者Itakura提出),它出现的目的也比较单纯,是一种衡量两个长度不同的时间序列的相似度的方法.应用也比较广,主要是在模板匹 ...

  5. 语音信号处理之(一)动态时间规整(DTW)

    语音信号处理之(一)动态时间规整(DTW) zouxy09@qq.com 原文:http://blog.csdn.net/zouxy09 这学期有<语音信号处理>这门课,快考试了,所以也要 ...

  6. 语音信号处理之动态时间规整(DTW)(转)

    这学期有<语音信号处理>这门课,快考试了,所以也要了解了解相关的知识点.呵呵,平时没怎么听课,现在只能抱佛脚了.顺便也总结总结,好让自己的知识架构清晰点,也和大家分享下.下面总结的是第一个 ...

  7. 【VS开发】【智能语音处理】语音信号处理之(一)动态时间规整(DTW)

    语音信号处理之(一)动态时间规整(DTW) zouxy09@qq.com http://blog.csdn.net/zouxy09 这学期有<语音信号处理>这门课,快考试了,所以也要了解了 ...

  8. DTW动态时间规整算法

    目录 1.基本介绍 2.算法原理(理论原理) 2.1 主要术语 2.2 算法由来和改进过程 2.3 DTW算法流程 3.算法DTW和算法HMM的比较 1.基本介绍 DTW:Dynamic Time W ...

  9. DTW动态时间规整

    参考: https://blog.csdn.net/raym0ndkwan/article/details/45614813

随机推荐

  1. hdfs 查看报告--命令(hdfs dfsadmin -report)

    [hadoop@master sbin]$ hdfs dfsadmin -reportConfigured Capacity: 8202977280 (7.64 GB)Present Capacity ...

  2. BZOJ_2957_楼房重建_线段树

    BZOJ_2957_楼房重建_线段树 Description 小A的楼房外有一大片施工工地,工地上有N栋待建的楼房.每天,这片工地上的房子拆了又建.建了又拆.他经常无聊地看着窗外发呆,数自己能够看到多 ...

  3. BZOJ_2467_[中山市选2010]生成树_数学

    BZOJ_2467_[中山市选2010]生成树_数学 [Submit][Status][Discuss] Description 有一种图形叫做五角形圈.一个五角形圈的中心有1个由n个顶点和n条边组成 ...

  4. java定时器,留着用

    说明:该定时器作用是 设定定时器首次执行的时间firstTime和执行间隔period,如firstTime=2015-3-25 9:00:00,period=24小时,若程序启动时,已经超过firs ...

  5. Vijos:P1117数的划分

    描述 将整数n分成k份,且每份不能为空,任意两份不能相同(不考虑顺序). 例如:n=7,k=3,下面三种分法被认为是相同的. 1,1,5; 1,5,1; 5,1,1;问有多少种不同的分法. 格式 输入 ...

  6. 虚拟机 Linux

    VBox ubuntu安装增强功能

  7. openStack高可用性和灾备方案

    1. 基础知识 1.1 高可用 (High Availability,简称 HA) 高可用性是指提供在本地系统单个组件故障情况下,能继续访问应用的能力,无论这个故障是业务流程.物理设施.IT软/硬件的 ...

  8. SSAS IIS 发布

    http://www.cnblogs.com/zhangzt/p/4046259.html IIS7下配置SSAS通过HTTP远程连接 淘宝 问答 学院 博客 资源下载 高端培训            ...

  9. Open Live Writer 代码插入插件测试

    #-*-coding:utf-8-*- import urllib import json import sys import ssl ssl._create_default_https_contex ...

  10. WCF IIS部署

    创建WCFHost应用程序 Iservice.cs using System; using System.Collections.Generic; using System.Linq; using S ...