基于倒排索引的时间序列相似性查询方法

文档序号:6620679阅读:493来源:国知局
基于倒排索引的时间序列相似性查询方法
【专利摘要】本发明公开了一种基于倒排索引的时间序列相似性查询方法,包含索引构建和查询处理步骤,首先利用符号聚集近似表示将实值型的时间序列转化为离散的字符串,然后提取特征子序列,利用向量近似文件存储编码,将子序列分别转为两种粒度的词插入倒排索引,构建多粒度时序倒排索引。针对该索引设计了高效的两级过滤查询方法,可实现k最近邻近似查询,在保证较高查准率的前提下,实现较低的查询时间开销,并且对时间序列长度、k最近邻查询规模及数据集规模具有良好的可扩展性。本发明在人们的日常活动和工业生产中可发挥重要作用,如股票波动的实时查询、传感器数据流的在线模式识别等。
【专利说明】基于倒排索弓I的时间序列相似性查询方法

【技术领域】
[0001]本发明涉及数据库、数据挖掘及信息检索领域,尤其涉及一种基于倒排索引的时间序列相似性查询方法。

【背景技术】
[0002]时间序列广泛存在于人们的日常生活及工业生产中,如基金或股票的实时交易数据,零售市场的日销量数据,流程工业的传感器监测数据,天文观测数据,航空航天雷达、卫星监测数据,实时天气温度及空气质量指数等。
[0003]时间序列相似性查询,又称为时间序列的样例检索,在工业界有着广泛的应用需求。比如,在股票市场的实时交易中,交易员想要从海量的历史股票数据中,查询出与当前时刻股票走势的形态最相似的k条历史序列作为参考,来获取有价值的知识和启发,完成交易行为。很明显,解决该问题的最简单方法是对数据库的线性扫描,然而这种将查询序列与数据库每条序列一一对比的方法具有很高的时间开销。因此,工业界通常采用空间索引方法,如R树、R*树、网格文件等。但是,大多数空间索引方法的性能,会随着时间序列维度的升高而迅速降级,也就是出现“维度灾难”。所以,传统的查询方法在对时间序列构建空间索引之前,会首先采用特定的数据表示方法提取时间序列的特征,以实现降维。
[0004]目前工业界常用的数据表示方法可分为非数据适应性方法和数据适应性方法。对于前者,变换参数不受单独的时间序列影响,而始终保持不变;该类表示大多基于频谱分解实现,如离散傅里叶变换、离散小波变换、离散余弦变换,它们主要通过对原始时间序列做相应的频域变换,提取主要的频谱系数作为特征;该类方法各有缺陷,如离散傅里叶变换只能提取总体形态特征而忽略了局部特征,离散小波变换只能处理长度为2的指数次的时间序列,离散余弦变换特征的下界紧凑度太弱,会导致很低的查询效率。数据适应性表示是指对变换参数的确定需要依赖数据本身;通过增加数据敏感的选择处理过程,可以把大部分非数据适应性方法变为数据适应性方法。该类方法有分段聚集近似、分段线性近似、符号化聚集近似、奇异值分解、主成分分析等,前三种都需要先对原始时间序列进行分段,然后对每一子段单独处理:分段聚集近似是对各段求平均值;分段线性近似是对各段做线段拟合;符号化聚集近似是在分段聚集近似基础上将每段平均值离散化为符号;根据它们对原始时间序列近似程度的不同,会导致它们的查询性能存在差异。奇异值分解和主成分分析是通过对所有时间序列做统一的特征矩阵分解实现的;这两类方法的典型缺陷是,它们具有很高的计算复杂度,而且分解过程只能在内存完成,数据规模的可扩展性很低。
[0005]工业界迄今采用的索引方法大多是基于树的空间索引方法,B-树最先用于索引一维数据,是许多分层索引结构的基础;R_树系列,如R*-树、R+-树等,采用最小边界矩形组织数据,但是最小边界矩形会覆盖大量无数据的空间,导致查询结果存在大量的“误命中”,从而降低查询效率;A-树使用了向量近似文件来存储最小边界矩形和虚拟边界矩形的上下边界,从而保证较低的索引开销和较高的查询完备性。由于工业生产中的时间序列具有高维或超高维特性,即使在精度损失可接受的范围内做降维处理,仍然可能具有很高的维度,因此,基于树的索引方法很容易出现“维度灾难”问题。


