时序数据的模体识别方法和装置的制造方法

文档序号:8395873
时序数据的模体识别方法和装置的制造方法
【技术领域】
[0001] 本发明涉及时序数据分析领域,特别涉及一种时序数据的模体识别方法和装置。
【背景技术】
[0002] 随着统计学的发展,越来越多的数据呈时序数据的形式。其中,时序数据是指按照 时间顺序记录的数据。例如,股票市场的每日波动数据、每年的降雨量数据、每年的交通状 况数据等。在这些时序数据中,存在着一些重复出现的相似子序列,这些重复出现的相似子 序列被称为模体。由于时序数据中的模体对科学研究有十分重要的意义,因此,如何在大规 模的时序数据中识别出模体,是研究时序数据问题的关键。
[0003] 在现有的时序数据的模体识别方法中,常见的识别方法有两种:精确识别方法和 概率识别方法。对于精确识别方法 SIAMInternationalConferenceonDataMining_SDM,pp. 473-484, 2009提出扫描时序数 据中所有的子序列,并计算扫描到的每两个子序列之间的欧氏距离,进而将欧氏距离满足 条件的每两个子序列作为从该时序数据中识别出的模体。
[0004]对于概率识别方法,文章Probabilisticdiscoveryoftimeseries motifs,ChiuB,KeoghE,LonardiS,ProceedingsoftheACMIGKDDinternational conferenceonKnowledgediscoveryanddatamining.ACM, 2003:493-498提出将时间序 列划分为一系列的数据子序列后,采用SAX(SymbolicAggregateapproximation,符号集 近似)方法将划分后的数据子序列转化为符号子序列,再对每个符号子序列进行随机投影, 记录每个符号子序列与其他符号子序列在投影位置上具有相同符号的次数,将记录的次数 中达到一定阈值的次数所对应的数据子序列作为识别出的模体。
[0005] 在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
[0006] 由于上述精确识别方法需要计算扫描到的每两个数据子序列之间的欧氏距离,当 扫描到的数据子序列的数量很大时,计算扫描到的每两个数据子序列之间的欧氏距离的计 算量很大,致使识别模体的速度较慢。
[0007] 而上述概率识别方法通过符号化及随机投影将时序数据进行了离散化和降维处 理,导致一些可能成为模体的时序数据信息的丢失,并使得存在较大位移差且原本在需要 分析的时序数据中重复出现的概率不高的数据子序列可能被识别为模体,因此,概率识别 方法所识别出的模体的准确性不高;另外,当一个符号子序列与其他符号子序列在投影位 置上具有相同符号的次数达到一定阈值时,对应的数据子序列才被识别为模体,导致与其 他符号子序列在投影位置上具有相同符号的次数未达到阈值的有些模体无法被识别出来, 因而通过概率识别方法识别出的模体数量有限,进一步降低了模体识别的准确性。

【发明内容】

