赞
踩
写在前面:《计算机与数字工程》;
作者:顾昕辰、万定生
传统DTW算法复杂度高,特别是当处理海量数据时,耗时长,效率低下。
本文是从算法和实现手段两个方面提高水文时间序列相似性比较效率,提出基于Hadoop平台
,以FastDTW方法
实现的水文时间序列相似性查找方法。
【算法是对DTW进行优化,提出FastDTW;然后实现手段方面的优化是Hadoop分布式平台】
实现步骤:
① 利用小波变换,对数据去噪;
② 对水文时间序列进行语义化
③ 在Hadoop的 MapReduce 过程中调用,FastDTW方法实现 DTW 距离的云计算,得到与查询序列最相似的匹配序列。
DTW 采用动态规划来计算两个时间序列之间的相似性,算法的复杂度是 O ( N 2 ) O(N^2) O(N2)
本文采用的是文献5中的FastDTW
(1)首先将两个时间序列 粗粒度化,寻找最短DTW路径;
(2)然后将路径及其周围的点,逐步细粒度化,并再次寻找最短DTW路径;
(3)最终,求出原序列间的DTW距离。
粗粒度化
采用PAA方法,通过对时间序列等宽度分割,然后用均值来表示这一段的值。
投影
在较粗粒度上对时间序列进行DTW算法。求出最短DTW距离对的规整路径。
细粒度化
将 在较粗粒度上得到的规整路径,经过方格进一步细粒度化,同时为了避免由于粒度的 过度粗糙 造成的路径偏差。
水文时间序列语义化
寻找水位时间序列中,特征明显的极大极小值,作为对序列语义化的依据。
按照时间顺序,将极值点之间的水文,上升段记为U,下降段记为D。
极值点的定义
考虑到小波去噪之后,序列波形中仍存在一些小幅度波动。为了提取出特征明显的极值点:
④ 的重要性可以看上图,可以看出时间点1和时间点2是不应该算成极值点的,这两个波动是不需要被关注的,对于整体的趋势是没有太大意义的。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。