【发明内容】

[0006]本发明要解决的问题是对用户任意指定的一条时间序列,如何快速地从大规模时间序列数据库中找出大部分相似序列。为了解决该问题,本发明提出了基于倒排索引的时间序列相似性查询方法。
[0007]本发明的目的是通过以下技术方案来实现的:一种基于倒排索引的时间序列相似性查询方法,包括以下步骤:
[0008](I)索引构建,具体包括以下子步骤:
[0009](1.1)依次读取时间序列数据库中的每条时间序列;
[0010](1.2)将时间序列进行特征提取,具体为:
[0011](1.2.1)将时间序列进行Z-规范化处理;
[0012](1.2.2)将步骤1.2.1处理得到的时间序列平均分为w段,计算每段的平均值,得到时间序列的分段聚集近似向量;根据所有时间序列数值的概率分布,对实数域做等概率的区间划分得到离散化区间,将分段聚集近似向量的每个实数元素映射到对应的离散化区间,并对所有离散化区间依次编号,得到符号聚集近似单词,记为SW ;
[0013](1.2.3)基于向量近似文件的数据结构,分别采用两种粒度的参数对SW编码,得到粗粒度符号聚集近似单词SW’和细粒度符号聚集近似单词SW";
[0014](1.3)以时间序列的SW’作为Term构建单词词表;
[0015](1.4)以时间序列的SW"及其对应的时间序列ID作为Posting构建索引文件;
[0016](1.5)根据步骤1.3构建的单词词表和步骤1.4构建的索引文件,构造多粒度时序倒排索引;
[0017](2)查询处理,具体包括以下子步骤:
[0018](2.1)将查询时间序列Q进行与步骤1.2相同的特征提取,得到粗粒度符号聚集近似单词SW’ (Q)和细粒度符号聚集近似单词SW〃 (Q);
[0019](2.2)对SW’ (Q)查询步骤1.5得到的多粒度时序倒排索引,获取与SW’ (Q)相对应的所有Posting作为初始候选集C’,实现一次过滤,其中C’的每个候选者都是SW"的存储形式;
[0020](2.3)基于SW〃 (Q)采用向量近似文件边界过滤方法,对C’进行二次过滤,得到最终候选集C";
[0021 ] (2.4)通过磁盘1/0,对C"中的每个候选者读取原始序列,并与查询序列Q的原始值做相似性度量,基于该度量值,对C"中的所有候选者进行排序,保留k个最相似的候选序列作为最终的查询结果。
[0022]进一步地,所述步骤2.3包括以下子步骤:
[0023](2.3.1)顺序扫描C’,并计算SW〃 (Q)与C’中每个元素SW〃 (Ti)的下界距离Ii和上界距离Ui ;将用户指定的查询结果数目记为k ;
[0024](2.3.2)将所有候选者按照下界距离保存于优先队列,并按照递增的顺序依次访问;将第k个下界距离记为d;
[0025](2.3.3)从第k+Ι个候选者开始,当第V个候选者的上界距离uv>d时,终止访问,并剔除后面所有未访问的候选者,返回前v-?个候选者作为最终候选集C"。
[0026]本发明的有益效果是:
[0027]1.在模型构建时,对时间序列采用了符号聚集近似与向量近似文件相结合的特征提取方法和存储结构,保证本发明的索引结构具有较低的空间开销和维护代价。
[0028]2.在查询处理时,两级过滤方法都在内存完成,并且得到的最终候选集很小,极大的降低了后续处理的磁盘I/o开销,实现了高效的k最近邻近似查询;
[0029]3.采用该方法的查询结果具有很高的查询精度,并且对时间序列长度、数据库规模和k最近邻查询规模具有稳定的可扩展性。

【专利附图】

