CN104516914A - 识别时间序列模式的方法和装置 - Google Patents

识别时间序列模式的方法和装置 Download PDF

Info

Publication number
CN104516914A
CN104516914A CN201310461049.2A CN201310461049A CN104516914A CN 104516914 A CN104516914 A CN 104516914A CN 201310461049 A CN201310461049 A CN 201310461049A CN 104516914 A CN104516914 A CN 104516914A
Authority
CN
China
Prior art keywords
starting point
mode
subsequence
time sequence
pattern
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201310461049.2A
Other languages
English (en)
Other versions
CN104516914B (zh
Inventor
李建强
段运强
刘春辰
刘博�
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC China Co Ltd
Original Assignee
NEC China Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC China Co Ltd filed Critical NEC China Co Ltd
Priority to CN201310461049.2A priority Critical patent/CN104516914B/zh
Publication of CN104516914A publication Critical patent/CN104516914A/zh
Application granted granted Critical
Publication of CN104516914B publication Critical patent/CN104516914B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90348Query processing by searching ordered data, e.g. alpha-numerically ordered data

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种识别时间序列模式的方法和装置,属于信息技术领域。包括:对需要分析的时间序列进行预处理,得到至少两个归一化的子序列;对每个归一化的子序列转化的符号化的子序列进行预设次数的随机投影;记录每个符号化的子序列在预设次数的随机投影过程中与其他符号化的子序列在投影位置上具有相同符号的次数;将大于第一阈值的每个次数所对应的每两个归一化的子序列构成初始模式,比较长度相同的每两个初始模式的起点间的距离,得到一组时间序列片段,每组时间序列片段及未组成时间序列片段的初始模式分别构成时间序列模式。本发明通过比较长度相同的每两个初始模式的起点之间的距离,以构成时间序列模式,提高识别时间序列模式的准确性。

Description

识别时间序列模式的方法和装置
技术领域
本发明涉及信息技术领域,特别涉及一种识别时间序列模式的方法和装置。
背景技术
随着信息技术的发展,越来越多的数据呈现为时间序列的形式,如股票数据、心电图数据等。在这些时间序列中有许多重复出现的子序列,这些重复出现的子序列形成的模式被称为时间序列模式。由于这些时间序列模式对统计规律和预测有十分重要的意义,因此,如何从一段时间序列中识别出时间序列模式,成为研究时间序列问题的关键。
在识别时间序列模式时,文章Discovering original motifs with differentlengths from time series,Tang H,Liao S S.[J].Knowledge-Based Systems,2008,21(7):666-671提出首先将需要分析的时间序列作归一化处理,得到至少两个归一化的子序列。其次,通过SAX(Symbolic Aggregate approXimation,符号集近似)方法将每个归一化的子序列转化为符号化的子序列,再对每个符号化的子序列进行预设次数的随机投影,记录每个符号化的子序列在所述预设次数的随机投影过程中与其他符号化的子序列在投影位置上具有相同符号的次数。最后,将记录的次数大于阈值的每个次数所对应的每两个归一化的子序列分别作为横坐标和纵坐标,并在坐标系中标记出来,坐标系的横轴和纵轴的坐标分别代表对应的归一化的子序列。将坐标系中用户指定范围内的横坐标对应的子序列构成一个时间序列片段,纵坐标对应的子序列构成一个时间序列片段,得到一组时间序列片段,每组时间序列片段及坐标系中未连接的子序列分别构成时间序列模式。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
由于上述识别时间序列模式的方式中,将记录的大于第一阈值的每个次数所对应的每两个归一化的子序列在坐标系中标记出来之后,会将坐标系中用户指定范围内的横坐标及纵坐标对应的子序列分别构成时间序列片段,并将每组时间序列片段构成时间序列模式,导致原本在需要分析的时间序列中重复出现的概率不高的序列通过上述过程识别后被识别出来,而这类时间序列模式中的子序列之间可能存在较大的位移差别,因而识别出的时间序列模式不够精准。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种识别时间序列模式的方法和装置。所述技术方案如下:
一方面,提供了一种识别时间序列模式的方法,所述方法包括:
获取需要分析的时间序列,对所述时间序列进行预处理,得到至少两个归一化的子序列;
将每个归一化的子序列转化为符号化的子序列,并对每个符号化的子序列进行预设次数的随机投影;
记录每个符号化的子序列在所述预设次数的随机投影过程中与其他符号化的子序列在投影位置上具有相同符号的次数;
将记录的次数与第一阈值进行比较,并将大于第一阈值的每个次数所对应的每两个归一化的子序列构成一个初始模式,每个初始模式包括的两个归一化的子序列中位置靠前的子序列为所述初始模式的起点,位置靠后的子序列为所述初始模式的终点,每个初始模式的起点与终点之间的距离为初始模式的长度;
比较长度相同的每两个初始模式的起点之间的距离,将距离小于第二阈值且长度相同的每两个初始模式的起点与起点之间的归一化的子序列构成一个时间序列片段,终点与终点之间的归一化的子序列构成一个时间序列片段,得到一组时间序列片段,每组时间序列片段及未组成时间序列片段的初始模式分别构成时间序列模式。
优选地,所述对所述时间序列进行预处理,得到至少两个归一化的子序列,包括:
以预设窗口大小将所述时间序列划分成至少两个子序列;
对每个子序列进行Z归一化处理,得到至少两个归一化的子序列。
优选地,所述每组时间序列片段及未组成时间序列片段的初始模式分别构成时间序列模式之后,还包括:
将起点相邻的每两个时间序列模式的起点之间的距离与第一预设距离进行比较;
如果存在起点相邻的两个时间序列模式的起点之间的距离小于等于第一预设距离,则将所述起点相邻的两个时间序列模式之间的标准差与第三阈值进行比较,并将所述起点相邻的两个时间序列模式之间的均值与第四阈值进行比较;
如果所述起点相邻的两个时间序列模式之间的标准差小于等于第三阈值,且所述起点相邻的两个时间序列模式之间的均值小于等于第四阈值,则确定所述起点相邻的两个时间序列模式构成带有形变的连续模式。
优选地,所述确定所述起点相邻的两个时间序列模式构成带有形变的连续模式之后,还包括:
从带有形变的连续模式及未构成带有形变的连续模式的时间序列模式中选择一个模式作为第一模式,并选择另一个模式作为第二模式,将所述第一模式的起点与所述第二模式的起点之间的距离与所述第一预设距离进行比较;
如果所述第一模式的起点与所述第二模式的起点之间的距离大于所述第一预设距离,将所述第一模式与所述第二模式之间的标准差与所述第三阈值进行比较,并将所述第一模式与所述第二模式之间的均值与所述第四阈值进行比较;
如果所述第一模式与所述第二模式之间的标准差小于等于所述第三阈值,且所述第一模式与所述第二模式之间的均值小于等于所述第四阈值,则确定所述第一模式与所述第二模式构成带有间隔的连续模式。
优选地,所述确定所述起点相邻的两个时间序列模式构成带有形变的连续模式之后,还包括:
如果存在起点有重叠的两个带有形变的连续模式,则将起点有重叠的两个带有形变的连续模式合并为一个带有形变的连续模式。
优选地,所述将起点有重叠的两个带有形变的连续模式合并为一个带有形变的连续模式之前,还包括:
确定所述起点有重叠的两个带有形变的连续模式之间的重叠范围是否满足第一预设条件,如果满足第一预设条件,则执行将起点有重叠的两个带有形变的连续模式合并为一个带有形变的连续模式的步骤。
优选地,所述确定所述第一模式与所述第二模式构成带有间隔的连续模式之后,还包括:
如果存在起点有重叠的两个带有间隔的连续模式,则将起点有重叠的两个带有间隔的连续模式合并为一个带有间隔的连续模式。
优选地,所述将起点有重叠的两个带有间隔的连续模式合并为一个带有间隔的连续模式之前,还包括:
确定所述起点有重叠的两个带有间隔的连续模式之间的重叠范围是否满足第二预设条件,如果满足第二预设条件,则执行将起点有重叠的两个带有间隔的连续模式合并为一个带有间隔的连续模式的步骤。
另一方面,提供了一种识别时间序列的装置,所述装置包括:
获取模块,用于获取需要分析的时间序列;
预处理模块,用于对所述时间序列进行预处理,得到至少两个归一化的子序列;
转化模块,用于将每个归一化的子序列转化为符号化的子序列;
投影模块,用于对每个符号化的子序列进行预设次数的随机投影;
记录模块,用于记录每个符号化的子序列在所述预设次数的随机投影过程中与其他符号化的子序列在投影位置上具有相同符号的次数;
第一比较模块,用于将记录的次数与第一阈值进行比较,并将大于第一阈值的每个次数所对应的每两个归一化的子序列构成一个初始模式,每个初始模式包括的两个归一化的子序列中位置靠前的子序列为所述初始模式的起点,位置靠后的子序列为所述初始模式的终点,每个初始模式的起点与终点之间的距离为初始模式的长度;
第二比较模块,用于比较长度相同的每两个初始模式的起点之间的距离,将距离小于第二阈值且长度相同的每两个初始模式的起点与起点之间的归一化的子序列构成一个时间序列片段,终点与终点之间的归一化的子序列构成一个时间序列片段,得到一组时间序列片段,每组时间序列片段及未组成时间序列片段的初始模式分别构成时间序列模式。
优选地,所述预处理模块包括:
划分单元,用于以预设窗口大小将所述时间序列划分成至少两个子序列;
处理单元,用于对每个子序列进行Z归一化处理,得到至少两个归一化的子序列。
优选地,所述装置还包括:
第三比较模块,用于将起点相邻的每两个时间序列模式的起点之间的距离与第一预设距离进行比较;
第四比较模块,用于当存在起点相邻的两个时间序列模式的起点之间的距离小于等于第一预设距离时,将所述起点相邻的两个时间序列模式之间的标准差与第三阈值进行比较,并将所述起点相邻的两个时间序列模式之间的均值与第四阈值进行比较;
第一确定模块,用于当所述起点相邻的两个时间序列模式之间的标准差小于等于第三阈值,且所述起点相邻的两个时间序列模式之间的均值小于等于第四阈值时,确定所述起点相邻的两个时间序列模式构成带有形变的连续模式。
优选地,所述装置还包括:
选择模块,用于从带有形变的连续模式及未构成带有形变的连续模式的时间序列模式中选择一个模式作为第一模式,并选择另一个模式作为第二模式;
第五比较模块,用于将所述第一模式的起点与所述第二模式的起点之间的距离与所述第一预设距离进行比较;
第六比较模块,用于当所述第一模式与所述第二模式的起点之间的距离大于所述第一预设距离时,将所述第一模式与所述第二模式之间的标准差与所述第三阈值进行比较,并将所述第一模式与所述第二模式之间的均值与所述第四阈值进行比较;
第二确定模块,用于当所述第一模式与所述第二模式之间的标准差小于等于所述第三阈值,且所述第一模式与所述第二模式之间的均值小于等于所述第四阈值时,确定所述第一模式与所述第二模式构成带有间隔的连续模式。
优选地,所述装置还包括:
第一合并模块,用于当存在起点有重叠的两个带有形变的连续模式时,将起点有重叠的两个带有形变的连续模式合并为一个带有形变的连续模式。
优选地,所述将装置还包括:
第三确定模块,用于确定所述起点有重叠的两个带有形变的连续模式之间的重叠范围是否满足第一预设条件;
所述第一合并模块,用于当满足第一预设条件时,执行将起点有重叠的两个带有间隔的连续模式合并为一个带有间隔的连续模式的步骤。
优选地,所述装置还包括:
第二合并模块,用于当存在起点有重叠的两个带有间隔的连续模式时,将起点有重叠的两个带有间隔的连续模式合并为一个带有间隔的连续模式。
优选地,所述将装置还包括:
第四确定模块,用于确定所述起点有重叠的两个带有间隔的连续模式之间的重叠范围是否满足第二预设条件;
所述第二合并模块,用于当满足第二预设条件时,执行将起点有重叠的两个带有间隔的连续模式合并为一个带有间隔的连续模式的步骤。
本发明实施例提供的技术方案带来的有益效果是:
通过将每个符号化的子序列进行预设次数的随机投影,并记录在预设次数的随机投影过程中每个符号化的子序列与其他符号化的子序列在投影位置上具有相同符号的次数后,将记录的达到第一阈值的次数所对应的每两个归一化的子序列构成一个初始模式,之后将长度相同的每两个初始模式的起点与起点之间的归一化的子序列构成一个时间序列片段,终点与终点之间的归一化的子序列构成一个时间序列片段,每组时间序列片段及未进行连接的初始模式分别构成时间序列模式,从而实现了将子序列连接成一个大的时间序列模式,不仅提供了明确的识别方法,且由于时间序列模式中的子序列之间的距离小于第二阈值,因而时间序列模式中的子序列之间的位移差别较小,从而使识别出的时间序列模式具有更高的准确性及可靠性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的一种识别时间序列模式的方法流程图;
图2是本发明实施例二提供的一种识别时间序列模式的方法流程图;
图3是本发明实施例二提供的一种需要分析的时间序列示意图;
图4是本发明实施例二提供的一种符号化的子序列的矩阵示意图;
图5是本发明实施例二提供的一种随机投影的示意图;
图6是本发明实施例二提供的另一种随机投影的示意图;
图7是本发明实施例二提供的一种初始模式在坐标系中的示意图;
图8是本发明实施例二提供的一种坐标系中的时间序列模式的示意图;
图9是本发明实施例二提供的一种时间序列模式的示意图;
图10是本发明实施例二提供的一种坐标系中的时间序列模式的示意图;
图11是本发明实施例三提供的第一种识别时间序列模式的装置结构示意图;
图12是本发明实施例三提供的预处理模块的结构示意图;
图13是本发明实施例三提供的第二种识别时间序列模式的装置结构示意图;
图14是本发明实施例三提供的第三种识别时间序列模式的装置结构示意图;
图15是本发明实施例三提供的第四种识别时间序列模式的装置结构示意图;
图16是本发明实施例三提供的第五种识别时间序列模式的装置结构示意图;
图17是本发明实施例三提供的第六种识别时间序列模式的装置结构示意图;
图18是本发明实施例三提供的第七种识别时间序列模式的装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一
本发明实施例提供了一种识别时间序列模式的方法,参见图1,本实施例提供的方法流程包括:
101:获取需要分析的时间序列,对该时间序列进行预处理,得到至少两个归一化的子序列。
作为一种优选的实施例,对时间序列进行预处理,得到至少两个归一化的子序列,包括:
以预设窗口大小将时间序列划分成至少两个子序列;
对每个子序列进行Z归一化处理,得到至少两个归一化的子序列。
102:将每个归一化的子序列转化为符号化的子序列,并对每个符号化的子序列进行预设次数的随机投影。
103:记录每个符号化的子序列在所述预设次数的随机投影过程中与其他符号化的子序列在投影位置上具有相同符号的次数。
104:将记录的次数与第一阈值进行比较,并将大于第一阈值的每个次数所对应的每两个归一化的子序列构成一个初始模式,每个初始模式包括的两个归一化的子序列中位置靠前的子序列为初始模式的起点,位置靠后的子序列为所述初始模式的终点,每个初始模式的起点与终点之间的距离为初始模式的长度。
105:比较长度相同的每两个初始模式的起点之间的距离,将距离小于第二阈值且长度相同的每两个初始模式的起点与起点之间的归一化的子序列构成一个时间序列片段,终点与终点之间的归一化的子序列构成一个时间序列片段,得到一组时间序列片段,每组时间序列片段及未组成时间序列片段的初始模式分别构成时间序列模式。
作为一种优选的实施例,每组时间序列片段及未组成时间序列片段的初始模式分别构成时间序列模式之后,还包括:
将起点相邻的每两个时间序列模式的起点之间的距离与第一预设距离进行比较;
如果存在起点相邻的两个时间序列模式的起点之间的距离小于等于第一预设距离,则将起点相邻的两个时间序列模式之间的标准差与第三阈值进行比较,并将起点相邻的两个时间序列模式之间的均值与第四阈值进行比较;
如果起点相邻的两个时间序列模式之间的标准差小于等于第三阈值,且起点相邻的两个时间序列模式之间的均值小于等于第四阈值,则确定起点相邻的两个时间序列模式构成带有形变的连续模式。
作为一种优选的实施例,确定起点相邻的两个时间序列模式构成带有形变的连续模式之后,还包括:
从带有形变的连续模式及未构成带有形变的连续模式的时间序列模式中选择一个模式作为第一模式,并选择另一个模式作为第二模式,将第一模式的起点与第二模式的起点之间的距离与第一预设距离进行比较;
如果第一模式的起点与第二模式的起点之间的距离大于第一预设距离,则将第一模式与第二模式之间的标准差与第三阈值进行比较,并将第一模式与第二模式之间的均值与第四阈值进行比较;
如果第一模式与第二模式之间的标准差小于等于第三阈值,且第一模式与第二模式之间的均值小于等于第四阈值,则确定第一模式与第二模式构成带有间隔的连续模式。
作为一种优选的实施例,确定起点相邻的两个时间序列模式构成带有形变的连续模式之后,还包括:
如果存在起点有重叠的两个带有形变的连续模式,则将起点有重叠的两个带有形变的连续模式合并为一个带有形变的连续模式。
作为一种优选的实施例,将起点有重叠的两个带有形变的连续模式合并为一个带有形变的连续模式之前,还包括:
确定起点有重叠的两个带有间隔的连续模式之间的重叠范围是否满足第一预设条件,如果满足第一预设条件,则执行将起点有重叠的两个带有形变的连续模式合并为一个带有形变的连续模式的步骤。
作为一种优选的实施例,确定第一模式与第二模式构成带有间隔的连续模式之后,还包括:
如果存在起点有重叠的两个带有间隔的连续模式,则将起点有重叠的两个带有间隔的连续模式合并为一个带有间隔的连续模式。
作为一种优选的实施例,将起点有重叠的两个带有间隔的连续模式合并为一个带有间隔的连续模式之前,还包括:
确定起点有重叠的两个带有间隔的连续模式之间的重叠范围是否满足第二预设条件,如果满足第二预设条件,则执行将起点有重叠的两个带有间隔的连续模式合并为一个带有间隔的连续模式的步骤。
本发明实施例提供的方法,通过将每个符号化的子序列进行预设次数的随机投影,并记录在预设次数的随机投影过程中每个符号化的子序列与其他符号化的子序列在投影位置上具有相同符号的次数后,将记录的达到第一阈值的每个次数所对应的每两个归一化的子序列构成一个初始模式,之后将长度相同的每两个初始模式的起点与起点之间的归一化的子序列构成一个时间序列片段,终点与终点之间的归一化的子序列构成一个时间序列片段,每组时间序列片段及未进行连接的初始模式分别构成时间序列模式,从而实现了将子序列连接成一个大的时间序列模式,不仅提供了明确的识别方法,且由于时间序列模式中的子序列之间的距离小于第二阈值,因而时间序列模式中的子序列之间的位移差别较小,从而使识别出的时间序列模式具有更高的准确性及可靠性。
实施例二
随着统计学的发展,越来越多的数据呈现时间序列形式。时间序列是指将某种现象或某一个统计指标在不同时间上的各个数值,按时间先后顺序排列而形成的序列。常见的时间序列包括但不限于股票数据、心电图数据等。在对这些时间序列进行研究时发现:时间序列中有许多重复出现的子序列,这些重复出现的子序列形成时间序列模式。由于时间序列模式蕴含着一些重要的原理,而这些重要的原理对理解现象的本质、统计规律和预测十分有意义,为此,本发明实施例提供了一种识别时间序列模式的方法。为了便于理解,现结合上述实施例一的内容,对本实施例提供的识别时间序列模式的方法进行详细地解释说明。参见图2,本实施例提供的方法流程包括:
201:获取需要分析的时间序列。
针对该步骤,关于获取需要分析的时间序列的方式,本实施例不作具体限定,包括但不限于通过如下方式获取:
首先,统计某一事物在一段时间内的数据;
其次,将统计时间及统计得到的数据在坐标系中标记出来,得到该事物在统计时间内相应的数据变化曲线,该曲线即为获取到的时间序列;
其中,坐标系的X轴表示统计时间,Y轴表示统计的数据。
为了便于理解,以统计心脏在一天内的跳动数据为例,得到心脏在一天内的跳动数据之后,将统计时间及统计得到的跳动数据在坐标系中标记出来,得到心脏在一天内相应的数据变化曲线,将该曲线作为获取到的时间序列。
202:对获取到的时间序列进行预处理,得到至少两个归一化的子序列。
针对该步骤,由于获取到的时间序列一般较长,从较长的时间序列中识别时间序列模式的过程较为复杂,因此,为了简化时间序列模式的识别难度,本实施例提供的方法在对时间序列模式进行识别之前,需要将获取到的时间序列进行预处理。其中,对时间序列进行预处理的方式包括但不限于如下过程:
第一步,以预设窗口大小将时间序列划分成至少两个子序列;
针对第一步,预设窗口为将时间序列划分成子序列的划分尺度。其中,预设窗口的大小可以为1个数据长度、2个数据长度、3个数据长度,当然也可以是其他值,本实施例不对预设窗口大小作具体限定及数据长度的单位长度进行限定。由于预设窗口大小可以决定时间序列被划分的子序列的数量,为了保证识别结果的可靠性及准确性,划分的子序列数量不宜太多,也不宜太少,本实施例不对划分的子序列数量进行限定。具体实施时,可结合需要分析的时间序列的长度确定预设窗口大小,从而确定划分的子序列的数量。但是,无论确定的预设窗口大小是多少,根据预设窗口大小将时间序列划分为子序列时,划分的子序列数量至少为两个。
关于以预设窗口大小将时间序列划分成至少两个子序列的方式,可以采用从时间序列的起点到终点的划分方式依次进行划分,也可采用从时间序列的终点到起点的划分方式依次进行划分,本实施例对此不作具体限定。为了便于后续的分析和计算,本实施例中采用从时间序列的起点到终点的划分方式,将时间序列划分为一系列的子序列,并将划分后的子序列从时间序列的起点到终点依次顺序进行编号,分别为第1个子序列,第2个子序列,第3个子序列,……,直到最后一个子序列。
第二步,将每个子序列进行z归一化处理,得到至少两个归一化的子序列。
针对第二步,虽然第一步已将时间序列划分成至少两个子序列,但由于每个子序列的位移和缩放比例可能不同,对不同位移和缩放比例的子序列进行模式识别较困难,因此,为了将不同位移和缩放比例的子序列识别出来,可以将每个子序列进行z归一化处理。
z归一化作为一种无量纲处理手段,可以将物理系统数值由绝对值变成相对值。采用z归一化处理可将不同位移和缩放比例的子序列统一到一个参考系下,进而能够对不同位移和缩放比例的子序列进行计算。由于第一步中已经将时间序列划分为至少两个子序列,因此,在对每个子序列进行Z归一化处理时,至少可以得到两个归一化的子序列。具体地,对个子序列进行Z归一化处理的原理如下:
如果Z归一化处理前的子序列为X,Z归一化处理后的子序列为X',那么X'=(X-均值)/标准差。其中,标准差代表子序列的比例缩放信息,均值代表子序列的位移信息。
203:将每个归一化的子序列转化为符号化的子序列。
针对该步骤,虽然上述步骤202已将需要分析的时间序列进行预处理得到了至少两个归一化的子序列,但由于这些归一化的子序列的维度较高,直接对这些归一化的子序列进行模式识别的计算量很大。由于在低维空间对子序列进行计算的计算量相对高维空间要小的多,为了减小对归一化的子序列进行模式识别的计算量,可将归一化的子序列进行降维处理,以通过降维处理使归一化的子序列转换到一个低维空间。目前,模式识别时的主要降维方法有奇异值分解法、符号集近似法等,其中应用最广的方法是符号集近似SAX方法。具体实施时,本实施例以采用SAX方法为例进行说明。
其中,SAX方法作为一种典型的降维方法,对归一化的子序列进行降维处理时,首先将归一化的子序列进行PAA(Piecewise Aggregate Approximation,分段聚合近似),然后根据由高斯分布确定的分割点将归一化的子序列用离散符号表示,进而得到了符号化的子序列。进一步地,在根据SAX方法将归一化的子序列转化为符号化的子序列时,表示符号化的子序列的符号数和所用的符号种类包括但不限于由用户设定。在用户设定表示符号化的子序列的符号数和所用符号的种类后,每个符号化的子序列将代替相应的归一化的子序列参与后续的计算。
对于上述过程,为了便于理解,下面以一个具体的例子进行详细的解释说明。
如图3所示,T代表一个需要分析的时间序列,经过预处理后,时间序列T被划分为了n个归一化的子序列,其中,n等于1000。采用SAX方法将归一化的子序列转化为符号化的子序列时,如果用户设定表示符号化的子序列的符号数为4个,表示符号化的子序列的符号种类为a、b和c,则根据用户确定的符号种类,将时间序列T中任意一个子序列C1转化为符号化的子序列时,C1可以表示为a c b a,则在后续的计算中以a c b a代替子序列C1进行计算。
需要说明的是,将归一化的子序列转化为符号化的子序列后,为了便于后续对符号化的子序列进行识别,本步骤将符号化的子序列进行存储。关于存储符号化的子序列的方式,包括但不限于通过矩阵、表格等方式进行存储,本实施例不对存储符号化的子序列的方式进行限定。
204:对每个符号化的子序列进行预设次数的随机投影,并记录每个符号化的子序列在预设次数的随机投影过程中与其他符号化的子序列在投影位置上具有相同符号的次数。
其中,随机投影是在时间序列模式识别中广泛使用的一种方法。随机投影的主要原理是越是出现次数多的模式,在离散化以后,子序列相同位置越有可能出现相同的符号。随机投影的预设次数可以是1000次,也可以是2000次,当然也可以是其他值,本实施例不对预设次数的具体值进行限定。
在对每个符号化的子序列进行预设次数的随机投影时,可以随机选择投影位置,该投影位置可以为符号化的子序列对应的列,例如,可以选择两列进行投影,也可以选择三列进行投影。具体投影时,用户可根据符号化的子序列的情况随机进行设定。在确定投影的符号化的子序列的列数后,具体选择符号化的子序列的哪些列作为投影位置也是随机的。如果确定投影的符号化的子序列的列数为两列,那么在随机投影时,符号化的子序列的任意两列都可以被选择。具体投影时可以选择符号化的子序列的第1列和第2列,也可以选择符号化的子序列的第2列和第3列,当然,也可以选择符号化的子序列的其他两列。由于随机投影时选择投影的符号化的子序列的列数是随机的,选择具体投影的符号化的子序列的哪些列也是随机的。但由于相同模式的符号化的子序列在相同投影位置上的符号是相同的,经过预设次数的随机投影后,相同模式的子序列在相同的投影位置上出现相同符号的次数相对较多。因此,为了将时间序列模式识别出来,需要记录并存储每个符号化的子序列在预设次数的随机投影过程中与其他符号化的子序列在投影位置上具有相同符号的次数。其中,记录并存储每个符号化的子序列在预设次数的随机投影过程中与其他符号化的子序列在投影位置上具有相同符号的次数的方式,本实施例不作具体的限定,包括但不限于通过矩阵、表格等方式记录并存储。
为了便于理解上述过程,下面以通过矩阵的形式记录每个符号化的子序列在预设次数的随机投影过程中与其他符号化的子序列在投影位置上具有相同符号的次数为例,对随机投影过程进行详细的解释说明。
其中,矩阵中的每一行每一列分别代表一个符号化的子序列,关于矩阵中行和列的符号化的子序列的排列方式,可以按符号化的子序列编号从小到大的顺序排列,也可以按符号化的子序列编号从大到小的顺序排列,本实施例不对矩阵中行和列的符号化的子序列的排列方式作具体的限定。如果在第一次随机投影过程中,两个符号化的子序列在投影位置上具有相同符号,则在矩阵中这两个符号化的子序列的交叉位置上记录1,表示在一次随机投影过程中这两个符号化的子序列符号相同的次数为一次;如果在第二次随机投影过程中,这两个符号化的子序列在投影位置上还具有相同的符号,则在矩阵中这两个符号化的子序列的交叉位置上记录2,表示在两次随机投影过程中这两个符号化的子序列符号相同的次数为两次。最后将预设次数的随机投影过程中这两个子符号化的序列在投影位置上具有相同的符号的次数累计起来,并将累计的次数记录在矩阵中这两个子序列的交叉位置上,表示在预设次数的随机投影过程中这两个符号化的子序列在投影位置上具有相同符号的次数。以上仅以两列为例,对于其他列的符号化的子序列也采用上述方式进行记录,在此不再赘述。
需要说明的是,由于矩阵的行和列都表示符号化的子序列,因此,两个符号化的子序列在矩阵中的交叉位置有两个,但这两个位置表示的符号化的子序列的模式是相同的。为了避免重复记录,本实施例中将随机投影过程中两个符号化的子序列编号小的用矩阵的行来表示,编号大的用矩阵的列来表示。
205:将记录的次数与第一阈值进行比较,并将大于第一阈值的每个次数所对应的每两个归一化的子序列构成一个初始模式,每个初始模式包括的两个归一化的子序列中位置靠前的子序列为初始模式的起点,位置靠后的子序列为初始模式的终点,每个初始模式的起点与终点之间的距离为初始模式的长度。
针对该步骤,第一阈值可以是1000、2000、3000等,本实施例不对第一阈值的大小作具体的限定。将记录的次数与第一阈值进行比较,比较结果有两种,可以是记录的次数大于第一阈值,也可以是记录的次数小于等于第一阈值,本实施例中将比较结果为记录的大于第一阈值的每个次数所对应的两个归一化的子序列构成一个初始模式,每个初始模式中包括两个归一化的子序列,将每个初始模式中位置靠前的子序列作为初始模式的起点,位置靠后的子序列作为初始模式的终点,每个初始模式的起点与终点之间的距离为初始模式的长度。
对于上述过程,为了便于理解,下面将以设定第一阈值为1000为例,进行详细的解释说明。
例如,得到记录每个符号化的子序列在预设次数的随机投影过程中与其他符号化的子序列在投影位置上具有相同符号的次数的矩阵后,从矩阵中可以得到记录的大于1000的次数所对应的每两个归一化的子序列有:子序列1和6、子序列9和20以及子序列100和130。由于记录的大于第一阈值的次数所对应的每两个归一化的子序列可以构成一个初始模式,因此,子序列1和6构成一个初始模式,子序列9和20构成一个初始模式,子序列100和130构成一个初始模式。以子序列1和6构成的一个初始模式来说,子序列1在时间序列中的位置比较靠前,因此,子序列1为这个初始模式的起点,子序列6在时间序列中位置比较靠后,因此,子序列6为这个初始模式的终点,而这个初始模式的长度为子序列1和6之间的距离。上述过程仅以子序列1和6构成的一个初始模式为例进行说明,对于其他初始模式原理相同,此处不再赘述。
进一步地,为了更直观地标识得到的初始模式,便于后续对初始模式进行处理,在本步骤中,可将得到的初始模式在二维空间中标记出来。其中,标记初始模式的二维空间包括但不限于坐标系、矩阵等,本实施例对标记初始模式的二维空间不作具体的限定。
为了便于理解上述步骤203至205的整个过程,下面将以设定的表示符号化的子序列的符号种类为a b c,表示符号化的子序列的符号数为4个,并结合图4至图7所示的示意图为例进行详细的解释说明。
其中,图4为记录每个符号化的子序列的矩阵的示意图,图5和图6为将符号化的子序列进行第一次和第二次随机投影后的结果示意图,图7为标记初始模式的坐标系的示意图。其中,图5为第一次随机投影得到的投影结果,该第一次随机投影选择的投影位置分别为图4中的符号化的子序列的第1列和第2列。从图5可以看出,第一次随机投影过程中第1个符号化的子序列和第58个符号化的子序列在投影位置上具有相同符号,将第一次随机投影过程中第1个符号化的子序列与第58个符号化的子序列在投影位置上具有相同符号的次数在图5所示的矩阵中第1行和第58行交叉的位置上记录下来,即在图5所示的矩阵中横轴为第1行和纵轴为第58行的交叉位置上记录1;从图5还可以看出,第一次随机投影过程中第2个符号化的子序列和第985个符号化的子序列在投影位置上也具有相同符号,将第一次随机投影过程中第2个符号化的子序列与第985个符号化的子序列在投影位置上具有相同符号的次数在图5所示的矩阵中第2行和第985行交叉的位置上记录下来,即在矩阵中横轴为第2行和纵轴为第985行的交叉位置上记录1。
图6为第二次随机投影得到的投影结果,该第二次随机投影选择的投影位置分别为图4中的第2列和第4列。从图6可以看出,第二次随机投影过程中第1个符号化的子序列和第58个符号化的子序列在投影位置上具有相同符号,由于第一次随机投影过程中第1个符号化的子序列和第58个符号化的子序列在投影位置上具有相同符号的次数为1次,因此,两次随机投影过程中第1个符号化的子序列和第58个符号化的子序列在投影位置上具有相同符号的次数为2次,将两次随机投影过程中第1个符号化的子序列和第58个符号化的子序列在投影位置上具有相同符号的次数在图6所示的矩阵中第1行和第58行交叉的位置上记录下来,即在矩阵中横轴为第1行和纵轴为第58行的交叉位置上记录2;从图6可以看出,第二次投影过程中第2个符号化的子序列和第985个符号化的子序列在投影位置上符号不同,由于第一次随机投影过程中第2个符号化的子序列和第985个符号化的子序列在投影位置上具有相同符号的次数为1次,因此,两次随机投影过程中第2个符号化的子序列和第985个符号化的子序列在投影位置上具有相同符号的次数为1次,将两次随机投影过程中第2个符号化的子序列和第985个符号化的子序列在投影位置上具有相同符号的次数在图6所示的矩阵中第2行和第985行交叉的位置上记录下来,即在矩阵中横轴为第2行和纵轴为第985行的交叉位置上记录1。
上述仅以第1个符号化的子序列和第58个符号化的子序列、第2个符号化的子序列和第985个符号化的子序列为例进行说明,图中其他符号化的子序列的第一次和第二次随机投影的原理与图4中第1个符号化的子序列和第58个符号化的子序列、第2个符号化的子序列和第985个符号化的子序列的投影原理相同,具体参见对第1个符号化的子序列和第58个符号化的子序列、第2个符号化的子序列和第985个符号化的子序列的分析,此处不再一一说明。
经过预设次数的随机投影,可以得到记录预设次数的随机投影过程中每个符号化的子序列与其他符号化的子序列在投影位置上具有相同符号的次数的矩阵,若设定第一阈值为1000,将矩阵中记录的大于1000的次数所对应的每两个归一化的子序列构成一个初始模式,并将该初始模式在图7所示的坐标系中标记出来。坐标系中的点的横坐标为初始模式中位置靠前的子序列的编号,纵坐标为初始模式中位置靠后的子序列的编号。
206:比较长度相同的每两个初始模式的起点之间的距离,将距离小于第二阈值且长度相同的每两个初始模式的起点与起点之间的归一化的子序列构成一个时间序列片段,终点与终点之间的归一化的子序列构成一个时间序列片段,得到一组时间序列片段,每组时间序列片段及未进行连接的初始模式分别构成时间序列模式。
针对该步骤,由于受到噪声以及随机投影算法的概率原理等因素影响,致使本应连续的有些初始模式之间存在间断,由于这些间断的存在使得有些初始模式比实际模式要短,而连续的大的模式对后续研究有着重要的意义,因此,为了提高识别出的初始模式的准确性,本实施例提供的方法可将由于噪声以及随机投影算法的概率原理等因素造成间断的初始模式连接起来,构成大的时间序列模式。
对于上述过程,具体操作时,考虑到位移差异,可将长度相同的每两个初始模式的起点之间的距离进行比较,如果每两个初始模式的起点之间的距离小于第二阈值,则将每两个初始模式的起点与起点之间的归一化的子序列构成一个时间序列片段,终点与终点之间的归一化的子序列构成一个时间序列片段,这样就可得到一组时间序列片段。这组时间序列片段的起点为满足条件的每两个初始模式的起点与起点之间的归一化的子序列,终点为满足条件的每两个初始模式的终点与终点之间的归一化的子序列。其中,第二阈值的大小可以为1个数据长度、2个数据长度等,本实施例不对第二阈值的大小及数据长度的大小作具体的限定。由于在将长度相同的每两个初始模式的起点之间的距离进行比较时,会存在长度相同的两个初始模式的起点之间的距离大于或等于第二阈值的情况。对于这种情况,本实施例中不会将这些初始模式组成时间序列片段,但这些未组成时间序列片段的初始模式和得到的每组时间序列片段可以分别构成时间序列模式。
为了将上述过程直观地展现出来,以坐标系为例,详细介绍构成时间序列模式的过程。该过程在具体执行时,分为如下几步:
第一步,将步骤205中得到的初始模式在坐标系中标记出来。具体标记的初始模式为SM_initial={Mi|Mi=(si_x,si_y)}si_x<si_y,。其中,SM_initial表示一个初始模式集合,Mi表示第i个初始模式在坐标系中的位置,si_x表示此初始模式的起点在坐标系中的位置,si_y表示此初始模式的终点在坐标系中的位置。
第二步,对标记的所有初始模式增加标签bi,判断每两个初始模式的起点之间的距离是否满足第一条件,若满足第一条件则认为这两个初始模式上的标签相同,并在坐标系中将这两个具有相同标签的初始模式的起点连接起来。在连接过程中,还将继续判断连接后的初始模式的起点与下一个初始模式的起点是否满足条件。若满足第一条件则认为这个连接后的初始模式上的标签与下一个初始模式上的标签相同,并在坐标系中将这两个具有相同标签的初始模式的起点连接起来。以后依次判断每两个初始模式的起点之间的距离是否满足第一条件,若满足条件则认为这两个初始模式上的标签相同,并将具有相同标签的初始模式的起点连接起来。若两个初始模式的起点之间的距离不满足第一条件,则将不满足第一条件的初始模式上的标签作为初始标签,从初始标签对应的初始模式开始判断该初始模式的起点与其他的初始模式的起点之间的距离是否满足第一条件,具体的判断过程与上述判断过程相同,此处不再赘述。
其中,第一条件为|sj_x-si_x|=|sj_y-si_y|≤α,α为第二阈值。si_x和si_y为第i个初始模式的起点和终点在坐标系中的位置,sj_x为和sj_y为第j个初始模式的起点和终点在坐标系中位置。如果两个初始模式的起点之间的距离等于这两个初始模式的终点之间的距离,并且小于第二阈值,则将这两个初始模式进行连接,得到一条线段,该线段表示一组时间序列片段。当然,在进行上述判断时,会存在某一初始模式与其他任意初始模式间都不满足条件的情况。对于这种情况,本实施例同样不会将坐标系中的这些初始模式进行处理,即未进行连接的初始模式与得到的每组时间序列片段分别构成时间序列模式。
需要说明的是,由于一个初始模式的起点和终点在坐标系中为同一个点,在坐标系中将每两个初始模式的起点和起点进行连接,与终点和终点进行连接时,连接的为同一点,因此,此处仅用将两个初始模式的起点进行连接来表示将这两个初始模式的起点和起点进行连接、终点和终点进行连接。实际应用中,将两个初始模式的终点进行连接的原理与将两个初始模式的终点进行连接的原理相同。
第三步,将第二步得到的时间序列模式在坐标系中表示出来。如果第二步判断出有n个初始模式的起点之间的距离满足条件,则连接后得到的时间序列的起点为第一个初始模式的位置,终点为第n个初始模式的位置。具体得到的时间序列模式在坐标系中表示为:
SM_BP=(Mp_begin,Mp_end)=[(sp_begin_x,sp_bengin_y),(sp_end_x,sp_end_y)]。
其中,SM_Bp表示第p个时间序列模式在坐标系中的位置,Mp_begin为(sp_begin_x,sp_begin_y),表示第p个初始模式在坐标系中的开始位置,Mp_end为(sp_end_x,sp_end_y),表示第p个初始模式在坐标系中的结束位置。sp_begin_x表示第p个初始模式x方向上的起点在需要分析的时间序列中的位置,sp_begin_y表示第p个初始模式的终点在需要分析的时间序列中的位置,sp_end_x表示第n个初始模式的起点在需要分析的时间序列中的位置,sp_end_y表示第n个初始模式的终点在需要分析的时间序列中的位置。
进一步地,虽然经过上述步骤已识别出时间序列模式,但在更大的范围内可能会存在更长的模式,而更长的模式对于未来的分析也是十分有意义的,因此,本实施例提供的方法还提供了识别出可能存在的更长模式的后续步骤。
207:将起点相邻的每两个时间序列模式的起点之间的距离与第一预设距离进行比较。
针对该步骤,之所以将起点相邻的每两个时间序列模式的起点之间的距离与第一预设距离进行比较,是为了保证识别出的更长模式中的时间序列差异不会太大,从而保证识别出的时间序列模式的准确性。为此,本实施例提供的方法先将起点相邻的每两个时间序列模式的起点之间的距离与第一预设距离进行比较,而该第一预设距离可以反映出起点相邻的两个时间序列模式构成一个更长模式时,该起点相邻的两个时间序列模式之间的差异范围。其中,第一预设距离的大小可以是1个数据长度、2个数据长度、3个数据长度,本实施例不对第一预设距离的大小及数据长度的大小作具体的限定。
在将起点相邻的每两个时间序列模式的起点之间的距离与第一预设距离进行比较时,本实施例不对具体比较方式进行限定。具体实施时,比较结果包括但不限于:起点相邻的两个时间序列模式的起点之间的距离小于第一预设距离、起点相邻的两个时间序列模式的起点之间的距离大于第一预设距离及起点相邻的两个时间序列模式的起点之间的距离等于第一预设距离的情况。
该步骤在坐标系中表示时,具体过程如下:
第一步,将步骤206中得到的时间序列模式在坐标系中标识出来后,时间序列模式在坐标系中表示为:
SM_BP=(Mp_begin,Mp_end)=[(sp_begin_x,sp_bengin_y),(sp_end_x,sp_end_y)]。
其中,时间序列模式中的各个字母的含义与上述步骤206中时间序列模式的各个字母的含义相同,具体详见上述步骤206,此处不再赘述。
第二步,一条直线上相邻的两个时间序列模式作为起点相邻的时间序列模式,将起点相邻的时间序列模式的起点之间的距离与第一预设距离进行比较。
具体地,由于时间序列模式在坐标系中可用直线y=x+b表示,在确定坐标系中两个时间序列模式是否在一条直线上时,如果起点相邻的两个时间序列模式中的起点的第一个时间序列模式的最后一个片段和第二个时间序列模式的最开始的片段在一条直线上,则判定这两个起点相邻的时间序列模式在一条直线上。
第三步,在判断两个时间序列模式在一条直线上后,相邻的两个时间序列模式的起点分别对应坐标系中X坐标,因此,继续判断起点相邻的两个时间序列模式的起点间的距离与第一预设距离的关系。该步在具体实施时,将坐标系中位于同一直线上相邻的两个时间序列模式的横坐标之间的距离与第一预设距离进行比较。
208:如果存在起点相邻的两个时间序列模式的起点之间的距离小于等于第一预设距离,则将起点相邻的两个时间序列模式之间的标准差与第三阈值进行比较,并将起点相邻的两个时间序列模式之间的均值与第四阈值进行比较。
针对该步骤,为了使构成的更长模式更为准确,本实施例提供的方法在将两个时间序列模式构成更长模式时,不仅要考虑两个时间序列模式之间的距离,还要考虑位移信息和比例缩放信息。由于标准差可以反映两个模式之间的比例缩放信息,均值可以反映两个模式之间的位移信息,因此,如果存在起点相邻的两个时间序列模式的起点之间的距离小于等于第一预设距离的情况,本实施例提供的方法将进一步将起点相邻的两个时间序列模式之间的标准差与第三阈值进行比较,并将起点相邻的两个时间序列模式之间的均值与第四阈值进行比较。其中,第三阈值代表构成更长模式时可允许的比例缩放误差范围,第四阈值代表构成更长模式时可允许的位移误差范围。本实施例不对第三阈值及第四阈值的具体数值进行限定,具体实施时,可根据经验数据设定。
对于上述过程,下面将以设定第一预设距离为1个数据长度为例进行详细的解释说明。
例如,时间序列模式1和时间序列模式2的起点相邻,时间序列模式2和时间序列模式3的起点相邻,时间序列模式3和时间序列模式4的起点相邻,且时间序列模式1和时间序列模式2的起点之间的距离为0.5个数据长度,时间序列模式2和时间序列模式3的起点之间的距离为1.5个数据长度。由于第一预设距离为1数据长度,时间序列模式1和时间序列模式2的起点之间的距离为0.5个数据长度,0.5个数据长度小于1数据长度,则继续将这两个时间序列模式的标准差与第三阈值进行比较,并将这两个时间序列模式的均值与第四阈值进行比较。同理,由于时间序列模式2和时间序列模式3的起点之间的距离大于第一预设距离,则不会继续将这两个时间序列模式的标准差与第三阈值进行比较,并将这两个时间序列模式的均值与第四阈值进行比较。
进一步地,结合上述步骤得到的结果,如果存在起点相邻的两个时间序列模式的起点之间的距离小于等于第一预设距离,则将起点相邻的两个时间序列模式之间的标准差与第三阈值进行比较,并将起点相邻的两个时间序列模式之间的均值与第四阈值进行比较,即比较起点相邻的两个时间序列模式在X方向的缩放比例与Y方向的缩放比例是否接近,起点相邻的两个时间序列模式在X方向的位移和Y方向的位移是否一致。
为了便于理解上述过程,下面以坐标系中起点相邻的两个时间序列模式为如下所示的时间序列模式为例进行详细的解释说明。
SM_Bi=(Mi_begin,Mi_end)=[(si_begin_x,si_engin_y),(si_end_x,si_end_y)]和
SM_Bj=(Mj_begin,Mj_end)=[(sj_begin_x,sj_engin_y),(sj_end_x,sj_end_y)],
其中,SM_Bi为起点相邻的时间序列的第i个时间序列模式,SM_Bj为第j个时间序列模式。若SM_Bi在直线y=x+b上,则SM_Bi的坐标满足直线方程y=x+b,将SM_Bi的最后一个片段(sj_end_x,sj_end_y)代入方程,可得si_end_y=si_end_x+b,整理得到b=si_end_y-si_end_x。若sj_begin_y=sj_begin_x+b,其中b=si_end_y-si_end_x,则SM_Bi的最后一个片段(si_end_x-si_end_y)和SM_Bj的第一个片段(sj_begin_x,sj_begin_y)在一条直线上,进而得出SM_Bi和SM_Bj在一条直线上。
进一步地,如果得出SM_Bj和SM_Bi起点之间的距离接近第一预设距离,用公式表示为并进一步得出SM_Bj和SM_Bi的标准差小于等于第三阈值,即在x方向的标准差之比和在y方向的标准差之比近似相等,SM_Bj和SM_Bi在x方向的缩放比例和y方向的缩放比例近似相等,用公式表示为且还可以得出SM_Bj和SM_Bj的均值小于等于第四阈值,即在x方向的均值之差和在y方向的均值之差近似相等,SM_Bj和SM_Bi在x方向的位移和y方向的位移近似相等,用公式表示为|(meanix-meanjx)-(meaniy-meanjy)|≤ε,则确定SM_Bj和SM_Bi为带有形变的连续模式。其中,δ、β、γ和ε需要人工设定,δ<β,本实施例不对δ、β、γ和ε的大小作具体的限定,具体设定时用户可根据实际情况进行设定。其中,stdix表示SM_Bi模式在x方向的标准差,stdiy表示SM_Bi模式在y方向的标准差,stdjx表示SM_Bj模式在x方向的标准差,stdjy表示SM_Bj模式在y方向的标准差,meanix表示SM_Bj模式在x方向的均值,meaniy表示SM_Bi模式在y方向的均值,meanjx表示SM_Bj模式在x方向的均值,meanjy表示SM_Bj模式在y方向的均值。
209:如果起点相邻的两个时间序列模式之间的标准差小于等于第三阈值,且起点相邻的两个时间序列模式之间的均值小于等于第四阈值,则确定起点相邻的两个时间序列模式构成带有形变的连续模式。
针对该步骤,如果起点相邻的两个时间序列模式之间的标准差小于等于第三阈值,且起点相邻的两个时间序列模式之间的均值小于等于第四阈值,则确定起点相邻的两个时间序列模式构成带有形变的连续模式。
将确定的带有形变的连续模式在坐标系中表示出来时,由于带有形变的连续模式都有一个起点和终点,因此,在坐标系中表示的带有形变的连续模式也有一个起点和终点。具体的带有形变的连续模式为:SM_Dp=[(Mp_begin,Mp_end)其中,SM_Dp表示带有形变的连续模式在坐标系中的位置,Mp_begin表示带有形变的连续模式在坐标系中的起点,Mp_end表示带有形变的连续模式在坐标系中的终点。
210:从带有形变的连续模式及未构成带有形变的连续模式的时间序列模式中选择一个模式作为第一模式,选择另一个模式作为第二模式,将第一模式与第二模式的起点之间的距离与第一预设距离进行比较。
本步骤在上述步骤的基础上将从带有形变的连续模式及未构成带有形变的连续模式的时间序列模式中选择一个模式作为第一模式,并选择另一个模式作为第二模式。将第一模式和第二模式的起点之间的距离与第一预设距离进行比较,进而将其他可能存在的更长的模式识别出来。
其中,从带有形变的连续模式及未构成带有形变的连续模式的时间序列模式中选择一个模式作为第一模式,选择另一个模式作为第二模式时,可以随机选取第一模式和第二模式,本实施例不对选取方式进行限定。此外,带有形变的连续模式及未构成带有形变的连续模式的时间序列模式中的每个模式都可以和其他模式进行比较,从而将所有更长模式识别出来。
211:如果第一模式的起点与第二模式的起点之间的距离大于第一预设距离,则将第一模式与第二模式之间的标准差与第三阈值进行比较,并将第一模式与第二模式之间的均值与第四阈值进行比较。
该步骤中,将第一模式与第二模式之间的标准差与第三阈值进行比较,并将第一模式与第二模式之间的均值与第四阈值进行比较的原理与上述步骤208的具体实现原理相同,详见上述步骤208的内容,此处不再赘述。
212:如果第一模式与第二模式之间的标准差小于等于第三阈值,且第一模式与第二模式之间的均值小于等于第四阈值,则将第一模式与第二模式构成带有间隔的连续模式。
针对该步骤,以设定第一预设距离为2个数据长度,选择出的第一模式为时间序列模式1,第二模式为时间序列模式2为例,如果时间序列模式1和2的起点之间的距离为3个数据长度,由于时间序列模式1和2的起点之间的距离为3个数据长度,3个数据长度大于2个数据长度,若这两个模式的比例缩放近似相等,位移近似相等,即标准差小于等于第三阈值,均值小于等于第四阈值,则可将这两个时间序列模式构成带有间隔的时间序列模式。
进一步地,如果第一模式的起点与第二模式的起点之间的距离大于第一预设距离,第一模式与第二模式在横轴和纵轴的比例缩放近似相等,且这两个模式在横轴和纵轴的位移也近似相等,则这两个模式可以构成带有间隔的连续模式。由于第一模式和第二模式是任意选取的,因此,在识别出带有间隔的连续模式时,需要经过多次比较。识别出的每一个带有形变的连续模式及未构成带有形变的连续模式都可以作为第一模式,在选定第一模式后,剩余的任意模式都可作为第二模式。这样通过上述过程,最终可得到一系列带有间隔的时间序列模式。
对于上述识别出带有间隔的时间序列模式的过程,下面以设定第一阈值为2个数据长度为例,进行详细的解释说明。
如图9所示,需要分析的时间序列的长度为600,其中有三个时间序列模式存在。时间序列模式1在需要分析的时间序列中位置为51-100和351-400,时间序列模式2在需要分析的序列中的位置为101-150和401-450,时间序列模式3在需要分析的时间序列中的位置为200-300和500-600。其中,时间序列模式1的起点位置为51-100,时间序列模式1的终点位置为351-450;时间序列模式2的起点位置为101-150,时间序列模式2的终点位置为401-450,时间序列模式3的起点位置为200-300,时间序列模式3的终点位置为500-600。在进行模式连接时,时间序列模式1的起点位置51-100和时间序列模式2的起点位置101-150之间的距离为1个数据长度,1个数据长度小于2个数据长度,满足连接条件,而且均值和方差也在允许的范围,因此,将时间序列模式1的起点位置和时间序列模式2的起点位置进行连接,得到时间序列模式4的起点51-150。同理,时间序列模式1的终点位置和时间序列模式2的终点位置也可以进行连接,得到时间序列模式4的终点351-450。对于连接后的时间序列模式3和时间序列模式4,由于起点的间隔大小相同,时间序列模式3和时间序列模式4的起点均值和方差也满足条件,因此,可以构成带有间隔的连续模式。
进一步地,如果存在起点有重叠的两个带有形变的连续模式,则本实施例提供的方法还包括:将起点有重叠的两个带有形变的连续模式合并为一个带有形变的连续模式。
针对该步骤,在实际应用中,同为带有形变的连续模式间可能构成更长模式,如带有形变的连续模式A和带有形变的连续模式B可能构成更长模式C。为了识别出可能存在的更长时间序列模式,本实施例中将起点有重叠的带有形变的连续模式合并为一个带有形变的连续模式。
进一步地,本实施例提供的方法在将起点有重叠的带有形变的连续模式合并为一个带有形变的连续模式时,还需要判断起点有重叠的带有形变的连续模式的重叠部分是否满足第一预设条件,本实施例不对该第一预设条件进行限定。具体实施时,该第一预设条件可以是如果起点有重叠的两个时间序列模式的重叠部分分别占有重叠的两个时间序列模式的比例达到一定的值,则认为起点有重叠的带有形变的连续模式的重叠部分满足第一预设条件,则继续执行将起点有重叠的两个带有形变的连续模式合并为一个带有形变的连续模式。
对于上述过程为了便于理解,下面以起点有重叠的两个带有形变的连续模式为SM_Bi和SM_Bj为例,进行详细的介绍。
其中,SM_Bi=(Mi_begin,Mi_end)=[(si_begin_x,si_begin_y),(si_end_x,si_end_y)],SM_Bj=(Mj_begin,Mj_end)=[(sj_begin_x,sj_begin_y),(sj_end_x,sj_end_y)]。由于时间序列模式间的重叠包括水平方向重叠和垂直方向重叠两种,因此,在判断两个带有形变的连续模式的起点是否有重叠时,需对水平方向重叠和垂直方向重叠分别进行判断。在判断这两个带有形变的连续模式在水平方向是否有重叠时,可通过判断overlap_x:=min(si_end_x,sj_end_x)-max(si_begin_x,sj_begin_x)是否为0实现。若overlap_x为0,则判定这两个带有形变的连续模式的起点在水平方向没有重叠;若overlap_x不为0,则判定这两个带有形变的连续模式的起点在水平方向有重叠。在判断这两个带有形变的连续模式的起点在垂直方向是否有重叠时,可通过判断verlap_y:=min(si_end_y,sj_end_y)-max(si_begin_y,sj_begin_y)是否为0来实现。若overlap_y为0,则判定这两个带有形变的连续模式在垂直方向没有重叠;若overlap_y不为0,则判定这两个带有形变的连续模式在垂直方向有重叠。
当判断出overlap_x:=min(si_end_x,sj_end_x)-max(si_begin_x,sj_begin_x)不为0,若overlap_x/(si_end_x-si_begin_x)≥θ,且overlap_x/(sj_end_x-sj_begin_x)≥θ,即起点有重叠的两个带有形变的连续模式中包含的相同子序列占这两个模式的起点的比例达到一定的值,或者当overlap_y:=min(si_end_y,sj_end_y)-max(si_begin_y,sj_begin_y)不为0,
overlap_y/(si_end_y-si_begin_y)≥θ,且overlap_y/(sj_end_y-sj_begin_y)≥θ,即起点有重叠的两个带有形变的连续模式中包含的相同的子序列占这两个模式的起点的比例达到一定的值,则将这两个起点有重叠的带有形变的连续模式合并为一个带有形变的连续模式。
对于上述判断过程为了便于理解,下面以一个具体的例子进行介绍。
如图8所示,i模式为坐标系中的一个带有形变的连续模式。其中,i模式在坐标系中的起点为(x1,y1),终点为(x2,y2);j模式为坐标系中的一个带有形变的连续模式。j模式在坐标系中的起点为(x3,y3),终点为(x4,y4)。从图中可以看出,i模式和j模式有重叠,若要判断这两个模式能否合并,以判断这两个模式水平方向重叠为例,需要判断这两个模式是否满足预设条件。由于i模式水平部分为(sj_end_x-sj_begin_x),即x2-x1,水平重叠部分占i模式水平部分的比例为overlap_x/(sj_end_x-sj_begin_x),即x2-x3/x2-x1,。同理,水平重叠部分占j模式水平部分的比例为x2-x3/x4-x3,当x2-x3/x2-x1≥θ且x2-x3/x4-x3≥θ,可将带有形变的连续模式i和j合并为一个带有形变的连续模式。
本实施例在得到合并后的带有形变的连续模式后,还会将合并后带有形变的连续模式在坐标系中表示出来。由于合并后带有形变的连续模式由几个带有形变的连续模式组成,而每个带有形变的连续模式都只有一个起点和终点,因此,合并后的带有形变的连续模式将由几个分别具有起点和终点的带有形变的连续模式组成。具体的合并后的带有形变的连续模式为:SM_Cp=[(sp_1_begin,sp_1_end),…,(sp_k_begin,sp_k_end)],从合并后的带有形变的连续模式可以看出,该合并后的带有形变的连续模式由k个带有形变的连续模式组成。其中,SM_Cp表示合并后的第p个带有形变的连续模式在坐标系中的位置,(sp_1_begin,sp_1_end)表示第一个带有形变的连续模式在坐标系中的位置,(sp_k_begin,sp_k_end)表示第k个带有形变的连续模式在坐标系中的位置,sp_1_begin表示第一个带有形变的连续模式在坐标系中的起点,sp_1_end表示第一个带有形变的连续模式在坐标系中的终点,sp_k_begin表示第k个带有形变的连续模式在坐标系中的起点,sp_k_end表示第k个带有形变的连续模式在坐标系中的终点。
进一步地,如果存在起点有重叠的两个带有间隔的连续模式,则本实施例提供的方法还包括:将起点有重叠且重叠部分满足预设条件的两个带有间隔的连续模式合并为一个带有间隔的连续模式。
针对该步骤,若上述步骤中构成的带有间隔的连续模式的起点有重叠,即构成带有间隔的连续模式的起点有相同的子序列,且重叠部分满足第二预设条件,即构成带有间隔的连续模式的起点的相同的子序列占带有间隔的连续模式的起点超过一定的值,则可将起点有重叠的两个带有间隔的连续模式合并为一个带有间隔的连续模式。
对于上述过程,以将合并后的带有形变的时间序列在坐标系中标记为例。具体实施时,首先判断这两个带有间隔的连续模式的起点是否有重叠。由于时间序列的重叠包括水平方向重叠和垂直方向重叠两种,因此,在判断这两个带有间隔的连续模式是否有重叠时,需对水平方向重叠和垂直方向重叠分别进行判断。在判断这两个带有间隔的连续模式在水平方向是否有重叠时,可通过判断overlap_x:=min(si_end_x,sj_end_x)-max(si_begin_x,sj_begin_x)是否为0,若overlap_x为0,则判定这两个带有间隔的连续模式的起点在水平方向没有重叠;若overlap_x不为0,则判定这两个带有间隔的连续模式的起点在水平方向有重叠。在判断这两个带有间隔的连续模式的起点在垂直方向是否有重叠时,可通过判断verlap_y:=min(si_end_y,sj_end_y)-max(si_begin_y,sj_begin_y)是否为0,若overlap_y为0,则判定这两个带有间隔的连续模式的起点在垂直方向没有重叠;若overlap_y不为0,则判定这两个带有间隔的连续模式的起点在垂直方向有重叠。
在判断两个带有间隔的连续模式的起点有重叠后,还需确定起点有重叠的两个带有间隔的连续模式之间的重叠范围是否满足第二预设条件,如果满足第二预设条件,则执行将起点有重叠的两个带有间隔的连续模式合并为一个带有间隔的连续模式步骤。
具体的判断时,如果判断出overlap_x:=min(si_end_x,sj_end_x)-max(si_begin_x,sj_begin_x)不为0,即这两个带有间隔的连续模式的起点在水平方向有重叠。进一步地,如果overlap_x/(si_end_x-si_begin_x)≥θ,且overlap_x/(sj_end_x-sj_begin_x)≥θ,即这两个带有间隔的连续模式的起点在水平方向重叠部分占这两个模式的比例超过一定的值,或者overlap_y:=min(si_end_y,sj_end_y)-max(si_begin_y,sj_begin_y)不为0,即这两个带有间隔的连续模式的起点在垂直方向有重叠,如果overlap_y/(si_end_y-si_begin_y)≥θ且overlap_y/(sj_end_y-sj_begin_y)≥θ,即这两个带有间隔的连续模式的起点在垂直方向重叠部分占这两个模式的比例超过一定的值,则可这两个带有间隔的连续模式合并为一个带有间隔的连续模式。其中,θ用户可根据对时间序列的需求进行设定,本实施例对θ的大小不作具体的限定。
由于带有间隔的连续模式由多个连续片段组合而成,而每个片段的判断过程与带有形变的时间序列模式的判断过程相同,因此,带有间隔的连续模式的可分片段进行合并。
为了便于理解,下面以一个具体的例子进行详细的解释说明。
如图10所示,i模式为坐标系中的一个带有形变间隔的连续模式,其中,i模式在坐标系中由两个连续的时间序列片段1和时间序列2组成,时间序列片段1的起点为(x1,y1),终点为(x2,y2),时间序列片段2的起点为(x3,y3),终点为(x4,y4);j模式为坐标系中的另一个带有间隔的连续模式,其中,j模式在坐标系中由两个连续的时间序列片段3和4组成,时间序列片段3的起点为(x5,y5),终点为(x6,y6),时间序列片段4的起点为(x7,y7),终点为(x8,y8),从图中可以看出,i模式的两个时间序列片段1和时间序列2分别与j模式的两个片段3和4有重叠,若要判断这两个模式能否合并,还需分别判断每个片段重叠部分是否满足预设条件。以判断这两个模式水平方向重叠为例,对于时间序列片段1和时间序列片段3的水平方向的重叠为overlap_x1:=min(x2,x6)-max(x1,x5)=x2-x5,由于片段1水平部分为x2-x1,时间序列片段1水平部分为x6-x5因此,时间序列片段1和时间序列片段3的水平重叠部分占时间序列片段时间序列1和时间序列片段3水平部分的比例分别为x2-x5/x2-x1和x2-x5/x6-x5,同理,时间序列片段2和时间序列片段4的水平重叠部分占时间序列片段2和时间序列片段4水平部分的比例分别为x4-x7/x4-x3和x4-x7/x8-x7,若x2-x5/x2-x1≥θ,x2-x5/x6-x5≥θ且x4-x7/x4-x3≥θ,x4-x7/x8-x7≥θ,则可将带有间隔的连续模式i和j合并为一个带有间隔连续模式。
本实施例中将带有间隔的连续模式合并后,还将合并后的带有间隔的连续模式在坐标系中表示出来。由于合并后的带有间隔的连续模式由几个带有间隔的连续模式组成,每个带有间隔的连续模式又由多个连续模式片段组成,而每个连续模式片段都有各自的起点和终点。因此,合并后的带有间隔的连续模式由多个具有起点和终点的连续模式片段组成的带有间隔的连续模式组成,其中合并后的带有间隔的连续模式的起点在坐标系中的位置为组成合并后的第一个带有间隔的连续模式在坐标系中的位置,合并后的带有间隔的连续模式的终点在坐标系中的位置为组成合并后的最后一个带有间隔的连续模式在坐标系中的位置。具体的合并后的带有间隔的连续模式为:
{ [ ( s q _ 1 _ begin , s q _ 1 _ end ) , . . . , ( s q _ n q _ begin , s q _ n q _ end ) ] 1 , . . . , [ ( s q _ 1 _ begin , s q _ 1 _ eng ) , . . . , ( s q _ n q _ begin , s q _ n q _ end ) ] m q }
从合并后的带有间隔的连续模式可以看出,该合并后的带有间隔的连续模式由mq个带有间隔的连续模式组成。其中,表示第一个带有间隔的连续模式在坐标系中的位置,表示第mq个带有间隔的连续模式在坐标系中的位置。对于mq个带有间隔的连续模式中任一带有间隔的连续模式,又由nq个连续模式组成,如第一个带有间隔的连续模式其中(sq_1_begin,sq_1_end)为组成第一个带有间隔的连续模式的第一个时间序列片段在坐标系中的位置,为组成第一个带有间隔的连续模式的第nq个时间序列片段在坐标系中的位置,sq_1_begin为组成第一个带有间隔的连续模式的第一个时间序列片段在坐标系中的起点,sq_1_end为组成第一个带有间隔的连续模式的第一个时间序列片段在坐标系中的终点。
需要说明的是,本实施例通过将初始模式间的距离与第一预设距离进行比较,将带有形变的连续模式识别出来,并将有重叠的带有形变的连续模式进行合并。将合并后的带有形变的连续模式及未构成带有形变的连续模式进行整理及合并,得到合并后的带有间隔的连续模式,在这一过程中,可能存在与其他模式都不能组成连续模式的时间序列模式,对于这些模式,本实施例中统称为其余连续模式。在实际应用中,其余模式的存在是随机的,当用户设定的第一预设距离及其他参数恰当时,在识别出的时间序列模式中可能会存在带有形变的连续模式、带有间隔的连续模式及其与连续模式这三种类型。
本发明实施例提供的方法,通过将每个符号化的子序列进行预设次数的随机投影,并记录在预设次数的随机投影过程中每个符号化的子序列与其他符号化的子序列在投影位置上具有相同符号的次数后,将记录的达到第一阈值的次数所对应的每两个归一化的子序列构成一个初始模式,之后将长度相同的每两个初始模式的起点与起点之间的归一化的子序列构成一个时间序列片段,终点与终点之间的归一化的子序列构成一个时间序列片段,每组时间序列片段及未进行连接的初始模式分别构成时间序列模式,从而实现了将子序列连接成一个大的时间序列模式,不仅提供了明确的识别方法,且识别出的时间序列模式具有更高的准确性及可靠性。
实施例三
本发明实施例提供了一种识别时间序列模式的装置,该装置用于执行上述实施例一或实施例二所提供的识别时间序列模式的方法。参见图11,该装置包括:
获取模块1101,用于获取需要分析的时间序列;
预处理模块1102,用于对时间序列进行预处理,得到至少两个归一化的子序列;
转化模块1103,用于将每个归一化的子序列转化为符号化的子序列;
投影模块1104,用于对每个符号化的子序列进行预设次数的随机投影;
记录模块1105,用于记录每个符号化的子序列在预设次数的随机投影过程中与其他符号化的子序列在投影位置上具有相同符号的次数;
第一比较模块1106,用于将记录的次数与第一阈值进行比较,并将大于第一阈值的每个次数所对应的每两个归一化的子序列构成一个初始模式,每个初始模式包括的两个归一化的子序列中位置靠前的子序列为初始模式的起点,位置靠后的子序列为初始模式的终点,每个初始模式的起点与终点之间的距离为初始模式的长度;
第二比较模块1107,用于比较长度相同的每两个初始模式的起点之间的距离,将距离小于第二阈值且长度相同的每两个初始模式的起点与起点之间的归一化的子序列构成一个时间序列片段,终点与终点之间的归一化的子序列构成一个时间序列片段,得到一组时间序列片段,每组时间序列片段及未组成时间序列片段的初始模式分别构成时间序列模式。
参见图12,预处理模块1102包括:
划分单元11021,用于以预设窗口大小将时间序列划分成至少两个子序列;
处理单元11022,用于对每个子序列进行Z归一化处理,得到至少两个归一化的子序列。
参见图13,装置还包括:
第三比较模块1108,用于将起点相邻的每两个时间序列模式的起点之间的距离与第一预设距离进行比较;
第四比较模块1109,用于当存在起点相邻的两个时间序列模式的起点之间的距离小于等于第一预设距离时,将起点相邻的两个时间序列模式之间的标准差与第三阈值进行比较,并将起点相邻的两个时间序列模式之间的均值与第四阈值进行比较;
第一确定模块1110,用于当起点相邻的两个时间序列模式之间的标准差小于等于第三阈值,且起点相邻的两个时间序列模式之间的均值小于等于第四阈值时,确定起点相邻的两个时间序列模式构成带有形变的连续模式。
参见图14,该装置还包括:
选择模块1111,用于从带有形变的连续模式及未构成带有形变的连续模式的时间序列模式中选择一个模式作为第一模式,并选择另一个模式作为第二模式;
第五比较模块1112,用于将第一模式的起点与第二模式的起点之间的距离与第一预设距离进行比较;
第六比较模块1113,用于当第一模式的起点与第二模式的起点之间的距离大于第一预设距离时,将第一模式与第二模式之间的标准差与第三阈值进行比较,并将第一模式与第二模式之间的均值与第四阈值进行比较;
第二确定模块1114,用于当第一模式与第二模式之间的标准差小于等于第三阈值,且第一模式与第二模式之间的均值小于等于第四阈值时,确定第一模式与第二模式构成带有间隔的连续模式。
参见图15,该装置还包括:
第一合并模块1115,用于当存在起点有重叠的两个带有形变的连续模式时,将起点有重叠的两个带有形变的连续模式合并为一个带有形变的连续模式。
参见图16,该装置还包括:
第三确定模块1116,用于确定起点有重叠的两个带有形变的连续模式之间的重叠范围是否满足第一预设条件;
第一合并模块1115,用于当满足第一预设条件时,执行将起点有重叠的两个带有形变的连续模式合并为一个带有形变的连续模式的步骤。
参见图17,该装置还包括:
第二合并模块1117,用于当存在起点有重叠的两个带有间隔的连续模式时,将起点有重叠的两个带有间隔的连续模式合并为一个带有间隔的连续模式。
参见图18,装置还包括:
第四确定模块1118,用于确定起点有重叠的两个带有间隔的连续模式之间的重叠范围是否满足预设条件;
第二合并模块1117,用于当满足预设条件时,执行将起点有重叠的两个带有间隔的连续模式合并为一个带有间隔的连续模式的步骤。
本发明实施例提供的装置,通过将每个符号化的子序列进行预设次数的随机投影,并记录在预设次数的随机投影过程中每个符号化的子序列与其他符号化的子序列在投影位置上具有相同符号的次数后,将记录的达到第一阈值的次数所对应的每两个归一化的子序列构成一个初始模式,之后将长度相同的每两个初始模式的起点与起点之间的归一化的子序列构成一个时间序列片段,终点与终点之间的归一化的子序列构成一个时间序列片段,每组时间序列片段及未进行连接的初始模式分别构成时间序列模式,从而实现了将子序列连接成一个大的时间序列模式,不仅提供了明确的识别方法,且由于时间序列模式中的子序列之间的距离小于第二阈值,因而时间序列模式中的子序列之间的位移差别较小,从而使识别出的时间序列模式具有更高的准确性及可靠性。
需要说明的是:上述实施例提供的识别时间序列模式的装置在识别时间序列模式时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将识别时间序列模式的装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的识别时间序列模式的装置与识别时间序列模式的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (16)

1.一种识别时间序列模式的方法,其特征在于,所述方法包括:
获取需要分析的时间序列,对所述时间序列进行预处理,得到至少两个归一化的子序列;
将每个归一化的子序列转化为符号化的子序列,并对每个符号化的子序列进行预设次数的随机投影;
记录每个符号化的子序列在所述预设次数的随机投影过程中与其他符号化的子序列在投影位置上具有相同符号的次数;
将记录的次数与第一阈值进行比较,并将大于第一阈值的每个次数所对应的每两个归一化的子序列构成一个初始模式,每个初始模式包括的两个归一化的子序列中位置靠前的子序列为所述初始模式的起点,位置靠后的子序列为所述初始模式的终点,每个初始模式的起点与终点之间的距离为初始模式的长度;
比较长度相同的每两个初始模式的起点之间的距离,将距离小于第二阈值且长度相同的每两个初始模式的起点与起点之间的归一化的子序列构成一个时间序列片段,终点与终点之间的归一化的子序列构成一个时间序列片段,得到一组时间序列片段,每组时间序列片段及未组成时间序列片段的初始模式分别构成时间序列模式。
2.根据权利要求1所述的方法,其特征在于,所述对所述时间序列进行预处理,得到至少两个归一化的子序列,包括:
以预设窗口大小将所述时间序列划分成至少两个子序列;
对每个子序列进行Z归一化处理,得到至少两个归一化的子序列。
3.根据权利要求1所述的方法,其特征在于,所述每组时间序列片段及未组成时间序列片段的初始模式分别构成时间序列模式之后,还包括:
将起点相邻的每两个时间序列模式的起点之间的距离与第一预设距离进行比较;
如果存在起点相邻的两个时间序列模式的起点之间的距离小于等于第一预设距离,则将所述起点相邻的两个时间序列模式之间的标准差与第三阈值进行比较,并将所述起点相邻的两个时间序列模式之间的均值与第四阈值进行比较;
如果所述起点相邻的两个时间序列模式之间的标准差小于等于第三阈值,且所述起点相邻的两个时间序列模式之间的均值小于等于第四阈值,则确定所述起点相邻的两个时间序列模式构成带有形变的连续模式。
4.根据权利要求3所述的方法,其特征在于,所述确定所述起点相邻的两个时间序列模式构成带有形变的连续模式之后,还包括:
从带有形变的连续模式及未构成带有形变的连续模式的时间序列模式中选择一个模式作为第一模式,并选择另一个模式作为第二模式,将所述第一模式的起点与所述第二模式的起点之间的距离与所述第一预设距离进行比较;
如果所述第一模式的起点与所述第二模式的起点之间的距离大于所述第一预设距离,将所述第一模式与所述第二模式之间的标准差与所述第三阈值进行比较,并将所述第一模式与所述第二模式之间的均值与所述第四阈值进行比较;
如果所述第一模式与所述第二模式之间的标准差小于等于所述第三阈值,且所述第一模式与所述第二模式之间的均值小于等于所述第四阈值,则确定所述第一模式与所述第二模式构成带有间隔的连续模式。
5.根据权利要求3或4所述的方法,其特征在于,所述确定所述起点相邻的两个时间序列模式构成带有形变的连续模式之后,还包括:
如果存在起点有重叠的两个带有形变的连续模式,则将起点有重叠的两个带有形变的连续模式合并为一个带有形变的连续模式。
6.根据权利要求5所述的方法,其特征在于,所述将起点有重叠的两个带有形变的连续模式合并为一个带有形变的连续模式之前,还包括:
确定所述起点有重叠的两个带有形变的连续模式之间的重叠范围是否满足第一预设条件,如果满足第一预设条件,则执行将起点有重叠的两个带有形变的连续模式合并为一个带有形变的连续模式的步骤。
7.根据权利要求4所述的方法,其特征在于,所述确定所述第一模式与所述第二模式构成带有间隔的连续模式之后,还包括:
如果存在起点有重叠的两个带有间隔的连续模式,则将起点有重叠的两个带有间隔的连续模式合并为一个带有间隔的连续模式。
8.根据权利要求7所述的方法,其特征在于,所述将起点有重叠的两个带有间隔的连续模式合并为一个带有间隔的连续模式之前,还包括:
确定所述起点有重叠的两个带有间隔的连续模式之间的重叠范围是否满足第二预设条件,如果满足第二预设条件,则执行将起点有重叠的两个带有间隔的连续模式合并为一个带有间隔的连续模式的步骤。
9.一种识别时间序列模式的装置,其特征在于,所述装置包括:
获取模块,用于获取需要分析的时间序列;
预处理模块,用于对所述时间序列进行预处理,得到至少两个归一化的子序列;
转化模块,用于将每个归一化的子序列转化为符号化的子序列;
投影模块,用于对每个符号化的子序列进行预设次数的随机投影;
记录模块,用于记录每个符号化的子序列在所述预设次数的随机投影过程中与其他符号化的子序列在投影位置上具有相同符号的次数;
第一比较模块,用于将记录的次数与第一阈值进行比较,并将大于第一阈值的每个次数所对应的每两个归一化的子序列构成一个初始模式,每个初始模式包括的两个归一化的子序列中位置靠前的子序列为所述初始模式的起点,位置靠后的子序列为所述初始模式的终点,每个初始模式的起点与终点之间的距离为初始模式的长度;
第二比较模块,用于比较长度相同的每两个初始模式的起点之间的距离,将距离小于第二阈值且长度相同的每两个初始模式的起点与起点之间的归一化的子序列构成一个时间序列片段,终点与终点之间的归一化的子序列构成一个时间序列片段,得到一组时间序列片段,每组时间序列片段及未组成时间序列片段的初始模式分别构成时间序列模式。
10.根据权利要求9所述的装置,其特征在于,所述预处理模块,包括:
划分单元,用于以预设窗口大小将所述时间序列划分成至少两个子序列;
处理单元,用于对每个子序列进行Z归一化处理,得到至少两个归一化的子序列。
11.根据权利要求9所述的装置,其特征在于,所述装置还包括:
第三比较模块,用于将起点相邻的每两个时间序列模式的起点之间的距离与第一预设距离进行比较;
第四比较模块,用于当存在起点相邻的两个时间序列模式的起点之间的距离小于等于第一预设距离时,将所述起点相邻的两个时间序列模式之间的标准差与第三阈值进行比较,并将所述起点相邻的两个时间序列模式之间的均值与第四阈值进行比较;
第一确定模块,用于当所述起点相邻的两个时间序列模式之间的标准差小于等于第三阈值,且所述起点相邻的两个时间序列模式之间的均值小于等于第四阈值时,确定所述起点相邻的两个时间序列模式构成带有形变的连续模式。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:
选择模块,用于从带有形变的连续模式及未构成带有形变的连续模式的时间序列模式中选择一个模式作为第一模式,并选择另一个模式作为第二模式;
第五比较模块,用于将所述第一模式的起点与所述第二模式的起点之间的距离与所述第一预设距离进行比较;
第六比较模块,用于当所述第一模式的起点与所述第二模式的起点之间的距离大于所述第一预设距离时,将所述第一模式与所述第二模式之间的标准差与所述第三阈值进行比较,并将所述第一模式与所述第二模式之间的均值与所述第四阈值进行比较;
第二确定模块,用于当所述第一模式与所述第二模式之间的标准差小于等于所述第三阈值,且所述第一模式与所述第二模式之间的均值小于等于所述第四阈值时,确定所述第一模式与所述第二模式构成带有间隔的连续模式。
13.根据权利要求11或12所述的装置,其特征在于,所述装置还包括:
第一合并模块,用于当存在起点有重叠的两个带有形变的连续模式时,将起点有重叠的两个带有形变的连续模式合并为一个带有形变的连续模式。
14.根据权利要求13所述的装置,其特征在于,所述装置还包括:
第三确定模块,用于确定所述起点有重叠的两个带有形变的连续模式之间的重叠范围是否满足第一预设条件;
所述第一合并模块,用于当满足第一预设条件时,执行将起点有重叠的两个带有形变的连续模式合并为一个带有形变的连续模式的步骤。
15.根据权利要求12所述的装置,其特征在于,所述装置还包括:
第二合并模块,用于当存在起点有重叠的两个带有间隔的连续模式时,将起点有重叠的两个带有间隔的连续模式合并为一个带有间隔的连续模式。
16.根据权利要求15所述的装置,其特征在于,所述装置还包括:
第四确定模块,用于确定所述起点有重叠的两个带有间隔的连续模式之间的重叠范围是否满足第二预设条件;
所述第二合并模块,用于当满足第二预设条件时,执行将起点有重叠的两个带有间隔的连续模式合并为一个带有间隔的连续模式的步骤。
CN201310461049.2A 2013-09-30 2013-09-30 识别时间序列模式的方法和装置 Active CN104516914B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310461049.2A CN104516914B (zh) 2013-09-30 2013-09-30 识别时间序列模式的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310461049.2A CN104516914B (zh) 2013-09-30 2013-09-30 识别时间序列模式的方法和装置

Publications (2)

Publication Number Publication Date
CN104516914A true CN104516914A (zh) 2015-04-15
CN104516914B CN104516914B (zh) 2019-11-19

Family

ID=52792224

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310461049.2A Active CN104516914B (zh) 2013-09-30 2013-09-30 识别时间序列模式的方法和装置

Country Status (1)

Country Link
CN (1) CN104516914B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106384505A (zh) * 2016-09-08 2017-02-08 广东工业大学 一种交通流相似性的判别方法及系统
CN106874523A (zh) * 2017-03-30 2017-06-20 浙江大学城市学院 基于时间片段集的温室气候分类与调控规则构造方法
CN107992840A (zh) * 2017-12-12 2018-05-04 清华大学 多分段多阈值约束的时间序列模式查找方法和系统
CN110288003A (zh) * 2019-05-29 2019-09-27 北京师范大学 数据变化识别方法及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102073883A (zh) * 2009-11-19 2011-05-25 夏普株式会社 检测时间序列数据中的子序列的方法和设备
CN102495883A (zh) * 2011-12-08 2012-06-13 河海大学 一种水文时间序列的异步周期模式挖掘方法
CN102867118A (zh) * 2012-08-30 2013-01-09 重庆汉光电子工程有限责任公司 不确定时间序列中不确定频繁模式的确定方法
US20130110753A1 (en) * 2011-10-31 2013-05-02 Ming C. Hao Combining multivariate time-series prediction with motif discovery

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102073883A (zh) * 2009-11-19 2011-05-25 夏普株式会社 检测时间序列数据中的子序列的方法和设备
US20130110753A1 (en) * 2011-10-31 2013-05-02 Ming C. Hao Combining multivariate time-series prediction with motif discovery
CN102495883A (zh) * 2011-12-08 2012-06-13 河海大学 一种水文时间序列的异步周期模式挖掘方法
CN102867118A (zh) * 2012-08-30 2013-01-09 重庆汉光电子工程有限责任公司 不确定时间序列中不确定频繁模式的确定方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HENG TANG ET AL.: "Discovering original motifs with different lengths from time series", 《KNOWLEDGE-BASED SYSTEMS》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106384505A (zh) * 2016-09-08 2017-02-08 广东工业大学 一种交通流相似性的判别方法及系统
CN106874523A (zh) * 2017-03-30 2017-06-20 浙江大学城市学院 基于时间片段集的温室气候分类与调控规则构造方法
CN107992840A (zh) * 2017-12-12 2018-05-04 清华大学 多分段多阈值约束的时间序列模式查找方法和系统
CN107992840B (zh) * 2017-12-12 2019-02-05 清华大学 多分段多阈值约束的时间序列模式查找方法和系统
CN110288003A (zh) * 2019-05-29 2019-09-27 北京师范大学 数据变化识别方法及设备
CN110288003B (zh) * 2019-05-29 2022-01-18 北京师范大学 数据变化识别方法及设备

Also Published As

Publication number Publication date
CN104516914B (zh) 2019-11-19

Similar Documents

Publication Publication Date Title
CN104516914A (zh) 识别时间序列模式的方法和装置
CN106156082A (zh) 一种本体对齐方法及装置
CN102194133B (zh) 基于数据聚类的适应性图像sift特征匹配方法
CN111709244A (zh) 一种用于矛盾纠纷事件因果关系识别的深度学习方法
CN114372570A (zh) 一种多模态车辆轨迹预测方法
CN107704985A (zh) 一种动态策略的差分进化柔性车间优化调度方法
Abhishek et al. A nonparametric sequential test for online randomized experiments
CN106570643A (zh) 基于集对分析的配电网降损方案优选方法
CN106156245A (zh) 一种电子地图中的线要素合并方法及装置
CN109992785A (zh) 基于机器学习的内容计算方法、装置及设备
CN108229692B (zh) 一种基于双重对比学习的机器学习识别方法
CN103150364A (zh) 一种时间序列特征提取方法
CN110796060B (zh) 高速行车路线确定方法、装置、设备和存储介质
CN108345943B (zh) 一种基于嵌入编码与对比学习的机器学习识别方法
CN101604336A (zh) 一种从源头进行数据检验、修正的方法和系统
CN108304467A (zh) 用于文本间匹配的方法
CN108919750A (zh) 一种基于非均匀b样条的加工轨迹实时规划方法及装置
CN103309434A (zh) 一种指令识别方法和电子设备
CN110298515A (zh) 基于残差思想的钢卷仓储吞吐时间序列预测方法及系统
CN109857740A (zh) 字符串的存储方法、匹配方法、电子设备及可读存储介质
CN109299910A (zh) 数据汇总方法、装置、计算机设备和存储介质
CN204680034U (zh) 指纹识别处理系统
CN110489430B (zh) 一种基于数据块签名和校验的溯源方法及其系统
CN105095239A (zh) 一种不确定图查询方法及装置
CN111027429B (zh) 一种用于电气图纸智能识别的数据预处理方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant