【技术实现步骤摘要】
一种基于子序列扩展的时间序列变长模体挖掘方法
[0001]本专利技术涉及信息处理
,具体涉及时间序列模体挖掘
。
技术介绍
[0002]模体被定义为重复的模式
、
频繁的趋势
、
或者近似重复的序列
、
形状
、
片段
、
子序列等
。Mueen
给出了其对模体的定义:模体是一段长时间序列中,一对彼此最相似的时间序列子序列
。
时间序列模体挖掘是在不需要任何有关其位置或形状的先验信息的条件下,寻找时间序列中重复出现的未知模式
。
此外,时间序列模体挖掘不仅适用于一维或多维数据,同样能够适用于不同类型的序列数据,例如空间序列数据,时间序列数据以及流数据
。
并且时间序列模体挖掘技术在遗传学
、
医学
、
数学
、
音乐等诸多领域也得到应用
。
[0003]目前大致可以将模体的定义可分为两类:
k />‑
mo本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.
一种基于子序列扩展的时间序列变长模体挖掘方法,其特征在于,包括如下步骤:
(1)
提取子序列
。
设挖掘的时间序列是长度为
n
的序列
T
=
[t1,
t2,
t3,
t4,
t5,
......
,
t
n
]
,设置支持度
sp
,设置窗口长度
m。
以时间序列第一个数据为起始点,连续提取
m
个相邻的数据,并以步长1向后滑动提取子序列,最终提取到
n
‑
m+1
个子序列,每个子序列为
S
i
=
[t
i
,
t
i+1
,
t
i+2
,
......
,
t
i+m
‑1]
,其中
i∈[1
,
n
‑
m+1]。(2)
构建子序列
SAX
符号表示
。
对提取出的子序列经过
SAX
符号表示将子序列变成符号序列
。
首先进行
PAA
分段聚合近似,设置分段数
w
,然后计算各段的均值,用均值来表示段,子序列变成
w
个元素的序列;然后将各个均值映射到事先划分好的值域区间中,使用自定义的字母对归属同一区间的均值进行表示,可以得到子序列的符号序列,即子序列的
SAX
符号表示,每个符号中包含
w
个字母
。(3)
构建符号子序列链
。
将构建的
SAX
符号表示按照下标顺序构成有序集合,合并相邻的符号表示相同的序列,最终构成符号子序列链
。(4)
构建初始符号字典
。
将符号子序列链中符号表示相同的子序列归到一个集合中,利用符号表示作为键,形成键值对,构建初始符号字典,符号字典是键值对的集合
。(5)
扩展符号字典
。
扩展符号字典就是对符号字典中的键值对进行扩展,对键值对中
ExNode
集合中的节点,不断将其与后继节点进行合并,形成更长的子序列,形成新的键值对,并加入新的符号字典,直到不能形成新的符号字典
。(6)
模体提取
。
从扩展出的最后一个非空符号字典中提取用户感兴趣的模体,可以提取最长的模体,或者支持度最大的模体
。2.
根据权利要求1所述的一种基于子序列扩展的时间序列变长模体挖掘方法,其特征在于,所述步骤
(3)
构建符号子序列链的具体步骤如下:
(3.1)
构建初始符号子序列链
。
将每个子序列使用一个初始子序列节点来描述,初始子序列节点结构的成员包括:子序列的符号表示
SAXchar、
子序列的起始索引
StartIndex、
结束索引
EndIndex
以及下一个节点指针
NextNode。
索引是指该子序列在原始时间序列
T
中的下标位置,从1开始
。
下一个节点指针是跟在当前节点后的节点的指针
。
初始符号子序列链为一个有序集合
(Node1,
Node2,
...
,
Node
n
‑
m+1
)
,节点
Node
i
与子序列
S
i
对应,
Node
节点的
SAXchar
为
S
i
子序列的
SAX
符号表示
。Node
i
节点的起止索引则为
S
i
子序列的起止索引,即
Node
i
.StartIndex
=
i
,
Node
i
.EndIndex
=
i+m
‑
1。Node
i
的下一个节点
NextNode
则为表示
S
i+1
子序列的节点
Node
i+1
,
Node
i
.NextNode
=
Node
i+1
。
最后一个节点的
NextNode
为空,表示没有后继节点
。
在初始子序列链中每个
Node
表示子序列的长度都是基础长度
m。(3.2)
合并相邻的相同
SAXchar
的
Node
,构建符号子序列链
CharSeqLink。
因为在提取子序列时步长为1,因此很多相邻的子序列是非常相似的,所以他们的符号表示可能也是相同的,同时他们也是一种平凡匹配,因此需要合并他们,合并后
SAXchar
表示的子序列长度增加
。
假设在初始符号子序列链中有连续的节点满足:
Node
i
.SAXchar
==
Node
i+1
.SAXchar
==
...
==
Node
j
.SAXchar
则合并从
i
到
j
的所有
Node。
首先设置
Node
i
,扩大
Node
i
的表示范围,操作为:
Node
i
.EndIndex
=
Node
j
.EndIndex
;
Node
i
.NextNode
=
Node
j
.NextNode。
然后删除
Node
i+1
到
Node
j
的所有节点
。
最终符号子序列链
CharSeqLink
中相邻节点的
SAXchar
不同
。
3.
根据权利要求1所述的一种基于子序列扩展的时间序列模体挖掘方法,其特征在于,所述步骤
(4)
中构建初始符号字典,涉及的键值对和符号字典的数据结构以及满足条件如下:每个键值对的结构如下:
SAXchar
:
ExNode
集合其中,
ExNode
集合=
{ExNode1,
ExNode2,
...
,
ExNode
m
}。
一个键值对就是所有符号表示为
SAXchar
的可扩展子序列节点的集合,同时满足:节点表示的子序列之间没有平凡匹配,
ExNode
集合中
ExNode
个数大于支持度
sp。
一个键值对就描述了一个模体,
ExNode
集合中每个
ExNode
描述的子序列就是模体的实例
。
可扩展子序列节点
ExNode
结构成员包括:扩展子序列符号表示
SAXchar、
起始
Node
节点指针
StartNode、
结束
Node
节点指针
EndNode
以及后继
Node
节点指针
NextNode。
其中,起始
Node
节点指针和结束
Node
节点指针分别指向该可扩展子序列节点对应的初始符号子序列链中的节点
。
后继
Node
节点指针指向该可扩展子序列节点所代表的序列后面的
Node
节点,也是该可扩展节点在扩展时将要被合并的节点
。
该可扩展节点描述的子序列在时间序列
T
中的起止位置为
Start_Node.StartIndex
到...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。