动态时间规整_对动态时间规整下时间序列子序列的搜索与挖掘的理解

本文是基于阅读《Searching and Mining Trillions of Time Series Subsequences under Dynamic Time Warping》的理解。由于本人以前对相关方面接触的不是很多,对该行业相应的一些基本理念也不是很清楚,在小白的情况下阅读这篇论文还是比较吃力的,我还没有很清楚地理解这篇论文T~T,所以我就先写写我对DTW的理解啦~至于对作者提出的4个优化方案,我还没有彻底理解明白,所以先空一小块,等我完全明白了我再来更新,不会太久的!!请大家见谅啦~

论文链接:

https://www.cs.ucr.edu/~eamonn/SIGKDD_trillion.pdf​www.cs.ucr.edu

上课的时候在老师的讲解下对DTW有了一些了解:

DTW(Dynamic Time Warping):动态时间规整/动态时间扭曲。emmmm~我百度了一下,貌似对Warping没有个定下来的概念,不过“规整”好像大多数人用的比较多。

DTW就是通过计算两个时间序列的距离,比较这两个时间序列的相似度,由日本学者Itakura提出。主要应用于语音识别,文本对比,天气预测,股票预测等方面

假设有一个长时间序列T,

,

它有个子序列

,是从第i个位置开始的长度为k的短时间序列,称为C。

指定一个序列 Q,

。令
,Q与C之间的欧氏距离ED(Q,C)

cc7d8e027a9c104d4cdb097da7515f45.png

欧式距离只能是两个序列一对一映射,像图中的阴影线一样,比较像是DTW的一个特例,因为DTW允许一对多的映射。欧式距离的缺点在于当数据集出现异常值(即数据不是很规范)的时候,欧几里德距离表现不"稳定"

如果用DTW来对两个序列进行比较的话,可以构造一个n×n矩阵,

矩阵的

元素为点
之间的欧氏距离

翘曲路径是一组连续的矩阵元素,它们定义了qc之间的映射。翘曲路径的第t个元素定义为

,所以

8b768a00151f22bc92a8918933d64a9c.png
从左到右,从下到上计算每个点到邻近的下一个点的最短距离

不过有受到以下几点约束:①P的起始点和结尾点必须是Q,C重合对应的起始和结束点,即最左下角和右上角的两个点;②下一步必须是相邻的单元格,即不能间隔跨度太大;③时间间隔必须相同;④通过限制偏离对角的距离在全局上限制翘曲路径

在作者提出优化之前,已知的算法优化有:

①省略平方根的计算,不会影响最终结果,减少计算量,更易于解释;

②利用计算量小的下界来删除没有可能的候选对象。 一个可用的下界为:

,时间复杂度为O(n);

③计算ED和

过程中提前终止:在计算时,当前距离和大于最小的距离和时,即可停止该过程,没有必要把所有的距离都计算完成才得到最小距离;

④DTW过程中提前终止。虽然DTW在计算完所有长度之前是不能确定最优的,但是如果计算得到

后,在k时刻,
是全局距离的下界,当
大于当前最优值时即可停止计算;

⑤使用多核获得本质上的线性加速,就是从硬件上获得更高的配置,就像打英雄联盟一样(虽然举例有点不太恰当,我不是网瘾少女T~T)


目前我的理解就只能到这啦~~等我过两天再把作者的优化补上来~~见谅啦

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值