本文主要基于Time Series Shapelets: A New Primitive for Data Mining
KDD' 2009
Author : Lexiang Ye, Eamonn Keogh
对该论文的理解,所以该文中有关shapelet的信息都是有关原始shapelet的理解
一、Shapelet的概述
Shapelet可以拆成Shape与let,Shape是形状,-let表示“小”的后缀,Shapelet即表示时间序列的“小形状”,即一个子序列。这个子序列是这段时间序列数据中一个特别的子序列,其能表达时序数据中最显著的特点。
找到最有代表性的一段子序列(Shapelet)用于分类
Shapelet实际上是一种特征提取的方法
Time series -> shapelet
原始shapelet分类器有两个主要局限性
首先,它很慢:shapelet发现过程非常耗时。其次,通过使决策树成为算法的一个组成部分,它无法将形状元素与其他分类器结合。
shapelet是时间序列中能最大程度反映类别信息的连续子序列, 它可以很好地解释分类结果
背景
时间序列分类定义
给定一个包含N个时间序列对象的数据集(每个时间序列对象的长度可能不一样),其中每个时间序列对象Ti属于一个类别ci(ci∈C),然后对没有标签的时间序列对象进行分类。
应用:故障检测、健康检测。例如:对一个机器进行长期监测,并标注出现的故障为异常,就可以用来检测每天是否正常运行。
传统方法
全量时序数据用来判断(knn,DTW)
问题:非常耗时,解释性差(早期,现在好像具有很好的解释性)
二、Shapelet初阶方法-找shapelet
1.shapelet长度=[Minlen,Maxlen]
2.截取每个时间序列对象T对应长度的子序列,作为shapelet candidates
例:时间序列对象为[1,1,2,2,3,3,5],shapelet可以有[1,1,2]、[1,2,2]、······、[1,,1,2,2]、 [1,2,2,3]、[2,2,3,3,5]。(任意子序列)
3.遍历每个shapelet candidate,计算找到最优的shapelet