CN109542952A - 一种时间序列异常点的检测方法 - Google Patents
一种时间序列异常点的检测方法 Download PDFInfo
- Publication number
- CN109542952A CN109542952A CN201811410281.2A CN201811410281A CN109542952A CN 109542952 A CN109542952 A CN 109542952A CN 201811410281 A CN201811410281 A CN 201811410281A CN 109542952 A CN109542952 A CN 109542952A
- Authority
- CN
- China
- Prior art keywords
- node
- symbol
- tree
- time series
- string
- 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.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 43
- 230000002159 abnormal effect Effects 0.000 title claims abstract description 40
- 238000012549 training Methods 0.000 claims abstract description 16
- 238000000034 method Methods 0.000 claims description 23
- 230000008569 process Effects 0.000 claims description 5
- 230000000694 effects Effects 0.000 abstract description 10
- 238000013480 data collection Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 238000002474 experimental method Methods 0.000 description 5
- 230000011218 segmentation Effects 0.000 description 4
- 230000007774 longterm Effects 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000010130 dispersion processing Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000002547 anomalous effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000013450 outlier detection Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明技术方案公开了一种时间序列异常点的检测方法,包括如下步骤:S1:离散化原始时间序列并获得符号串;S2:对符号串中数据进行标记,形成符号化的训练数据集;S3:根据符号化的训练数据集构建概率后缀树;S4:根据所述概率后缀树检测待检测数据序列中的异常点。本发明技术方案的时间序列异常点的检测方法能够找出偏离常规模式的异常模式,能够较准确的揭示出数据中隐含的信息,从而解决很多实际应用问题,时间序列经过离散化处理转换为符号串后可以表示为概率后缀树,更加简洁且可以更加高效地计算不同符号串的后缀符号的概率,且查全率高、检测效果佳。
Description
技术领域
本发明涉及数据检测领域,尤其涉及一种时间序列异常点的检测方法。
背景技术
时间序列数据是一种在日常应用中经常出现的数据形式。它在航空航天、医疗数据分析、金融数据分析、网络异常行为检测、天气预测等各个领域都有着广泛的应用。在这些应用领域中,挖掘序列中的频繁模式可能无法揭示数据行为中隐藏的异常信息,但这些异常信息通常能反映一定的问题,例如,用户日常操作信息中的异常数据可能意味着该账户密码泄露或是账户被盗用。医疗健康数据中的异常信息可能代表某种疾病正在蔓延。如果不能挖掘出这些信息中的异常,也就不能及时做出合理的决策来避免不必要的损失。
现有技术也逐渐出现一些模型对时间序列的异常进行检测,如马尔可夫链模型、概率后缀树等。马尔可夫链模型被广泛使用,该模型是基于前一个状态决定后一个状态的思想,对于一个长序列,给定一个频繁出现的前缀状态,其后缀状态的发生频率过低,那么这个后缀状态就认为是异常,但是其最大的缺点是前缀状态的长度是固定的。概率后缀树(PST)可以被看作是一种可变长前缀的马尔可夫链更简洁的表示,它扩充了原有的后缀树模型,以每个结点对应符号串的概率分布作为主要特征。在用马尔可夫模型计算条件概率时,前缀长度是定长的,而概率后缀树的前缀长度是可变的。E.Keogh首次提出将后缀树模型用于异常模式检测,并明确定义了异常模式和树结点的概率。P.Sun又对原有的PST模型进行了扩充,改进了结点的结构,然后通过相似性对比来找出异常序列。
然而,这些算法都是在时间序列数据库中找寻异常的时间序列,鲜有检测异常数据点的算法。而在长时间序列或流式数据中,异常检测主要是面向数据点。
发明内容
有鉴于现有技术的上述缺陷,本发明技术方案所要解决的技术问题是现有技术不能挖掘出数据信息中的异常,即便能够挖掘出信息异常,其所用算法都是在时间序列数据库中找寻异常的序列,鲜有直接检测异常数据点的算法,如长时间序列或流式数据中的异常数据点便无法准确检测出。
为解决上述技术问题,本发明技术方案提供了一种时间序列异常点的检测方法,本发明技术方案主要是基于概率后缀树的符号串异常点检测,利用符号化方法离散处理原始时间序列的检测方法,其不仅能够满足于检测短序列数据,在长序列数据的检测上相比其他检测方式更具有优势。
本发明的时间序列异常点的检测方法,包括如下步骤:
S1:离散化原始时间序列并获得符号串;
S2:对符号串中数据进行标记,形成符号化的训练数据集;
S3:根据符号化的训练数据集构建概率后缀树;
S4:根据所述概率后缀树检测待检测数据序列中的异常点。
需要说明的是,步骤S1中,原始时间序列的长短根据实际情况确定,本发明的时间序列一般需要连续。步骤S1具体包括如下步骤:
S11:采用PAA方法对所述原始时间序列进行表示形成若干PAA段,若干所述PAA段与所述原始时间序列的数据点一一对应;所述PAA方法是指用等宽度窗口分割时间序列,每个窗口内的时间序列的值用窗口平均值来表示。
S12:将原始时间序列离散化并形成若干断点;本发明的离散化是指将原始时间序列等长分割,每个分割段作为一个离散数据,所述断点具有相应的数值,称为断点值。
S13:根据所述PAA段的覆盖范围和波动趋势给定符号表的大小,对若干所述PAA段分配符号,从而将原始时间序列以符号串的形式表示。
进一步地,所述原始时间序列且符合高斯分布,所述断点为一系列数字的集合,如下:
β=(β1,…,βa-1,βa);
其中,β表示断点,在N(0,1)的高斯分布中,β0到β0定义为-∞到+∞,βa-1到β0的面积均为1/α,α为断点的个数。
将原始序列数据转化成PAA段时,尽量不要降低原始时间序的维度。
本发明一优选实施例,采用以下方式将原始序列数据转化成PAA段:
一个长度为n的序列C可以被表示为一个n维的向量空间,用来表示这个向量空间其中表示向量的第i个元素,每一个也称为一个PAA段,整个向量空间正是由若干个等长的PAA段构成的,每个PAA段与原始数据点一一对应。
进一步地,在步骤S13中,按照如下分组方式分配符号:将窗口平均值低于最小断点值的PAA段分为一组;大于或者等于最小断点值并且小于下一个断点值的PAA段为一组。
所述概率后缀树是一棵|Σ|叉树,其为树结点及树边的集合,如下:
PST=(V,E);
其中,PST指概率后缀树,V是树结点的集合,E是树边的集合,Σ为符号表,符号表上的符号序列为S;
每条边e∈E都对应于一个符号e.label∈∑;
每个结点v∈V都对应一个S中的符号串v.string=en…e1e0,表示从根结点到结点v的路径上依次经过的边为e0→e1→…→en,根节点vr对应于空串;
每个结点v∈V所对应的符号串v.string在符号序列S中的出现次数标记为v.count;
对于给定的每条边e=(vp,vc)>∈E,其中vp是vc的父结点,有vc.string=成立;
每个结点v∈V都对应有一个向量v.nextSymbol[s](s∈∑),统计符号序列S中的符号串v.string出现后的下一个符号是s的次数;
每个结点v∈V都对应有一个概率向量v.branchingProbability,对于每个符号s∈∑,v.branchingProbability[s]表示S中的符号串v.string出现后的下一个符号是s的概率,则:
进一步地,步骤S3包括如下步骤:
S31:采用逐层构建法构建所述概率后缀树的结构,其上设有根结点和若干层的树结点,并赋予若干所述树节点相应的符号串;
S32:遍历符号化的训练数据集,统计每个所述树结点对应的v.count和v.nextSymbol并计算v.branchingProbability。
在步骤S31中,逐层构建法具体如下:所述根结点位于所述概率后缀树的第零层,为所述根结点构建孩子结点作为所述概率后缀树的第一层树结点,再为所述第一层树结点构建孩子结点作为所述概率后缀树的第二层,直至将若干层的树结点构建完成,根结点的孩子结点及每一树结点的孩子结点的个数与符号表的大小相等,同时根据符号表赋予所述树结点相应的符号串。
本发明的S32具体为:找到训练数据集S1中的每个时间点t1对应的子符号串St1-m-1…St1-1以及所述子符号串对应的树结点v,其中m的取值依次为1,2,...,L,L的大小等于所述概率后缀树的树深,使v.count加1,v.nextSymbol[st]加1,遍历完长符号串S的每个时间点后,计算每个树结点的v.branchingProbability[s],即完成了概率后缀树的构建过程。
本发明的S4具体包括以下步骤:
S41:将待检测时间序列转换为符号序列S,所述符号序列S的每个时间点t均具有若干前缀St-p-1…St-1,p的取值依次为1,2,...,L,L为概率后缀树除根结点的最大深度;
S42:每次取预设长度p的子符号串St-pSt-p+1……St,遍历已构建好的概率后缀树,找到St-pSt-p+1…St的前p-1个符号St-p-1……St-1在概率后缀树中对应的结点v,并判断St-p-1……St-1是否为频繁子串,若否,则无异常点,若是,则判断t是否为S的一个δ-异常点并进行S43;
S43:根据St的位置定位至原始时间序列中的异常数据点。
进一步地,判断是否为频繁子串的方法如下:给定阈值θ,对于符号序列S中的时间点t,存在某个子符号串Sp Sp+1+1……St,其中p≤t,如果概率后缀树中相应结点v的符号串为SpSp+1+1……St且v.count≥θ,那么称子符号串SpSp+1+1……St为S的一个频繁子串。
进一步地,对于符号序列S中的时间点t,如果存在某个频繁子串Sp Sp+1+1……St—1,其中p≤t-1,对应的结点v满足v.branchingProbability[st](st∈∑)<δ,则时间点t是S中的一个δ-异常点。
与现有技术相比,本发明的技术方案具有以下优点:
本发明技术方案的时间序列异常点的检测方法能够找出偏离常规模式的异常模式,能够较准确的揭示出数据中隐含的信息,从而解决很多实际应用问题,时间序列经过离散化处理转换为符号串后可以表示为概率后缀树,更加简洁且可以更加高效地计算不同符号串的后缀符号的概率,且查全率高、检测效果佳。
附图说明
图1为本发明实施例的时间序列异常点的检测方法的流程图;
图2为本发明实施例的原始时间序列转化为PAA段的结构示意图;
图3为本发明实施例的原始时间序列数据表示为符号串的结果示意图;
图4为本发明实施例的概率后缀树的结构示意图;
图5为本发明实施例的原始训练数据集的部分结构示意图;
图6为本发明实施例的原始检测数据集的结构示意图;
图7为本发明实施例的原始检测数据集的PAA段表示;
图8为本发明实施例的原始检测数据集的符号化表示;
图9为本发明实施例的δ取值与F1-Measure的关系图;
图10为本发明实施例的树深与运行时间的关系图;
图11为本发明实施例的树深与F1-Measure的关系图;
图12为本发明实施例的符号表大小与F1-Measure的关系图;
图13为本发明实施例的MinCount与F1-Measure的关系图。
具体实施方式
如图1所示,本发明实施例的时间序列异常点的检测方法,包括如下步骤:
S1:离散化原始时间序列并获得符号串;
S2:对符号串中数据进行标记,形成符号化的训练数据集;
S3:根据符号化的训练数据集构建概率后缀树;
S4:根据概率后缀树检测待检测数据序列中的异常点。
需要说明的是,本实施例的步骤S1,原始时间序列的长短根据实际情况确定且需要连续。步骤S1具体包括如下步骤:
S11:采用PAA方法对原始时间序列进行表示形成若干PAA段,若干所述PAA段与所述原始时间序列的数据点一一对应;
S12:将原始时间序列离散化并形成若干断点,具体地,将原始时间序列等长分割,每个分割段作为一个离散数据。
S13:根据PAA段的覆盖范围和波动趋势给定符号表的大小,对若干PAA段分配符号,从而将原始时间序列以符号串的形式表示。
在本实施例中,将原始的时间序列离散化并保持大体趋势不变,时间序列经过离散化处理转换为符号串后可以表示为概率后缀树(PST),更加简洁且可以更加高效地计算不同符号串的后缀符号的概率。将一段长度为n的时间序列划分为由n个长为1的子序列,然后再将其用符号化表示,具体操作如下:
(1)将数据转化成PAA段而并不降维
一个长度为n的时间序列C可以被表示为一个n维的向量空间,用来表示这个向量空间,其中表示向量的第i个元素,每一个也称为一个PAA段,整个向量空间正是由若干个等长的PAA段构成的,每个PAA段与原始数据点一一对应,原始时间序列转化为PAA段的结果如图2所示。
(2)数据离散化处理
将一个时间序列用PAA段表示后,就可以进行数据的离散化处理,经过大量长期的试验后,发现对于长时间的时间序列数据,高斯分布的假设是被证明正确的。对于过小的数据集,这种方法也只是会轻微的劣化有效性,并不会影响算法的正确性。
给出一个拥有高斯分布的时间序列,便可以定义断点,断点为一系列数字的集合,如下:
β=(β1,…,βa-1,βa);
其中,β表示断点,在N(0,1)的高斯分布中,β0到βa定义为-∞到+∞,βa-1到βa的面积均为1/α,α为断点的个数。
(3)PAA段的符号化
一旦断点已经被获取了,则可以对时间序列进行离散化,下面为离散化的方法。首先,根据PAA段的覆盖范围和波动趋势人工给定符号表的大小。然后,给每一个PAA段分配符号。系数低于最小断点值的PAA段分配符号a,大于等于最小断点值并且小于下一个断点值的PAA段分配符号b,依此类推,给每一个PAA段都分配一个符号,最终形成符号化的序列数据,将原始时间序列数据表示为符号串的形式,符号化结果如图3所示。
离散化原始时间序列并获得符号串,即符号化序列,其中的每一个符号均取自于符号表,如:给定符号表∑={a,b,c},离散化操作后,我们可以得到一个由a,b,c构成的符号串,如:abcbacbbbbcccaaaaa。
给定符号表Σ上的符号序列S,其对应的概率后缀树PST=(V,E)是一棵|Σ|叉树,其中V是树结点的集合,E是树边的集合概率后缀树是一棵|Σ|叉树,其为树结点及树边的集合,如下:
每条边e∈E都对应于一个符号e.label∈∑;
每个结点v∈V都对应一个S中的符号串v.string=en…e1e0,表示从根结点到结点v的路径上依次经过的边为e0→e1→…→en,根节点vr对应于空串;
每个结点v∈V所对应的符号串v.string在符号序列S中的出现次数标记为v.count;
对于给定的每条边e=(vp,vc)>∈E,其中vp是vc的父结点,有vc.string=成立;
每个结点v∈V都对应有一个向量v.nextSymbol[s](s∈∑),统计符号序列S中的符号串v.string出现后的下一个符号是s的次数;
每个结点v∈V都对应有一个概率向量v.branchingProbability,对于每个符号s∈∑,v.branchingProbability[s]表示S中的符号串v.string出现后的下一个符号是s的概率,则:
图4给出了一个PST的例子,符号表为∑={a,b,c},一个PST结点最多有3个孩子结点,设从根结点vr经过边e0(e0.label=b)到达结点v1,由图可知,v1.string=b,v1.count=5520,从v1经过边e1(e1.label=a),到达结点v2,v2.string=ab,v2.count=1650,v1.string在S中的下一个符号为a,b,c的分支概率分别为:v1.branchingProbability[a]=29.89%,v1.branchingProbability[b]=65.22%,v1.branchingProbability[c]=4.89%。
本实施例的步骤S3包括如下步骤:
S31:采用逐层构建法构建概率后缀树的结构,其上设有根结点和若干层的树结点,并赋予若干树节点相应的符号串;
S32:遍历符号化的训练数据集,统计每个树结点对应的v.count和v.nextSymbol并计算v.branchingProbability。
在步骤S31中,逐层构建法具体如下:根结点位于概率后缀树的第零层,为根结点构建孩子结点作为概率后缀树的第一层树结点,再为第一层树结点构建孩子结点作为概率后缀树的第二层,直至将若干层的树结点构建完成,根结点的孩子结点及每一树结点的孩子结点的个数与符号表的大小相等,同时根据符号表赋予树结点相应的符号串。
本发明的S32具体为:找到训练数据集S1中的每个时间点t1对应的子符号串以及子符号串对应的树结点v,其中m的取值依次为1,2,...,L,L为PST除根结点的最大深度,使v.count加1,v.nextSymbol[st]加1,遍历完长符号串S的每个时间点后,计算每个树结点的v.branchingProbability[s],即完成了概率后缀树的构建过程。
在本实施例中,采用逐层构建的方法为每个PST结点的v.string赋值。PST的根结点属于第零层,第一层的结点数取决于符号表的大小|Σ|,即第一层包含|Σ|个结点,每个结点的v.string。例如,树深为L=5,符号表为∑={a,b,c}。那么根结点的三个孩子结点分别为v1.string=a,v2.string=b和v3.string=c。然后为每个第一层结点构建其孩子结点,例如,对结点v1,它的三个孩子结点分别为v11.string=aa,v12.string=ba和v13.string=ca,依此类推,直到构建完成第L层的树结点。
搭建起树的框架后,遍历S。对S中的每个时间点t,找到子符号串st-m-1…st-1(m的取值依次为1,2,...,L)对应的树结点v,使v.count加1,v.nextSymbol[st]加1。遍历完长符号串S的每个时间点后,计算PST中每个结点的v.branchingProbability[s],这样我们就完成了PST的构建过程。
构建概率后缀树的算法如表1所示:
表1 构建概率后缀树的算法
本发明的S4具体包括以下步骤:
S41:将待检测时间序列转换为符号序列S,所述符号序列S的每个时间点t均具有若干前缀St-p-1…St-1,p的取值依次为1,2,...,L,L为概率后缀树除根结点的最大深度;
S42:每次取预设长度p的子符号串St-pSt-p+1……St,遍历已构建好的概率后缀树,找到St-pSt-p+1…St的前p-1个符号St-p-1……St-1在概率后缀树中对应的结点v,并判断St-p-1……St-1是否为频繁子串,若否,则无异常点,若是,则判断t是否为S的一个δ-异常点并进行S43;
S43:根据St的位置定位至原始时间序列中的异常数据点。
进一步地,判断是否为频繁子串的方法如下:给定阈值θ,对于符号序列S中的时间点t,存在某个子符号串Sp Sp+1+1……St,其中p≤t,如果概率后缀树中相应结点v的符号串为SpSp+1+1……St且v.count≥θ,那么称子符号串SpSp+1+1……St为S的一个频繁子串。
进一步地,对于符号序列S中的时间点t,如果存在某个频繁子串Sp Sp+1+1……St—1,其中p≤t-1,对应的结点v满足v.branchingProbability[st](st∈∑)<δ,则时间点t是S中的一个δ-异常点。
判断一个子序列是否在PST中和检测异常点的算法如表2-3所示。
表2 判断是否在PST中的算法
表3 检测δ-异常点的算法
下面对本实施例的检测效果进行证明。
首先,介绍以下概念:
F1-Measure:在异常检测阶段,我们用F1-Measure作为检测效果的评价标准,其计算公式为:
其中P表示精确率,即正确检测出的异常点占所检测出的全部异常点的比例:
R表示召回率,即正确检测出的异常点占实际异常点的比例:
MinCount为符号串的最小出现次数,用于判断符号串是否为频繁子串。
然后,为了证明本发明的检测效果,我们进行了广泛的实验,如下:
系统实现所用的编程环境是MyEclipse,Java虚拟机的版本是1.8。实验的运行环境为Core i5 CPU 3.10MHz,8GB内存,Windows 10x64操作系统。实验的数据集来自E.Keogh的航天飞机Marotta Valve数据集,这是一个传感器时间序列,并且已经被NASA的工程师标记出了异常点,图5显示了原始训练数据集的一部分,包括4200个数据点,大约是4个周期。图6中是原始的检测数据集,异常的数据点是用黑框圈出来的部分。图7是原始检测数据集转换为PAA段的表示。图8是与图7相对应的符号化表示,∑={a,b,c,d}。
基于检测数据集,我们进行了大量的实验,结果表明该算法的查全率较高。图9显示了δ的不同取值对检测效果的影响。显而易见,δ对召回率的影响并不大。PST的大小随树深呈指数型增长。构建一棵PST对系统内存要求很大,我们可以人为设置树的深度,同时可以设置阈值MinCount来修剪PST。图10给出了建树所需时间与树深的关系。当PST的深度大于3时,检测效果几乎不受到影响,图11显示了树深与F1-Measure的关系。符号表的大小在一定程度上影响了原始序列数据转换成的符号,也就间接影响了马尔可夫链中各符号的前后关系,也就改变了PST的结点值,对检测结果有一定的影响,图12显示了符号表大小与F1-Measure的关系,由图可知,符号表大小为3时,检测效果最佳。MinCount直接决定了PST的结构和待检测序列S中的频繁子串,对于小于这个阈值的子符号串不会被加入到PST中,那么在检测时,遇到相同的子符号串,在PST中找不到相同的结点,就认为它不是一个频繁子串,也就不会检测其后缀符号的分支概率。图13显示了不同取值的MinCount与F1-Measure的关系,MinCount取值大于15时,对于检测效果几乎没有影响。
以上详细描述了本发明的具体实施例,应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
Claims (11)
1.一种时间序列异常点的检测方法,其特征在于,包括如下步骤:
S1:离散化原始时间序列并获得符号串;
S2:对符号串中数据进行标记,形成符号化的训练数据集;
S3:根据符号化的训练数据集构建概率后缀树;
S4:根据所述概率后缀树检测待检测数据序列中的异常点。
2.如权利要求1所述的时间序列异常点的检测方法,其特征在于,步骤S1具体包括如下步骤:
S11:采用PAA方法对原始时间序列进行表示形成若干PAA段,若干所述PAA段与所述原始时间序列的数据点一一对应;
S12:将原始时间序列离散化并形成若干断点;
S13:根据所述PAA段的覆盖范围和波动趋势给定符号表的大小,对若干所述PAA段分配符号,从而将原始时间序列以符号串的形式表示。
3.如权利要求2所述的时间序列异常点的检测方法,其特征在于,所述原始时间序列符合高斯分布,所述断点为一系列数字的集合,如下:
β=(β1,…,βa-1,βa);
其中,β表示断点,在N(0,1)的高斯分布中,β0到β0定义为-∞到+∞,βa-1到βa的面积均为1/α,α为断点的个数。
4.如权利要求2所述的时间序列异常点的检测方法,其特征在于,在步骤S13中,按照如下分组方式分配符号:时间序列中,将窗口平均值低于最小断点值的PAA段分为一组;大于或者等于最小断点值并且小于下一个断点值的PAA段为一组。
5.如权利要求1所述的时间序列异常点的检测方法,其特征在于,所述概率后缀树是一棵|Σ|叉树,其为树结点及树边的集合,如下:
PST=(V,E);
其中,PST指概率后缀树,V是树结点的集合,E是树边的集合,Σ为符号表,符号表上的符号序列为S;
每条边e∈E都对应于一个符号e.label∈∑;
每个结点v∈V都对应一个S中的符号串v.string=en…e1e0,表示从根结点到结点v的路径上依次经过的边为e0→e1→…→en,根节点vr对应于空串;
每个结点v∈V所对应的符号串v.string在符号序列S中的出现次数标记为v.count;
对于给定的每条边e=(vp,vc)>∈E,其中vp是vc的父结点,有 成立;
每个结点v∈V都对应有一个向量v,nextSymbol[s](s∈∑),统计符号序列S中的符号串v.string出现后的下一个符号是s的次数;
每个结点v∈V都对应有一个概率向量v.branchingProbability,对于每个符号s∈∑,v.branchingProbability[s]表示S中的符号串v.string出现后的下一个符号是s的概率,则:
6.如权利要求5所述的时间序列异常点的检测方法,其特征在于,步骤S3包括如下步骤:
S31:采用逐层构建法构建所述概率后缀树的结构,其上设有根结点和若干层的树结点,并赋予若干所述树节点相应的符号串;
S32:遍历符号化的训练数据集,统计每个所述树结点对应的v.count和v.nextSymbol并计算v.branchingProbability。
7.如权利要求5所述的时间序列异常点的检测方法,其特征在于,在步骤S31中,逐层构建法具体如下:所述根结点位于所述概率后缀树的第零层,为所述根结点构建孩子结点作为所述概率后缀树的第一层树结点,再为所述第一层树结点构建孩子结点作为所述概率后缀树的第二层,直至将若干层的树结点构建完成,根结点的孩子结点及每一树结点的孩子结点的个数与符号表的大小相等,同时根据符号表赋予所述树结点相应的符号串。
8.如权利要求5所述的时间序列异常点的检测方法,其特征在于,所述S32具体为:找到训练数据集S1中的每个时间点t1对应的子符号串以及所述子符号串对应的树结点v,其中m的取值依次为1,2,...,L,L的大小等于所述概率后缀树的树深,使v.count加1,v.nextSymbol[st]加1,遍历完长符号串S的每个时间点后,计算每个树结点的v.branchingProbability[s],即完成了概率后缀树的构建过程。
9.如权利要求8所述的时间序列异常点的检测方法,其特征在于,所述S4具体包括以下步骤:
S41:将待检测时间序列转换为符号序列S,所述符号序列S的每个时间点t均具有若干前缀St-p-1…St-1,p的取值依次为1,2,...,L,L为概率后缀树除根结点的最大深度;
S42:每次取预设长度p的子符号串St-pSt-p+1……St,遍历已构建好的概率后缀树,找到St-pSt-p+1…St的前p-1个符号St-p-1……St-1在概率后缀树中对应的结点v,并判断St-p-1……St-1是否为频繁子串,若否,则无异常点,若是,则判断t是否为S的一个δ-异常点并进行S43;
S43:根据St的位置定位至原始时间序列中的异常数据点。
10.如权利要求9所述的时间序列异常点的检测方法,其特征在于,判断是否为频繁子串的方法如下:给定阈值θ,对于符号序列S中的时间点t,存在某个子符号串SpSp+1+1……St,其中p≤t,如果概率后缀树中相应结点v的符号串为SpSp+1+1……St且v.count≥θ,那么称子符号串SpSp+1+1……St为S的一个频繁子串。
11.如权利要求10所述的时间序列异常点的检测方法,其特征在于,对于符号序列S中的时间点t,如果存在某个频繁子串SpSp+1+1……St—1,其中p≤t-1,对应的结点v满足v.branchingProbability[st](st∈∑)<δ,则时间点t是S中的一个δ-异常点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811410281.2A CN109542952A (zh) | 2018-11-23 | 2018-11-23 | 一种时间序列异常点的检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811410281.2A CN109542952A (zh) | 2018-11-23 | 2018-11-23 | 一种时间序列异常点的检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109542952A true CN109542952A (zh) | 2019-03-29 |
Family
ID=65849521
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811410281.2A Pending CN109542952A (zh) | 2018-11-23 | 2018-11-23 | 一种时间序列异常点的检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109542952A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111612082A (zh) * | 2020-05-26 | 2020-09-01 | 河北小企鹅医疗科技有限公司 | 检测时间序列中异常子序列的方法及设备 |
CN112966505A (zh) * | 2021-01-21 | 2021-06-15 | 哈尔滨工业大学 | 一种从文本语料中提取持续性热点短语的方法、装置及存储介质 |
CN113326472A (zh) * | 2021-05-28 | 2021-08-31 | 东北师范大学 | 一种基于时序多变量数据的模式提取与演化可视分析方法 |
CN113391982A (zh) * | 2021-08-17 | 2021-09-14 | 云智慧(北京)科技有限公司 | 一种监控数据的异常检测方法、装置及设备 |
CN113670608A (zh) * | 2021-07-21 | 2021-11-19 | 广州大学 | 基于后缀树和向量机的故障检测方法、系统、装置及介质 |
CN114819925A (zh) * | 2022-06-29 | 2022-07-29 | 成都秦川物联网科技股份有限公司 | 基于事件序列分析预测的工业物联网及其控制方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105722129A (zh) * | 2016-01-20 | 2016-06-29 | 中国地质大学(武汉) | 一种基于fsax-markov模型的无线传感网事件检测方法及系统 |
CN106951680A (zh) * | 2017-02-21 | 2017-07-14 | 河海大学 | 一种水文时间序列异常模式检测方法 |
CN107844731A (zh) * | 2016-09-17 | 2018-03-27 | 复旦大学 | 基于概率后缀树的长时间序列δ‑异常点检测方法 |
-
2018
- 2018-11-23 CN CN201811410281.2A patent/CN109542952A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105722129A (zh) * | 2016-01-20 | 2016-06-29 | 中国地质大学(武汉) | 一种基于fsax-markov模型的无线传感网事件检测方法及系统 |
CN107844731A (zh) * | 2016-09-17 | 2018-03-27 | 复旦大学 | 基于概率后缀树的长时间序列δ‑异常点检测方法 |
CN106951680A (zh) * | 2017-02-21 | 2017-07-14 | 河海大学 | 一种水文时间序列异常模式检测方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111612082A (zh) * | 2020-05-26 | 2020-09-01 | 河北小企鹅医疗科技有限公司 | 检测时间序列中异常子序列的方法及设备 |
CN112966505A (zh) * | 2021-01-21 | 2021-06-15 | 哈尔滨工业大学 | 一种从文本语料中提取持续性热点短语的方法、装置及存储介质 |
CN113326472A (zh) * | 2021-05-28 | 2021-08-31 | 东北师范大学 | 一种基于时序多变量数据的模式提取与演化可视分析方法 |
CN113670608A (zh) * | 2021-07-21 | 2021-11-19 | 广州大学 | 基于后缀树和向量机的故障检测方法、系统、装置及介质 |
CN113670608B (zh) * | 2021-07-21 | 2022-09-16 | 广州大学 | 基于后缀树和向量机的故障检测方法、系统、装置及介质 |
CN113391982A (zh) * | 2021-08-17 | 2021-09-14 | 云智慧(北京)科技有限公司 | 一种监控数据的异常检测方法、装置及设备 |
CN114819925A (zh) * | 2022-06-29 | 2022-07-29 | 成都秦川物联网科技股份有限公司 | 基于事件序列分析预测的工业物联网及其控制方法 |
CN114819925B (zh) * | 2022-06-29 | 2022-10-11 | 成都秦川物联网科技股份有限公司 | 基于事件序列分析预测的工业物联网系统及其控制方法 |
US11754999B1 (en) | 2022-06-29 | 2023-09-12 | Chengdu Qinchuan Iot Technology Co., Ltd. | Industrial internet of things based on event sequence analysis and prediction, prediction method, and storage medium thereof |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109542952A (zh) | 一种时间序列异常点的检测方法 | |
CN111694879B (zh) | 一种多元时间序列异常模式预测方法及数据采集监控装置 | |
US7424409B2 (en) | Stochastic modeling of time distributed sequences | |
Mukherjee et al. | State splitting and merging in probabilistic finite state automata for signal representation and analysis | |
CN106909664A (zh) | 一种电力设备数据流故障识别方法 | |
CN108763346B (zh) | 一种滑窗箱型图中值滤波的异常点处理方法 | |
CN110018670A (zh) | 一种基于动态关联规则挖掘的工业过程异常工况预测方法 | |
CN107844731A (zh) | 基于概率后缀树的长时间序列δ‑异常点检测方法 | |
Ben-Gal et al. | Context-based statistical process control: A monitoring procedure for state-dependent processes | |
CN111738520A (zh) | 一种融合孤立森林与长短期记忆网络的系统负载预测方法 | |
CN108647737A (zh) | 一种基于聚类的自适应时间序列异常检测方法及装置 | |
CN108683658B (zh) | 基于多rbm网络构建基准模型的工控网络流量异常识别方法 | |
Sebestyen et al. | A taxonomy and platform for anomaly detection | |
Hwang et al. | Detection and correction method of erroneous data using quantile pattern and LSTM | |
CN106598822A (zh) | 一种用于容量评估的异常数据检测方法及装置 | |
Grant et al. | Adaptive sensor placement for continuous spaces | |
CN113516174A (zh) | 调用链异常检测方法、计算机设备以及可读存储介质 | |
Jin et al. | Changepoint-based anomaly detection for prognostic diagnosis in a core router system | |
CN114722947A (zh) | 一种基于近邻搜索分簇的电力调度监控数据异常检测方法 | |
CN113312809A (zh) | 一种基于相关团划分的航天器遥测数据多参数异常检测方法 | |
CN112422546A (zh) | 一种基于变邻域算法和模糊聚类的网络异常检测方法 | |
CN117009900A (zh) | 一种基于图神经网络的物联网信号异常检测方法和系统 | |
CN116643759A (zh) | 一种基于程序依赖图预测的代码预训练模型训练方法 | |
Yang et al. | Towards automatic clustering of protein sequences | |
US20230297095A1 (en) | Monitoring device and method for detecting anomalies |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190329 |