当前位置: 首页 > 专利查询>东北大学专利>正文

一种基于LAC-FLOSS算法和IER算法的时间序列分割方法技术

技术编号:31315889 阅读:23 留言:0更新日期:2021-12-12 23:53
本发明专利技术公开了一种基于LAC

【技术实现步骤摘要】
一种基于LAC

FLOSS算法和IER算法的时间序列分割方法


[0001]本专利技术涉及时间序列数据分割方法,具体涉及一种基于LAC

FLOSS算法和IER算法的时间序列分割方法。

技术介绍

[0002]时间序列分割是时间序列相关研究领域的重要预置步骤,为进一步分析时间序列提供了良好的支撑。时间序列分割主要应用于人体活动分析、体感游戏、轨迹预测以及人体活动异常检测等。
[0003]目前比较热门的基于Matrix Profile的时间序列分割技术是针对连续的动作进行划分,由快速低代价语义分割(Fast Low

cost Semantic Segmentation,FLOSS)算法和分割点提取算法(Extract Regimes,ER)构成。与大多处理时间序列分割的方法不同,它是领域独立的,不会限制在特定的领域使用,并且能够轻松处理流式数据,具备随时即用的特性,即能够直接处理给定的时间序列,不需要提前进行复杂的数据处理。
[0004]FLOSS算法的基本思想是,给定待分割时间序列,首先计算出该序列对应的矩阵轮廓(Matrix Profile,MP)和矩阵轮廓索引(Matrix Profile Index,MPI),矩阵轮廓索引中记录每一个子序列的最相似子序列(也称最近邻)索引,即匹配过程中当前子序列弧指向的索引。由于是最相似匹配,那么具有最相似形状的子序列会匹配到一起,如图1所示,每一个子序列都会去匹配和自己最相似的子序列,弧即表示两个子序列的匹配。
[0005]矩阵轮廓索引记录了子序列指向另一个最相似子序列的索引,这里的弧表示两个子序列进行最相似匹配,然后使用FLOSS算法统计穿过每个索引位置上的弧数。弧会穿过至少一个索引,一条弧也可能会被统计到多个索引上,最后得到每个索引位置上穿过的弧数量集合,形成弧跨越数(Arc Curve,AC)序列。每个索引上都有统计得到的数据,在活动状态转变的边缘处这个数量相较于状态内部会低很多,在形状上面的表现则是会形成波谷,这样最终得到的数据称作AC序列,可以看出AC序列的两端同样是趋近于0,为了防止AC序列两端的影响,对AC序列进行了纠正处理形成纠正弧跨越(Corrected Arc Crossings,CAC)序列,如图2所示。
[0006]图2是使用FLOSS算法得到的CAC序列,最后在CAC序列上使用ER算法提取分割点,这些分割点即表示分割原始数据的分割边界,然后根据该序列结合子序列长度设置一个排除域(Exclusion Region),每次从该序列中提取最小值,然后利用排除域将该值周围附近的值排除在下一次的分割点搜索范围外,提取到R

1个分割点停止,R表示状态数。
[0007]以上技术通常存在以下问题:1、FLOSS算法在计算Matrix Profile时,子序列互相匹配的过程中出现弧跨越不同状态去匹配相同状态的问题,导致得到的CAC序列丢失大量可以用于提取分割点的特征,所以分割效果不好。2、ER算法使用排除域窗口提取CAC序列最小值时,当窗口处在一条斜率不断变大或者不断变小的曲线处,就无法保证取到的最小值是分割点的位置,导致提取出的分割结果与真实结果会出现较大的误差,提取效果不佳。

技术实现思路

[0008]针对现有技术存在的问题,本专利技术提供了一种基于改进的基于Matrix Profile的限制弧跨越的时间序列分割算法LAC

FLOSS(Limit Arc curve Cross

FLOSS)和改进的提取分割点算法IER(Improved Extract Regimes)的时间序列分割方法,旨在提升时间序列分割的准确率。
[0009]本专利技术的技术方案是:
[0010]一种基于LAC