【附图说明】
[0030]图1为基于倒排索引的时间序列相似性查询方法流程图;
[0031]图2为采用符号聚集近似表示时间序列;
[0032]图3为基于向量近似文件编码时间序列的符号聚集近似单词;
[0033]图4为多粒度时序倒排索引构建过程;
[0034]图5为多粒度时序倒排索引的结构;
[0035]图6为查询处理流程图。

【具体实施方式】
[0036]下面结合附图对本发明作进一步详细说明。
[0037]如图1所示,本发明基于倒排索引的时间序列相似性查询方法,包括以下步骤:
[0038](I)索引构建,具体包括以下子步骤:
[0039](1.1)依次读取时间序列数据库的每条时间序列T = It1, t2,…,…,tn};
[0040](1.2)将时间序列T进行特征提取,得到粗粒度符号聚集近似单词SW’和细粒度符号聚集近似单词SW";具体为:
[0041](1.2.1)对于时间序列T,计算其所有采样点的平均值m和标准差σ,根据公式
(I)对τ做Z-规范化处理,得到规范化的时间序列

【权利要求】
1.一种基于倒排索引的时间序列相似性查询方法,其特征在于,包括以下步骤: (1)索引构建,具体包括以下子步骤: (1.1)依次读取时间序列数据库中的每条时间序列; (1.2)将时间序列进行特征提取,具体为: (1.2.1)将时间序列进行Z-规范化处理; (1.2.2)将步骤1.2.1处理得到的时间序列平均分为w段,计算每段的平均值,得到时间序列的分段聚集近似向量;根据所有时间序列数值的概率分布,对实数域做等概率的区间划分得到离散化区间,将分段聚集近似向量的每个实数元素映射到对应的离散化区间,并对所有离散化区间依次编号,得到符号聚集近似单词,记为SW ; (1.2.3)基于向量近似文件的数据结构,分别采用两种粒度的参数对SW编码,得到粗粒度符号聚集近似单词SW’和细粒度符号聚集近似单词SW"; (1.3)以时间序列的SW’作为Term构建单词词表; (1.4)以时间序列的SW"及其对应的时间序列ID作为Posting构建索引文件; (1.5)根据步骤1.3构建的单词词表和步骤1.4构建的索引文件,构造多粒度时序倒排索引; (2)查询处理,具体包括以下子步骤: (2.1)将查询时间序列Q进行与步骤1.2相同的特征提取,得到粗粒度符号聚集近似单词SW’ (Q)和细粒度符号聚集近似单词SW〃 (Q); (2.2)对SW,(Q)查询步骤1.5得到的多粒度时序倒排索引,获取与SW,(Q)相对应的所有Posting作为初始候选集C’,实现一次过滤,其中C’的每个候选者都是SW"的存储形式; (2.3)基于SW" (Q)采用向量近似文件边界过滤方法,对C’进行二次过滤,得到最终候选集C"; (2.4)通过磁盘1/0,对C"中的每个候选者读取原始序列,并与查询序列Q的原始值做相似性度量,基于该度量值,对C"中的所有候选者进行排序,保留k个最相似的候选序列作为最终的查询结果。
2.根据权利要求1所述一种基于倒排索引的时间序列相似性查询方法,其特征在于,所述步骤2.3包括以下子步骤: (2.3.1)顺序扫描C’,并计算SW〃 (Q)与C’中每个元素SW〃 (Ti)的下界距离Ii和上界距离Ui ;将用户指定的查询结果数目记为k ; (2.3.2)将所有候选者按照下界距离保存于优先队列,并按照递增的顺序依次访问;将第k个下界距离记为d; (2.3.3)从第k+Ι个候选者开始,当第V个候选者的上界距离uv>d时,终止访问,并剔除后面所有未访问的候选者,返回前v-?个候选者作为最终候选集C"。
【文档编号】G06F17/30GK104182460SQ201410344607
【公开日】2014年12月3日 申请日期:2014年7月18日 优先权日:2014年7月18日
【发明者】孙建伶, 陈岭, 蔡青林, 马骄阳 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1