shapele猜想

时间序列分类最简单和稳健的方法是最近邻算法,优点是没有大量参数需要调整,缺点是我们无法深入了解一个特定的对象为什么被分到一个特定的类。
图1显示了两类叶子的例子,荨麻(刺荨麻)和马鞭草。这两种植物通常被混淆。
论文阅读:Time Series Shapelets: A New Primitive for Data Mining
为了区分两种叶子,颜色和大小的可变性使类之间的差异性很小,我们最大的希望是基于叶子的形状。但从总体来看还是相差很细微。尝试将每个叶子转换成一维表示,如图2所示。
论文阅读:Time Series Shapelets: A New Primitive for Data Mining
然而,使用(旋转不变)欧几里德距离或动态时间扭曲(DTW)距离的最近邻分类器并没有显著优于随机猜测。原因似乎是数据有点嘈杂(即昆虫咬伤和不同的茎长),而这种噪音足以掩盖形状上的细微差异。然而,假设我们不是比较整个形状,而是只比较两个类别中的一小部分形状,这两个类别是有区别的。
论文阅读:Time Series Shapelets: A New Primitive for Data Mining
shapelet已经“发现”这两个物种之间的区别在于荨麻的茎与叶的角度几乎为90度,而马鞭草的茎与叶的连接角度要小得多。找到并记录它与数据库所有对象中最近匹配的子序列的距离之后,我们可以构建图4所示的简单决策树分类器。
论文阅读:Time Series Shapelets: A New Primitive for Data Mining
这个方法的优点:
(1) Shapelets可以提供可解释的结果,这可能有助于领域从业者更好地理解他们的数据。例如,在图3中,我们可以看到shapelet可以概括为:“荨麻有一个茎,它几乎以90度的角度与叶相连。”
(2) 使用局部特征,因为全局特征可能因为噪声使特征失真
(3) 计算复杂度低,速度快,分类时间为O(ml)O(ml),m是查询时间序列的长度,l是shapelet的长度。

定义和术语

时间序列、子序列、滑窗的定义不赘述。
时间序列的距离 Dist(T, R) , 将两个长度相同的时间序列T和R作为输入,并返回一个非负值d,即T和R之间的距离。我们要求函数Dist对称;即Dist(R,T)=Dist(T,R)。
从时间序列到其子序列的距离 SubsequenceDist(T, S) , 它将时间序列T和子序列S作为输入,并返回非负值d,取最小的d即从T到S的距离。SubsequenceDist (T, S ) = min( Dist (T, S’ )),SS^{\prime}表示所有选取的子序列。可以理解为:
论文阅读:Time Series Shapelets: A New Primitive for Data Mining
:作为模型表现的评判依据。一个时间序列数据集D由A和B两个类组成,当A类中的对象比例为p(A)p(A),B类中对象的比例为p(B)p(B),则D的熵为I(D)=p(A)log(p(A))p(B)log(p(B))I(\mathbf{D})=-p(A) \log (p(A))-p(B) \log (p(B)).
在决策树中,每次分割策略将整个数据集D分成两个子集,D1和D2。因此,在对每个数据集进行加权后,剩余的信息由每个子集的加权熵定义。如果D1中的对象的分数为 f(D1)f(\mathbf{D}_{1}),D2中的对象的分数为 f(D2)f\left ( \mathbf{D}_{2}\right ),则拆分后D的总熵为 I^(D)=f(D1)I(D1)+f(D2)I(D2)\hat{I}(\mathbf{D})=f\left(\mathbf{D}_{1}\right) I\left(\mathbf{D}_{1}\right)+f\left(\mathbf{D}_{2}\right) I\left(\mathbf{D}_{2}\right) 。这允许我们定义任何拆分策略的信息增益, 拆分前后熵表示为 I(D)I(\mathbf{D}), I^(D)\hat{I}(\mathbf{D}), 假设拆分策略为sp,那么Gain(sp)=I(D)I^(D),Gain(sp)=I(D)(f(D1)I(D1)+f(D2)I(D2))\begin{aligned} \operatorname{Gain}(s p)=I(\mathbf{D})-\hat{I}(\mathbf{D}) &, \\ \operatorname{Gain}(s p)=I(\mathbf{D})-\left(f\left(\mathbf{D}_{1}\right) I\left(\mathbf{D}_{1}\right)+f\left(\mathbf{D}_{2}\right) I\left(\mathbf{D}_{2}\right)\right) \end{aligned}
当使用shapelet的距离作为拆分策略时,数据集的一个类中的大多数时间序列对象都接近SubsequenceDist下的shapelet,而另一个类中的大多数时间序列对象则远离它。使用暴力算法,给定一个候选shapelet,计算候选对象与数据集中每个时间序列对象之间的距离。根据距离对候选对象排序进行排序,并在两个相邻距离之间找到一个最佳分割点.
最佳分割点(OSP) 。一个时间序列数据集D由A和B两类组成。对于shapelet候选者S,我们选择一些距离阈值dth,并将D分为D1和D2,这样对于D1中的每个时间序列对象T1,iT_{1, i},SubsequenceDist(T1,i,S)<dth\left(T_{1, i}, S\right)<d_{t h},而在D2中,SubsequenceDist(T2,i˙,S)dth\left(T_{2, \dot{i}}, S\right) \geq d_{t h}. OSP是一个距离阈值,Gain(S,dOSP(D,S))Gain(S,dth)\operatorname{Gain}\left(S, d_{O S P(\mathbf{D}, S)}\right) \geq \operatorname{Gain}\left(S, d_{t h}^{\prime}\right)
使用shapelet,分割策略包含两个因素:shapelet和相应的最优分割点。作为一个具体的例子,在图4中,shapelet在shapelet字典中以红色显示,最佳分割点是5.1。