FLOSS算法和IER算法的时间序列分割方法,该方法包括如下步骤:
[0011]步骤1:计算时间序列T中长度为m的任一子序列Q与时间序列T中其他等长度的子序列Ti
,m
对应的距离轮廓,获得距离轮廓集合;
[0012]步骤2:根据距离轮廓集合,计算子序列Q和时间序列T的矩阵轮廓MP和矩阵轮廓索引MPI;
[0013]步骤3:根据步骤1计算出的距离轮廓给每条弧添加权重,获得每个带权弧,进而获得Q序列的带权弧跨越序列WAC;
[0014]步骤4:首先确定时间序列T的匹配距离阈值,然后从当前Matrix Profile对应索引i的子序列开始,遍历时间序列T中的所有子序列,遍历过程中根据匹配距离阈值依次判断每一个子序列是否需要重算弧指向,若当前子序列Q与其所指向子序列之间的距离大于匹配距离阈值,则需要转至步骤5重新计算当前子序列的弧指向,在所有子序列遍历完成后转至步骤6;
[0015]步骤5:计算当前子序列Q和时间序列T中除了子序列Q外的所有子序列的WAC,共同构成WAC集合,并对WAC集合中的元素进行升序排序,选取当前子序列对应的WAC集合中带权弧不大于匹配距离阈值的最大带权弧作为最优弧,从而对匹配弧、最近邻和最近邻索引进行更新,进而矩阵轮廓MP和矩阵轮廓索引MPI得到更新,返回步骤4继续遍历后继子序列;
[0016]步骤6:根据更新的矩阵轮廓MP和矩阵轮廓索引MPI,使用FLOSS算法计算时间序列T对应的弧跨越数序列CAC;
[0017]步骤7:对步骤6得到的CAC序列进行平滑降噪处理;
[0018]步骤8:确定CAC序列中波谷的选取阈值,并根据该选取阈值确定CAC序列中波谷的极小值集合;
[0019]步骤9:确定CAC序列中波谷的极小值集合中每个极小值对应的索引,从而获得分割点的集合,完成时间序列的分割。
[0020]进一步地,根据所述的基于LAC

FLOSS算法和IER算法的时间序列分割方法,使用MASS算法计算时间序列T中长度为m的任一子序列Q与时间序列T中其他等长度的子序列T
i,m
对应的距离轮廓。
[0021]进一步地,根据所述的基于LAC

FLOSS算法和IER算法的时间序列分割方法,使用STAMP算法计算子序列Q和时间序列T的矩阵轮廓MP和矩阵轮廓索引MPI。
[0022]进一步地,根据所述的基于LAC

FLOSS算法和IER算法的时间序列分割方法,根据步骤1计算出的距离轮廓给每条弧添加权重获得每个带权弧WAC
i
的计算公式如下:
[0023][0024]其中,DP
i
表示查询子序列Q和时间序列T中索引为i、长度为m的子序列对应的距离
轮廓;Idx
cur
表示当前查询子序列Q的索引;i表示时间序列T中被匹配到的子序列的起始索引;n为时间序列T的长度;WAC
i
则表示Q序列与时间序列T中起始索引为i、长度为m的子序列之间形成的带权弧。
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于LAC

FLOSS算法和IER算法的时间序列分割方法,其特征在于,该方法包括如下步骤:步骤1:计算时间序列T中长度为m的任一子序列Q与时间序列T中其他等长度的子序列T
i,m
对应的距离轮廓,获得距离轮廓集合;步骤2:根据距离轮廓集合,计算子序列Q和时间序列T的矩阵轮廓MP和矩阵轮廓索引MPI;步骤3:根据步骤1计算出的距离轮廓给每条弧添加权重,获得每个带权弧,进而获得Q序列的带权弧跨越序列WAC;步骤4:首先确定时间序列T的匹配距离阈值,然后从当前Matrix Profile对应索引i的子序列开始,遍历时间序列T中的所有子序列,遍历过程中根据匹配距离阈值依次判断每一个子序列是否需要重算弧指向,若当前子序列Q与其所指向子序列之间的距离大于匹配距离阈值,则需要转至步骤5重新计算当前子序列的弧指向,在所有子序列遍历完成后转至步骤6;步骤5:计算当前子序列Q和时间序列T中除了子序列Q外的所有子序列的WAC,共同构成WAC集合,并对WAC集合中的元素进行升序排序,选取当前子序列对应的WAC集合中带权弧不大于匹配距离阈值的最大带权弧作为最优弧,从而对匹配弧、最近邻和最近邻索引进行更新,进而矩阵轮廓MP和矩阵轮廓索引MPI得到更新,返回步骤4继续遍历后继子序列;步骤6:根据更新的矩阵轮廓MP和矩阵轮廓索引MPI,使用FLOSS算法计算时间序列T对应的弧跨越数序列CAC;步骤7:对步骤6得到的CAC序列进行平滑降噪处理;步骤8:确定CAC序列中波谷的选取阈值,并根据该选取阈值确定CAC序列中波谷的极小值集合;步骤9:确定CAC序列中波谷的极小值集合中每个极小值对应的索引,从而获得分割点的集合,完成时间序列的分割。2.根据权利要求1所述的基于LAC

FLOSS算法和IER算法的时间序列分割方法,其特征在于,使用MASS算法计算时间序列T中长度为m的任一子序列Q与时间序列T中...

【专利技术属性】
技术研发人员:贺延俏刘贺贺邓诗卓吴刚王波涛
申请(专利权)人:东北大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1