[0008] 为了解决现有技术的问题,本发明实施例提供了一种时序数据的模体识别方法和 装置。所述技术方案如下:
[0009] 第一方面,提供了一种时序数据的模体识别方法,所述方法包括:
[0010] 获取需要分析的时序数据,将所述需要分析的时序数据分割成至少两个数据子序 列,并对每个数据子序列进行符号化处理,得到至少两个符号子序列;
[0011] 对所述符号子序列进行预设次数的随机投影,并记录投影的每个符号子序列与投 影的其他符号子序列在投影位置上具有相同符号的次数;
[0012] 计算记录的次数中超过阈值的次数所对应的两个数据子序列之间的距离,将距离 小于第一预设距离的两个数据子序列作为识别出的标准模体;
[0013] 对每个预设范围内的标准模体进行聚类,得到每个预设范围内的一个中心数据子 序列,并根据每个预设范围内的标准模体与中心数据子序列计算每个预设范围的方差;
[0014] 缩小所述阈值,并计算记录的次数中超过缩小后的阈值的次数所对应的两个数据 子序列与其所在预设范围内的中心数据子序列之间的距离,将距离小于所在预设范围的方 差的数据子序列作为识别出的模体。
[0015] 结合第一方面,在第一方面的第一种可能的实现方式中,所述得到至少两个符号 子序列之后,还包括:
[0016] 将所述符号子序列中至少两个连续的符号相同的符号子序列进行压缩,得到压缩 符号子序列;
[0017] 所述对所述符号子序列进行预设次数的随机投影,包括:
[0018] 对所述符号子序列中未压缩的符号子序列进行预设次数的随机投影。
[0019] 结合第一方面,在第一方面的第二种可能的实现方式中,所述根据每个预设范围 内的标准模体与中心数据子序列计算每个预设范围的方差,包括:
[0020] 计算每个预设范围内的标准模体与中心数据子序列之间的距离平方的平均值,并 将计算得到的距离平方的平均值作为每个预设范围的方差。
[0021] 优选地,所述缩小所述阈值,并计算记录的次数中超过缩小后的阈值的次数所对 应的两个数据子序列与其所在预设范围内的中心数据子序列之间的距离,包括:
[0022] 由大到小依次缩小所述阈值,直至识别出的模体数量大于预设数量为止;
[0023] 计算记录的次数中超过每次缩小后的阈值的次数所对应的两个数据子序列与其 所在预设范围内的中心数据子序列之间的距离。
[0024] 结合第一方面,在第一方面的第三种可能的实现方式中,所述得到压缩符号子序 列之后,还包括:
[0025] 计算相邻两个压缩符号子序列对应的数据子序列之间的距离,将距离小于所述第 一预设距离的相邻两个压缩符号子序列对应的数据子序列作为识别出的模体。
[0026] 结合第一方面的第一种可能的实现方式,在第一方面的第四种可能的实现方式 中,所述将距离小于第一预设距离的两个数据子序列作为识别出的标准模体之后,还包 括:
[0027] 将相邻且距离小于第二预设距离的至少两个标准模体构成组合模体;
[0028] 所述对每个预设范围内的标准模体进行聚类,包括:
[0029] 对每个预设范围内的组合模体及未构成组合模体的标准模体进行聚类;
[0030] 所述根据每个预设范围内的标准模体与中心数据子序列计算每个预设范围的方 差,包括:
[0031] 计算每个预设范围内的组合模体及未构成组合模体的标准模体分别与中心数据 子序列之间的距离平方的平均值,并将计算得到的距离平方的平均值作为每个预设范围的 方差。
[0032] 结合第一方面或第一方面的第一种可能的实现方式至第五种可能的实现方式,在 第一方面的第六种可能的实现方式中,,所述将距离小于所在预设范围的方差的数据子序 列作为识别出的模体之后,还包括:
[0033] 将相邻且距离小于第二预设距离的至少两个识别出的模体构成大模体。
[0034] 第二方面,提供了一种时序数据的模体识别装置,所述装置包括:
[0035] 获取模块,用于获取需要分析的时序数据;
[0036] 分割模块,用于将所述需要分析的时序数据分割成至少两个数据子序列;
[0037] 处理模块,用于对每个数据子序列进行符号化处理,得到至少两个符号子序列;
[0038] 投影模块,用于对所述符号子序列进行预设次数的随机投影;
[0039] 记录模块,用于记录投影的每个符号子序列与投影的其他符号子序列在投影位置 上具有相同符号的次数;
[0040] 第一识别模块,用于计算记录的次数中超过阈值的次数所对应的两个数据子序列 之间的距离,将距离小于第一预设距离的两个数据子序列作为识别出的标准模体;
[0041] 聚类模块,用于对每个预设范围内的标准模体进行聚类,得到每个预设范围内的 一个中心数据子序列;
[0042] 计算模块,用于根据每个预设范围内的标准模体与中心数据子序列计算每个预设 范围的方差;
[0043] 第二识别模块,用于缩小所述阈值,并计算记录的次数中超过缩小后的阈值的次 数所对应的两个数据子序列与其所在预设范围内的中心数据子序列之间的距离,将距离小 于所在预设范围的方差的数据子序列作为识别出的模体。
[0044] 结合第二方面,在第二方面的第一种可能的实现方式中,所述装置,还包括:
[0045]压缩模块,用于将所述符号子序列中至少两个连续的符号相同的符号子序列进行 压缩,得到压缩符号子序列;
[0046] 所述投影模块,用于对得到的符号子序列中未压缩的符号子序列进行预设次数的 随机投影。
[0047]结合第二方面,在第二方面的第二种可能的实现方式中,所述计算模块,用于计算 每个预设范围内的标准模体与中心数据子序列之间的距离平方的平均值,并将计算得到的 距离平方的平均值作为每个预设范围的方差。
[0048]结合第二方面,在第二方面的第三种可能的实现方式中,所述第二识别模块,用于 由大到小依次缩小所述阈值,直至识别出的模体数量大于预设数量为止;计算记录的次数 中超过每次缩小后的阈值的次数所对应的两个数据子序列与其所在预设范围内的中心数 据子序列之间的距离。
[0049] 结合第二方面的第一种可能的实现方式,在第二方面的第四种可能的实现方式 中,所述装置,还包括:
[0050] 第三识别模块,用于计算相邻两个压缩符号子序列对应的数据子序列之间的距 离,将距离小于所述第一预设距离的相邻两个压缩符号子序列对应的数据子序列作为识别 出的模体。
[
再多了解一些
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1