shapelet,给对应一个包含两个类别的时间序列D, shapelet (D)是一个子序列,对于任何子序列S,与它相对应的最佳分割点为
Gain(shapelet(D), dOSP(D, shapelet D))d_{O S P(\mathbf{D}, \text { shapelet } \mathbf{D}))} ) Gain(S,dOSP  ( D ,s)\geq \operatorname{Gain}\left(S, d_{\text {OSP }} \text { ( D }, s\right) )

由于shapelet只是任何长度小于或等于我们数据集中最短时间序列长度的时间序列,因此它可以拥有无限多的可能形状。做一个合理的假设,一个类中的时间序列对象可能包含一些类似的子序列,把这些子序列是看做shapelet的候选对象。
那么shapelet可能有多少个候选对象呢? 举个例子,数据集有200个实例,每个实例的长度为275。如果设置shapelet最小长度MINLEN=3,最大长度MAXLEN=275,将有7480200个shapelet候选者。对于每一个候选对象,我们需要在k个时间序列对象中找到其最近的邻居。 计算公式如下:k=MINLENMAXLENTiD(mil+1)\sum_{k=M IN L E N}^{M AX L E N} \sum_{T_{i} \in D}\left(m_{i}-l+1\right)
mim_{i} 是来自数据集的时间序列TiT_i的长度,1≤i≤k; shapelet长度为ll.
这么多候选对象的下使用暴力算法是很费时间的,他们提出一种 修剪策略 在很短的时间内达到相同的效果。

寻找shapelet

暴力算法

论文阅读:Time Series Shapelets: A New Primitive for Data Mining
先产生所有可能长度的子序列作为候选shapelet的集合;初始最大信息增益为0, 然后检测每个候选集中的shapelet能够多好地区分A、B两类。直观理解,如图6所示,计算每个时间序列到候选对象的距离, 将其放在实数线上,并标注上类别。
论文阅读:Time Series Shapelets: A New Primitive for Data Mining

子序列丢弃(subsequence Distance Early Abandon)

在蛮力法中,通过计算T和每个长度为|S|的子序列的欧氏距离并选择最小值,得到时间序列T到子序列S的距离。当前存在一个最小距离时,我们不再计算每个子序列与候选序列之间的确切距离,而是可以在部分距离超过目前已知的最小距离时停止计算距离,这样达到提高效率的目的。如下图所示:
论文阅读:Time Series Shapelets: A New Primitive for Data Mining

熵剪枝(Admissible Entropy Pruning)

可以使用一种叫做早期熵剪枝的新思想,以避免在寻找形状元素时需要进行大量的距离计算。
在brute-force算法中,获取候选对象与其每个对象的最近匹配子序列之间的距离是最昂贵的计算,而计算信息增益所需的时间并不重要。不必等到每个时间序列对象到候选对象的所有距离,而是根据当前观察到的距离计算信息增益的上界。如果在搜索过程中的任何时候,上界不能超过目前为止的最佳信息增益,我们将停止距离计算并从考虑中删去该特定的候选对象。如下图:
论文阅读:Time Series Shapelets: A New Primitive for Data Mining

通过测量10个时间序列到目前为止最佳候选对象的距离,并根据距离将他们排列成一维表示。A类的6个对象中有5个(用圆圈表示)比来自B类的4个对象中的任何一个(用正方形表示)更接近候选对象。此外,在分割点右侧的5个对象中,只有一个A类对象与B类对象混淆。最佳分割点用一条垂直虚线表示,到目前为止最好的信息增益为:
论文阅读:Time Series Shapelets: A New Primitive for Data Mining
考虑其他候选shaplet,前5个计算的距离如下:
论文阅读:Time Series Shapelets: A New Primitive for Data Mining
剩下的5种距离放到上图中能使其信息增益比当前信息增益0.4228更小?最可能的情况如下图, 所有A类在左边,B类在右边,或者相反。

论文阅读:Time Series Shapelets: A New Primitive for Data Mining
此时信息增益为:
论文阅读:Time Series Shapelets: A New Primitive for Data Mining
所以当出现信息增益更低时,停止对剩余对象的距离计算,并将该候选对象永远从考虑中删除。

将shapelet用于分类

结合决策树,建立一个shapelet决策树分类器。
训练一颗决策树,按照决策树常规推理过程就能得到预测结果。

实验的评估

一个包含了这项工作中使用的所有数据集和代码,以及包含在所有图表中显示的原始数字的电子表格,以及显示决策树的更大的注释图形等的网页

表现对比

在合成闪电(Synthetic Lightning EMP)数据集分类上测试shapelet查找算法的可伸缩性,该分类具有训练/测试分割=2000/18000。对比四种不同的搜索算法记过如下:
论文阅读:Time Series Shapelets: A New Primitive for Data Mining
暴力搜索5天时间搜索160个对象,基于熵的修剪有助于将其减少两个数量级以上。

箭头分类任务

使用基于角度的方法将弹丸点的形状转换为时间序列,然后随机创建了一个36/175的训练/测试分割。
论文阅读:Time Series Shapelets: A New Primitive for Data Mining
可通过底部附近一个由深凹底端连接的未开槽的轴颈区域来区分Clovis箭头。Avonlea箭头是由一个浅凹底端连接的小切口轴区域。shapelet决策树分类器的准确率为80.0%,而旋转不变的最近邻分类器的准确率为68.0%。shapelet决策树分类器不仅具有较高的分类精度,而且比旋转不变的最近邻分类器产生的分类结果快3×10~3倍,而且在处理大多数集合中普遍存在的破碎弹丸点时更具鲁棒性。
论文阅读:Time Series Shapelets: A New Primitive for Data Mining

挖掘历史文献

shapelets在挖掘和注释历史文档方面的应用,识别军徽或纹章盾牌。图14为例,它展示了与不同国家的纹章传统有关的不同形状的例子。
论文阅读:Time Series Shapelets: A New Primitive for Data Mining
使用基于角度的方法将护盾的形状转换为时间序列。有些护盾可能会被装饰物或撕裂的部分,因此可能具有完全不同的周长,所以我们没有将时间序列长度标准化。我们从每个类中随机选择10个对象作为训练数据集,剩下的129个对象留作测试。生成的分类器如图15所示。
论文阅读:Time Series Shapelets: A New Primitive for Data Mining
shapelet决策树分类器,达到了89.9%的准确率;而对于旋转不变的最近邻欧几里德距离分类器,准确率仅为82.9%。除了精度上的差异之外,shapelets还有两个额外的优点。首先,分类的时间大约是旋转不变的一个最近邻欧几里德距离的3×104倍。其次历史手稿中的许多图像被撕毁或退化, 决策树仍然可以正确地对盾牌进行分类。

有没有枪的问题

小麦光谱

数据集包括加拿大1998年至2005年间种植的775个小麦样品的光谱。分类标签是小麦生长的年份。对象之间的一些相似性/不相似性可以归因于年份。类之间的差异非常细微:
论文阅读:Time Series Shapelets: A New Primitive for Data Mining
创建了一个49/726训练/测试分割,确保训练集中每个类有7个对象,然后测试了一个最近邻欧几里德距离分类器的分类精度,分类精度为44.1%(动态时间扭曲在这里没有优于欧几里得距离)。创建一个决策树, 输出如图19所示:
论文阅读:Time Series Shapelets: A New Primitive for Data Mining决策树的准确率为72.6%,明显优于最近邻法的44.1%。

critical thinking

(1)通过提前剪枝和提前丢弃的方式解决了暴力算法中长时间的计算问题。
(2)对于小样本而言,这是一个很好的算法。需要合适的场景下才能使用,涉及到与外形相关的问题。
(3)这里认为同一个类别总是存在一处或者多处相似度很高的特征,因此能够做判别,对于同一类别存在大的个体差异的情况没有讨论。

相关文章:

  • 2021-10-06
  • 2021-08-15
  • 2021-10-25
  • 2021-08-31
  • 2021-08-18
  • 2022-12-23
  • 2021-04-23
  • 2021-07-28
猜你喜欢
  • 2022-01-16
  • 2021-11-03
  • 2021-04-04
  • 2021-10-30
  • 2021-10-06
  • 2021-04-17
  • 2021-11-22
相关资源
相似解决方案