CN113128582B - 一种基于Matrix Profile的时间序列变长模体挖掘方法 - Google Patents
一种基于Matrix Profile的时间序列变长模体挖掘方法 Download PDFInfo
- Publication number
- CN113128582B CN113128582B CN202110398267.0A CN202110398267A CN113128582B CN 113128582 B CN113128582 B CN 113128582B CN 202110398267 A CN202110398267 A CN 202110398267A CN 113128582 B CN113128582 B CN 113128582B
- Authority
- CN
- China
- Prior art keywords
- subsequence
- motif
- distance
- time sequence
- dictionary
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/28—Determining representative reference patterns, e.g. by averaging or distorting; Generating dictionaries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于MatrixProfile的时间序列变长模体挖掘方法,步骤为:1.弱标记片段提取:对时间序列分段加入弱标记,提取弱标记时间序列片段。2.长度为w的模体发现:2.1最小窗口值即w=2时片段内字典生成:以STAMP算法为子程序,找出候选子序列存入字典。2.2全局模体发现:将所有的弱标记时间序列片段连接形成新的时间序列,在新的时间序列上利用字典进行模体发现。2.3窗口值在指定窗口值内增加时,利用下界距离找出候选子序列存入字典,减少字典生成的工作量,重复全局模体发现步骤,完成模体发现。本发明不是在整个时间序列上进行模体发现,而是通过通过连接弱标记时间序列片段形成新的时间序列,从而缩短了模体搜索空间,进而提高了模体发现的效率。
Description
技术领域
本发明属于信息处理技术领域,特别涉及一种基于Matrix Profile的时间序列变长模体挖掘方法。
背景技术
时间序列数据挖掘属于数据挖掘的范畴,其主要目标是从时间序列数据中发现有意义的信息,需要完成诸如聚类、分类、相似性搜索、异常检测和模体挖掘等任务。其中,时间序列模体挖掘是在不需要任何有关其位置或形状的先验信息的条件下,寻找时间序列中重复出现的未知模式。此外,时间序列模体挖掘不仅适用于一维或多维数据,同样能够适用于不同类型的序列数据,例如空间序列数据,时间序列数据以及流数据。并且时间序列模体挖掘技术在遗传学、医学、数学、音乐等诸多领域也得到应用。
模体被定义为重复的模式、频繁的趋势、或者近似重复的序列、形状、片段、子序列等。Mueen给出了其对模体的定义:模体是一段长时间序列中,一对彼此最相似的时间序列子序列。目前大致可以将模体的定义可分为两类:k-motif和最近邻模体。
1-motif,即给定时间序列T,子序列长度n和距离范围σ,时间序列模体是指在给定的距离范围σ内,出现次数最多的时间序列子序列。最近邻模体,即给定时间序列T及其长度n,模体长度m,基于相似性的模体是指时间序列中相似度最高、不重叠的、z- 归一化欧氏距离最小的一对子序列。最近邻模体Mw,即时间序列T中长度为w且彼此相似度最高的一对子序列。可将其定义为一个四元组:Mw=(MDist,L1,L2,w)。其中,L1和L2为子序列的起始位置,MDist为子序列L1和L2之间的平方欧式距离。
然而,现有的模体发现算法仍存在一些不足。固定时间窗口模体算法要求对模体的长度有先验知识,难以适应很多实用场景,应用较少。现有主流可变时间窗口模体发现算法, 一般采用标准化欧氏距离定义模式之间的差异,无法根据特定应用或领域的知识,来指定模体识别的偏好。例如:在活动识别应用中,只有具有明显波动的加速度传感器数据子序列才表示用户在执行某种动作,而波动较小的子序列往往是由噪声引起的。活动识别应用要求模体算法发现那些具有明显波动的相似子序列,而不是波形相似但波动性不大的子序列。传统算法由于无法根据应用需求调整对子序列相似性的度量方法,因此会导致在一些应用场景中效果不佳。
发明内容
发明目的:为了克服现有技术中存在的问题,本发明提供一种基于MatrixProfile 的时间序列变长模体挖掘方法,通过弱标记片段提取、窗口值为w的变长模体发现两个步骤可以高效地发现水文时间序列中的变长模体。
技术方案:为实现上述目的,本发明提供一种基于Matrix Profile的时间序列变长模体挖掘方法,包括如下步骤:
(1)弱标记片段提取:加入弱标记,提取标记薄弱的时间序列片段;
(2)发现窗口值为w的模体。
进一步的,所述步骤(1)中弱标记片段提取的具体步骤如下:
弱标记是为了产生一个布尔时间序列,这是对原时间序列的标记注释,为了之后对薄弱时间序列片段的提取。利用滑动窗口将时间序列分为不重叠的时间序列片段,判断每段时间序列的波动大小,波动大小通过方差来衡量,如果方差比方差均值大,则代表波动较大,否则代表波动较小;将波动较大的片段布尔值赋值为1,表示薄弱片段,代表接下来会在此片段上进行研究,波动较小的片段布尔值赋值为0,由此形成布尔时间序列;布尔时间序列与原时间序列等长,是根据波动大小对原时间序列的标记。根据布尔时间序列,将布尔值为1即弱标记时间序列片段提取出来连接起来形成新的时间序列 T’,缩短模体搜索空间。
进一步的,所述步骤(2)中发现窗口值为w的模体的具体步骤如下:
(2.1)片段内生成字典:片段内以STAMP算法为子程序,提取候选子序列存入字典;
(2.2)发现全局模体:将弱标记片段连接起来形成新的时间序列,利用字典在新的时间序列上进行模体发现;
(2.3)发现窗口值增加时的模体:利用下界距离进行字典生成,重复步骤(2.2) 的全局模体发现。
进一步的,所述步骤(2.1)中片段内生成字典的具体步骤如下:
(2.1.1)通过STAMP算法计算Matrix Profile;
(2.1.2)引入领域偏好系数修正Matrix Profile;
(2.1.3)根据Matrix Profile提取候选子序列存入字典。
进一步的,所述步骤(2.1.1)中通过STAMP算法计算Matrix Profile的具体步骤如下:
STAMP算法以给定长度为w的滑动窗口,计算时间序列T中每个子序列的平均值μ和标准差σ;计算每一个查询子序列Q和T中所有子序列的点积,再计算查询子序列和 T中所有子序列的z-归一化欧式距离,得到距离矩阵Distance Profile;选取距离矩阵中的每一列的最小值组成矩阵向量Matrix Profile P和矩阵向量索引Matrix Profile Index I,表示为(P1,P2,...,Pn-m+1),其中Pi表示第i个子序列和其最相似的子序列之间的距离,(Pi)min对应的子序列即为形状特征;使用z-归一化的平方欧氏距离作为距离度量。
进一步的,所述步骤(2.1.2)中引入领域偏好系数修正Matrix Profile的具体步骤如下:
得到Matrix Profile后,通过添加惩罚项修正Matrix Profile,新的MatrixProfile计算公式如下:
CONTEXT(di,m)=di,m+(1-AVi)*max(dj,m)
其中,CONTEXT(di,m)为子序列Ti,m基于水文领域偏好的最近邻距离,di,m为子序列Ti,m的最近邻距离,AVi为子序列的一个最近邻水文领域偏好系数;AVi∈(0,1),AVi越接近1,说明子序列Ti,m和水文领域偏好所期待的子序列特征越接近;AVi越接近0,则说明子序列Ti,m和水文领域偏好所期待的子序列特征越远;max(dj,m)为所有子序列最近邻距离中的最大距离。
进一步的,所述步骤(2.1.2)中引入领域偏好系数修正Matrix Profile中领域偏好系数计算方式如下:
领域偏好系数与MatrixProfile等长,领域偏好系数由[0,1]之间的实数组成,越接近 0表示从该索引开始的子序列越不是理想的模体,应该有偏见,相反,较高的值意味着该位置的子序列应该有所偏重;计算方式如下:
该公式是将子序列均值与极大值与极小值的均值进行比较,计算极大值与极小值的均值,如果子序列均值比该均值大,离极大值更近,领域偏好系数为子序列均值/极大值,如果子序列均值比该均值小,则离极小值更近,注释向量为极小值/子序列均值。
进一步的,所述步骤(2.1.3)中根据Matrix Profile提取候选子序列存入字典的具体步骤如下:Matrix Profile中最小值对应的子序列即为候选子序列,因为该子序列在重复性上具有较高的准确度;将其存入字典,并保存对应的阈值。
进一步的,所述步骤(2.2)中发现全局模体的具体步骤如下:
将弱标记时间序列片段连接起来形成新的时间序列T’,利用滑动窗口获得重叠的子序列,采用MASS算法分别计算字典中候选子序列到所有子序列的距离向量,由于T’是通过连接不连续的时间序列片段形成的,由此时间上的不连续性会创建不存在的子序列,为了避免计算与不存在的子序列的距离,计算距离时忽略交叉不连续的子序列,即将对应的距离设为无穷大;此外距离向量中存在子序列与候选子序列重叠部分小于子序列长度l_min的情况,这些称为平凡匹配,需要剔除;剔除平凡匹配后,遍历距离向量,将阈值范围内子序列对应的匹配向量B赋值为1,非平凡匹配数加1;匹配向量B代表子序列与候选模体距离是否在阈值范围内,如果为1,表示在阈值范围内,反之不在阈值范围内;非平凡匹配数量最多的候选子序列即为1-motif,匹配向量标记为1的子序列即为该候选模体的非平凡匹配。
进一步的,所述步骤(2.3)中发现窗口值增加时的模体的具体步骤如下:
(2.3.1)生成字典:在每个时间序列片段上,计算窗口值增加情况下子序列的下界距离并排序;利用下界距离是为了判断最近邻模体是否发生变化,所以将p初始化为较小的整数,比较第p个下界距离与字典中存放的候选子序列的最优距离,如果该下界距离比最优距离大,则只需要计算前p个下界距离对应的子序列的距离,距离最小的子序列即为候选子序列,存入字典,完成字典生成,否则,重复步骤(2.1),在片段内生成字典;
(2.3.2)发现模体:字典生成后,重复步骤(2.2)的全局模体发现。
有益效果:本发明与现有技术相比具有以下优点:
(1)本发明中,窗口值在指定范围内增加时,利用下界距离判断字典中候选子序列是否变化,避免不必要的MatrixProfile的计算,从而提高字典生成的效率。
(2)本发明中引入水文领域偏好系数,在不增加复杂度的情况下,找到水位数据较高或较低的候选子序列,符合水文领域特点,更具研究价值。
(3)本发明通过对原始数据进行弱标记,在薄弱时间序列片段找出模体子序列,减少了计算量。
附图说明
图1为本发明的流程图;
图2为具体实施例中原时间序列和布尔时间序列示例图;
图3为具体实施例中Distance Profile和Matrix Profile结构图;
图4为具体实施例中不加入惩罚项和加入惩罚项找出的最近邻模体图;
图5为具体实施例中窗口值增加时的最近邻模体图
图6为具体实施例中不同片段值相同模体长度的1-motif图;
图7为具体实施例中相同片段值不同模体长度的1-motif图;
图8为具体实施例中加入弱标记和不加入弱标记找出的1-motif图;
图9为具体实施例中本算法、已有变长模体发现算法MOEN和直接暴力搜索算法的运行时间对比图。
具体实施方式
下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
如图1所示,本发明时间序列变长模体挖掘方法研究,包括以下步骤:利用滑动窗口将时间序列T分为不重叠的片段,形成时间序列片段,引入弱标记的概念,将波动比较大的时间序列片段标记为薄弱片段,代表接下来会在这些片段上进行研究。将所有的薄弱片段连接起来形成一个新的时间序列T’,由此缩短模体发现的搜索空间。给定模体长度最小值l_min及最大值l_max,先将每个标记薄弱的时间序列片段划分为长度为 l_min的子序列,利用STAMP算法计算Matrix Profile,引入领域偏好系数计算惩罚项修正MatrixProfile得到修正的Matrix Profile,为了找到的模体子序列带有极值点信息。具有最低Matrix Profile值的子序列作为候选子序列存入字典中。字典中存放了候选子序列及其对应的阈值。利用滑动窗口将时间序列T’划分成与候选子序列相同长度的子序列,利用MASS算法计算候选子序列到所有子序列的距离,由于T’是通过连接不连续的时间序列片段形成的,因此时间上的不连续性会创建不存在的子序列,为了避免计算与不存在的子序列的距离,计算距离时忽略交叉不连续的子序列,即将对应的距离设为无穷大。将在阈值范围内的子序列标注出来,并将候选子序列的非平凡匹配数自增1,拥有最多非平凡匹配数的候选子序列即为1-motif。由此找到了长为l_min的1-motif。增加子序列长度时,利用下界距离判断候选子序列是否发生变化,如果变化,计算子序列长度增加后的Matrix Profile并修正,将Matrix Profile最小值对应的子序列存入字典,否则候选子序列为相同位置的长度增加的子序列,重复上述长度为l_min时利用字典进行模体发现的步骤,完成变长模体发现。
具体过程如下:
1.确定片段长度。
给定长度为n的时间序列T,因为需要在时间序列片段上找到候选子序列,考虑到数据集中可能存在候选子序列长度的特点,所以片段值不宜设置过小,同时也不宜设置过大,因为数据集中波动比较大的部分范围不会很大。根据实验需要,设定片段值最小 128,最大512。
2.确定模体长度。
因为需要在每个时间序列片段上找出候选模体,所以模体最大值l_max为片段值/2,由于模体被定义为一对彼此相似且不重叠的子序列,所以模体最小长度l_min为2。
3.加入弱标记,提取标记薄弱的时间序列片段。
弱标记是为了产生一个布尔时间序列,这是对原时间序列的标记注释,为了之后对薄弱时间序列片段的提取。利用滑动窗口将时间序列分为不重叠的时间序列片段,判断每段时间序列的波动大小,波动大小通过方差来衡量,如果方差比方差均值大,则代表波动较大,否则代表波动较小。将波动较大的片段布尔值赋值为1,表示薄弱片段,代表接下来会在此片段上进行研究,波动较小的片段布尔值赋值为0,由此形成布尔时间序列。布尔时间序列与原时间序列等长,是根据波动大小对原时间序列的标记。根据布尔时间序列,将布尔值为1即弱标记时间序列片段提取出来连接起来形成新的时间序列 T’,缩短模体搜索空间。对外洲站数据集加入弱标记如下所示。
如图2所示,(a)片段值为128时,布尔值为1对应的薄弱时间序列片段为波动比较大的情况,整体上保留了所有波动较大的时间序列片段,但(b)片段值为512时,片段值较大,波动较大的部分范围不大,细节部分被整体掩藏。由于整体波动不大,而导致最终该时间序列片段没有被标记为薄弱片段,表示后续不会在该时间序列片段上进行研究。
4.窗口值为w的模体发现。
4.1片段内字典生成。
4.1.1 STAMP算法计算Matrix Profile,Matrix Profile是一个元时间序列,用于存放每个子序列与其最近邻之间的z-归一化的欧几里得距离。结构如图3所示。
在每个时间序列片段上,利用滑动窗口将其划分为长度为w的子序列,之后采用STAMP算法计算Distance Profile。STAMP算法以MASS算法为子程序,MASS算法以给定长度为w的滑动窗口,计算每个子序列的平均值μ和标准差σ;计算每一个查询子序列 Q和所有子序列的点积,再计算查询子序列Q和所有子序列的z-归一化欧式距离,得到距离向量;STAMP算法迭代使用MASS算法计算Distance Profile。选取距离矩阵中的每一列的最小值组成矩阵向量Matrix Profile P和矩阵向量索引Matrix Profile Index I,表示为(P1,P2,...,Pn-m+1),其中Pi表示第i个子序列和其最相似的子序列之间的距离,(Pi)min对应的子序列即为形状特征;使用z-归一化的平方欧氏距离作为距离度量。MASS算法和 STAMP算法伪代码如下所示。
表1MASS算法
MASS算法第1行计算查询序列Q和时间序列T的滑动点积,第2行先计算查询序列的均值和标准差,接着计算时间序列T中所有的子序列的均值和标准差,第3行利用已经计算到的均值标准差来计算Distance Profile,最后将所得结果D返回。
表2计算滑动点积算法
第1行计算查询序列Q和时间序列T的长度,第2行,在T后面以零数进行补全,在第3行获取查询序列Q的镜像,在第4行在反转的查询序列附加足够的零,这样和T 一样,都是长度为2n的,第5行计算附加反转查询序列Qra和附加时间序列T的傅里叶变换,第6行计算第五行两个复杂向量的逐元乘积结果进行逆FFT。第5-6行是两个向量上的经典卷积计算。
表3STAMP算法
第一行计算时间序列TB的长度,第二行初始化PAB、IAB、idxes(PAB表示第i个子序列和其最相似的子序列之间的距离,IAB表示Matrix Profile中最小值对应的索引,idxes代表子序列个数),第三行之后的for循环是分别计算子序列和整个时间序列的距离。
4.1.2引入领域偏好系数AV计算惩罚项修正Matrix Profile。
(1)计算领域偏好系数AV。领域偏好系数与Matrix Profile等长,领域偏好系数由[0,1]之间的实数组成,越接近0表示从该索引开始的子序列越不是理想的模体,应该有偏见,相反,较高的值意味着该位置的子序列应该有所偏重。计算方式如下:
该公式是将子序列均值与极大值与极小值的均值进行比较,计算极大值与极小值的均值,如果子序列均值比该均值大,离极大值更近,领域偏好系数为子序列均值/极大值,如果子序列均值比该均值小,则离极小值更近,注释向量为极小值/子序列均值。
(2)根据领域偏好系数计算惩罚项修正Matrix Profile。得到领域偏好系数后,计算惩罚项,在求得的Matrix Profile后加上惩罚项修正Matrix Profile。基于领域偏好修正的 Matrix Profile的计算公式如下:
CMP=MPi+(1-AVi)·max(MP)
CMP为corrected Matrix Profile。利用CMP找到的最近邻模体与利用MatrixProfile 的对比图如下。
如图4所示,图4中的 (a)没有加入惩罚项修正Matrix Profile,根据MatrixProfile找出的最近邻模体不包含急剧变化的极值点,图4中的 (b)加入惩罚项修正后找出的最近邻模体包含极值点信息,使得后续模体发现更具现实意义。
4.1.3根据修正的Matrix Profile提取候选子序列存入字典。
字典是一种以键-值对形式存储数据的数据格式,其中键名用来查询特定元素。因为Matrix Profile较低值对应的子序列在计算重复性上准确率更高,所以将MatrixProfile 最低值对应的子序列作为候选子序列存入字典,字典中存放候选子序列的同时会保存其对应的阈值。
4.2全局模体发现。
将时间序列片段连接起来形成新的时间序列T’,利用滑动窗口获得重叠的子序列,采用MASS算法分别计算字典中候选子序列到所有子序列的距离向量,由于T’是通过连接不连续的时间序列片段形成的,由此时间上的不连续性会创建不存在的子序列,为了避免计算与不存在的子序列的距离,计算距离时忽略交叉不连续的子序列,即将对应的距离设为无穷大。此外距离向量中存在子序列与候选子序列重叠部分小于子序列长度 l_min的情况,这些称为平凡匹配,需要剔除。剔除平凡匹配后,遍历距离向量,将阈值范围内子序列对应的匹配向量B赋值为1,非平凡匹配数加1。匹配向量B代表子序列与候选模体距离是否在阈值范围内,如果为1,表示在阈值范围内,反之不在阈值范围内。非平凡匹配数量最多的候选子序列即为1-motif,匹配向量标记为1的子序列即为该候选模体的非平凡匹配。
匹配算法伪代码如表4所示。
表4匹配算法
第4行,循环计算每一个形状特征与新构建的时间序列T′中所有子序列的距离向量,得到距离矩阵DistanceProfile。第4-8行,将距离与阈值比较,如果在阈值范围内,对应的匹配向量赋值为1。
4.3窗口值增加时的模体发现。
4.3.1字典生成。
在每个时间序列片段上,计算窗口值增加情况下子序列的下界距离并排序。利用下界距离是为了判断最近邻模体是否发生变化,所以将p初始化为较小的整数,比较第p 个下界距离与字典中存放的候选子序列的最优距离,如果该下界距离比最优距离大,则只需要计算前p个下界距离对应的子序列的距离,距离最小的子序列即为候选子序列,存入字典,完成字典生成,否则,重复步骤4.1,在片段内生成字典。
从图5所示,(a)模体长度为64,(b)模体长度为89,(c)模体长度为90,由图5 可以发现,窗口值增加不大时,模体没有变化,当窗口值增加为90时,模体发生变化。窗口长度为64时,找到的最近邻模体为subsequence748和subsequence406,此时计算得到的MP最小值为1.47,窗口值为65时,计算下界距离并排序,p设定为5,第p个下界距离值为2.47>1.47,则只需要计算subsequence748和前p个下界距离对应的子序列的距离,找到的与subsequence748距离最小的为subsequence405,当窗口值变为90 时,第p个下界距离为1.01<最优距离3.4,重新计算窗口值增加情况下的Matrix Profile,找出的最近邻模体为subsequence532和subsequence217。
4.3.2字典生成后,重复4.2的全局模体发现。
实施例:为了验证本发明的效果,采用外洲站1950-2010作为实验数据,实验将从两个方面进行,(1)针对数据集详细分析改变片段长度和模体长度产生的结果;(2) 与没有加入弱标记的算法进行比较,分析本算法找到模体的有效性;(3)与已知变长模体发现MOEN算法好和直接暴力搜索算法比较,分析本算法字典生成的时间性能。
下面基于外洲站数据集,分析片段长度和模体长度对结果的影响以及算法效率。
1)改变片段长度,不改变模体长度,分析1-motif变化;不改变片段长度,改变模体长度,分析1-motif变化。
2)有效性分析,将本算法与没有加入弱标记找到的模体进行比较,分析1-motif变化。
3)效率分析,将本算法与已有时间序列变长模体发现算法MOEN和直接暴力搜索进行比较,考查本算法效率。
1.数据准备
本节以外洲站1950-2010数据集作为实验对象,数据集信息如表1所示。
表1外洲站数据集信息
外洲站1950-2010水位数据集:该数据集是赣江外洲站测得的水位变化,记录并反映了1950-2010期间水位流量的趋势,水位时间序列直接反映河道的水位流沙变化规律,是了解河流从而进行河道开发的基础。
2.实验分析
1)片段长度和模体长度对结果影响分析
基于外洲站数据集,固定片段长度,改变模体长度,观察1-motif变化并计算F1-score;固定模体长度,改变片段长度,观察1-motif变化并计算F1-score。表2、图6和图7列出了实验结果。其中,图6均为片段值为128,模体长度为32;图7中(a)片段值为256,模体长度为32,(b)片段值为256,模体长度为64,(c)片段值为256,模体长度为64。
表2不同片段长度,不同模体长度的F1-score
由表2可以发现,当模体长度与窗口值越接近时,F1-score越接近1,表示完美的精度和查全率。
分析图6、7所示实验结果可以发现,模体长度和片段值越来越接近时,1-motif所包含的子序列数量越来越多,由此可见,需要建立模体长度和片段值之间合理的关系,使得1-motif找到的子序列数量刚好满足实验需求。
2)有效性分析
基于外洲站数据集,比较分析不加弱标记与加入弱标记找到的1-motif,观察是否包含极值点信息,表3和图8给出了实验结果。其中图8中(a)为不加弱标记模体长度为32,(b)为加入弱标记模体长度为32,(c)为不加弱标记模体长度为64,(d)为加入弱标记模体长度为64。
表3加入弱标记和不加弱标记的效率
从表3可以看出,加入弱标记的模体发现算法中加入了惩罚项,但效率较没有加入弱标记的模体发现效率更高。分析图8发现,模体长度增加时,不加弱标记的算法找到的1-motif也带有极值点信息,但模体重合度没有加入弱标记的算法找到的重合度高。
3)本算法的效率对比分析
比较本算法与已有变长模体发现算法MOEN算法在相同模体长度范围内查找 1-motif的速率。图9和表4列出了实验结果。
表3直接暴力搜索、MOEN和本算法效率比较
结合上述两个实验的结果,可以得出结论,片段长度和模体长度会影响结果,需要合理设置好片段长度和模体长度,本算法在效率上明显优于已有的变长模体发现算法。
Claims (7)
1.一种基于Matrix Profile的时间序列变长模体挖掘方法,其特征在于,包括如下步骤:
(1)弱标记片段提取:加入弱标记,提取标记薄弱的时间序列片段,弱标记片段提取的具体步骤如下:
利用滑动窗口将时间序列分为不重叠的时间序列片段,判断每段时间序列的波动大小,波动大小通过方差来衡量,如果方差比方差均值大,则代表波动较大,否则代表波动较小;将波动较大的片段布尔值赋值为1,表示薄弱片段,代表接下来会在此片段上进行研究,波动较小的片段布尔值赋值为0,由此形成布尔时间序列;根据布尔时间序列,将布尔值为1即弱标记时间序列片段提取出来连接起来形成新的时间序列T’,缩短模体搜索空间;
(2)发现窗口值为w的模体,具体步骤如下:
(2.1)片段内生成字典:片段内以STAMP算法为子程序,提取候选子序列存入字典;
(2.2)发现全局模体:将弱标记片段连接起来形成新的时间序列,利用字典在新的时间序列上进行模体发现;具体步骤如下:
将弱标记时间序列片段连接起来形成新的时间序列T’,利用滑动窗口获得重叠的子序列,采用MASS算法分别计算字典中候选子序列到所有子序列的距离向量,由于T’是通过连接不连续的时间序列片段形成的,由此时间上的不连续性会创建不存在的子序列,为了避免计算与不存在的子序列的距离,计算距离时忽略交叉不连续的子序列,即将对应的距离设为无穷大;此外距离向量中存在子序列与候选子序列重叠部分小于子序列长度l_min的情况,这些称为平凡匹配,需要剔除;剔除平凡匹配后,遍历距离向量,将阈值范围内子序列对应的匹配向量B赋值为1,非平凡匹配数加1;匹配向量B代表子序列与候选模体距离是否在阈值范围内,如果为1,表示在阈值范围内,反之不在阈值范围内;非平凡匹配数量最多的候选子序列即为1-motif,匹配向量标记为1的子序列即为该候选模体的非平凡匹配;
(2.3)发现窗口值增加时的模体:利用下界距离进行字典生成,重复步骤(2.2)的全局模体发现。
2.根据权利要求1所示的一种基于Matrix Profile的时间序列变长模体挖掘方法,其特征在于,所述步骤(2.1)中片段内生成字典的具体步骤如下:
(2.1.1)通过STAMP算法计算Matrix Profile;
(2.1.2)引入领域偏好系数修正Matrix Profile;
(2.1.3)根据Matrix Profile提取候选子序列存入字典。
3.根据权利要求2所示的一种基于Matrix Profile的时间序列变长模体挖掘方法,其特征在于,所述步骤(2.1.1)中通过STAMP算法计算Matrix Profile的具体步骤如下:
STAMP算法以给定长度为w的滑动窗口,计算时间序列T中每个子序列的平均值μ和标准差σ;计算每一个查询子序列Q和T中所有子序列的点积,再计算查询子序列和T中所有子序列的z-归一化欧式距离,得到距离矩阵Distance Profile;选取距离矩阵中的每一列的最小值组成矩阵向量Matrix Profile P和矩阵向量索引Matrix Profile Index I,表示为(P1,P2,...,Pn-m+1),其中Pi表示第i个子序列和其最相似的子序列之间的距离,(Pi)min对应的子序列即为形状特征;使用z-归一化的平方欧氏距离作为距离度量。
4.根据权利要求2所示的一种基于Matrix Profile的时间序列变长模体挖掘方法,其特征在于,所述步骤(2.1.2)中引入领域偏好系数修正Matrix Profile的具体步骤如下:
得到Matrix Profile后,通过添加惩罚项修正Matrix Profile,新的Matrix Profile计算公式如下:
CONTEXT(di,m)=di,m+(1-AVi)*max(dj,m)
其中,CONTEXT(di,m)为子序列Ti,m基于水文领域偏好的最近邻距离,di,m为子序列Ti,m的最近邻距离,AVi为子序列的一个最近邻水文领域偏好系数;AVi∈(0,1),AVi越接近1,说明子序列Ti,m和水文领域偏好所期待的子序列特征越接近;AVi越接近0,则说明子序列Ti,m和水文领域偏好所期待的子序列特征越远;max(dj,m)为所有子序列最近邻距离中的最大距离。
5.根据权利要求4所示的一种基于Matrix Profile的时间序列变长模体挖掘方法,其特征在于,所述步骤(2.1.2)中引入领域偏好系数修正Matrix Profile中领域偏好系数计算方式如下:
领域偏好系数与Matrix Profile等长,领域偏好系数由[0,1]之间的实数组成,越接近0表示从索引开始的子序列越不是理想的模体,应该有偏见,相反,较高的值意味着该索引开始的子序列应该有所偏重;计算方式如下:
该公式是将子序列均值与极大值与极小值的均值进行比较,计算极大值与极小值的均值,如果子序列均值比该均值大,离极大值更近,领域偏好系数为子序列均值/极大值,如果子序列均值比该均值小,则离极小值更近,注释向量为极小值/子序列均值。
6.根据权利要求2所示的一种基于Matrix Profile的时间序列变长模体挖掘方法,其特征在于,所述步骤(2.1.3)中根据Matrix Profile提取候选子序列存入字典的具体步骤如下:Matrix Profile中最小值对应的子序列即为候选子序列,因为该子序列在重复性上具有较高的准确度;将其存入字典,并保存对应的阈值。
7.根据权利要求1所示的一种基于Matrix Profile的时间序列变长模体挖掘方法,其特征在于,所述步骤(2.3)中发现窗口值增加时的模体的具体步骤如下:
(2.3.1)生成字典:在每个时间序列片段上,计算窗口值增加情况下子序列的下界距离并排序;利用下界距离是为了判断最近邻模体是否发生变化,所以将p初始化为较小的整数,比较第p个下界距离与字典中存放的候选子序列的最优距离,如果该下界距离比最优距离大,则只需要计算前p个下界距离对应的子序列的距离,距离最小的子序列即为候选子序列,存入字典,完成字典生成,否则,重复步骤(2.1),在片段内生成字典;
(2.3.2)发现模体:字典生成后,重复步骤(2.2)的全局模体发现。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110398267.0A CN113128582B (zh) | 2021-04-14 | 2021-04-14 | 一种基于Matrix Profile的时间序列变长模体挖掘方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110398267.0A CN113128582B (zh) | 2021-04-14 | 2021-04-14 | 一种基于Matrix Profile的时间序列变长模体挖掘方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113128582A CN113128582A (zh) | 2021-07-16 |
CN113128582B true CN113128582B (zh) | 2022-09-02 |
Family
ID=76776220
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110398267.0A Active CN113128582B (zh) | 2021-04-14 | 2021-04-14 | 一种基于Matrix Profile的时间序列变长模体挖掘方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113128582B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113722374B (zh) * | 2021-07-30 | 2023-12-01 | 河海大学 | 基于后缀树的时间序列变长模体挖掘方法 |
CN113780295B (zh) * | 2021-09-13 | 2024-02-20 | 东北大学 | 一种基于lac-floss算法和ier算法的时间序列分割方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110362606A (zh) * | 2019-06-10 | 2019-10-22 | 河海大学 | 一种时间序列变长模体挖掘方法 |
CN113902003A (zh) * | 2021-09-30 | 2022-01-07 | 河海大学 | 一种基于MITree的多维时间序列在线模体发现方法 |
-
2021
- 2021-04-14 CN CN202110398267.0A patent/CN113128582B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110362606A (zh) * | 2019-06-10 | 2019-10-22 | 河海大学 | 一种时间序列变长模体挖掘方法 |
CN113902003A (zh) * | 2021-09-30 | 2022-01-07 | 河海大学 | 一种基于MITree的多维时间序列在线模体发现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113128582A (zh) | 2021-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113128582B (zh) | 一种基于Matrix Profile的时间序列变长模体挖掘方法 | |
Wang et al. | CLUES: A non-parametric clustering method based on local shrinking | |
CN109308912B (zh) | 音乐风格识别方法、装置、计算机设备及存储介质 | |
CN103473327A (zh) | 图像检索方法与系统 | |
CN106033426A (zh) | 一种基于潜在语义最小哈希的图像检索方法 | |
Sanguansat | Multiple multidimensional sequence alignment using generalized dynamic time warping | |
JP2008165714A (ja) | 情報検索方法、装置およびプログラム | |
Chin et al. | Audio event detection based on layered symbolic sequence representations | |
Yang et al. | Plant species recognition using triangle-distance representation | |
CN114238329A (zh) | 向量相似度计算方法、装置、设备及存储介质 | |
Iscen et al. | Efficient large-scale similarity search using matrix factorization | |
Liu et al. | Method of Time Series Similarity Measurement Based on Dynamic Time Warping. | |
CN113902034A (zh) | 一种矢量道路数据变化信息识别与提取方法和装置 | |
CN115512772A (zh) | 一种基于标记基因和集成学习的高精度单细胞聚类方法及系统 | |
Park et al. | A Cross-Scape Plot Representation for Visualizing Symbolic Melodic Similarity. | |
CN110362606B (zh) | 一种时间序列变长模体挖掘方法 | |
CN115062696A (zh) | 基于标准化类特定互信息的特征选择方法 | |
CN111507297A (zh) | 一种基于度量信息矩阵的雷达信号识别方法及系统 | |
Xie et al. | Clustr: Exploring efficient self-attention via clustering for vision transformers | |
CN109241118A (zh) | 基于子序列全连接和最大团的时间序列模体发现方法 | |
Nasridinov et al. | A study on music genre recognition and classification techniques | |
CN110782876A (zh) | 一种用于语音情感计算的无监督主动学习方法 | |
CN115881211B (zh) | 蛋白质序列比对方法、装置、计算机设备以及存储介质 | |
US20140343945A1 (en) | Method of visual voice recognition by following-up the local deformations of a set of points of interest of the speaker's mouth | |
US20140343944A1 (en) | Method of visual voice recognition with selection of groups of most relevant points of interest |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |