Time2Graph: Revisiting Time Series Modeling with Dynamic Shapelets(使用动态shapelets重新建模时间序列)

本文提出了Time2Graph框架,重新审视时间序列建模,强调shapelets的动态性和演化。通过定义时间感知shapelets,捕捉它们的演变模式,并构建shapelets演化图,实现时间序列的图嵌入表示学习,从而提高可解释性和分类性能。这种方法在电力盗窃检测等实际场景中有应用潜力。
摘要由CSDN通过智能技术生成

Time2Graph: Revisiting Time Series Modeling with Dynamic Shapelets(使用动态shapelets重新建模时间序列)

时间序列建模的目的是为了发现按时间排序的数据中的关系。关键问题是如何从一个时间序列中提取关键特征,以前的大部分框架从经典的特性工程和表示学习到基于深度学习的模型。虽然这些方法都取得了很好的效果,但是也因为缺乏可解释性被人诟病。而本文关注的对象shapelet(代表一个类的时间序列子序列)能在分类场景中提供直接的可解释的和解释性的见解,并且基于形状的模型已经被证明在各种实际领域中很有前途。


在这里插入图片描述

简介

现有的工作都是将shapelets视作静态的,但是在现实生活中shapelets是动态的。首先,相同的shapelet出现在不同的时间片可能会产生一系列不同的影响。例如,在检测电力盗窃的情况下,夏季或冬季的低耗电量比春季更令人怀疑,因为制冷或供暖设备需要耗费更多的电力。其次,确定shapelets发展的方式对于充分理解时间序列至关重要。事实上,在特定时间具有小值的shapelets很难将一个偷电贼与一个确实经常消耗低电量的普通用户区分开来。另一种方法将涉及到识别那些曾经拥有高耗电量形状但突然间耗电量很少的用户。换句话说,这里的一个重要线索是shapelets是如何随时间发展的。时间序列中能够反映其在不同时间片上代表性的子序列称为时间感知shapelets。

挑战

  1. 如何定义和提取出时间感知shapelets
  2. 如何捕捉shapelets的演进
  3. 如何利用shapelets的演化模式对时间序列进行建模

IDEA

提出了一种新的方法来学习时间序列的表示,通过提取时间感知的shapelets并构造一个shapelets演化图。我们首先定义了一个两层的时间因子来量化shapelets在不同时间的判别能力,然后构造一个图来表示shapelets的演化模式,最后,将shapelets和时间序列表示的学习问题转化为图嵌入问题。
在这里插入图片描述
每个月都可以被一个shapelets所表示(即图a中的数字),shapelets形状如图b第一行所示,图b第二行代表该shapelets和各个月份之间的相关性,图c代表shapelets演进图,其中每个节点代表一个shapelets,边代表从一个shapelets演化到另一个shapelets的概率(边越粗代表演化的概率越大)

预先知识

一组时间序列: T = { t 1 , t 2 . . . t ∣ T ∣ } T=\left \{t_1,t_2...t_{|T|} \right \} T={t1,t2...tT}
每个时间序列都包含 t = { x 1 , x 2 , . . . x n } t=\left \{ x_1,x_2,...x_n\right \} t={x1,x2,...xn}按时间排序的元素
t t t可以被分为长度为 l l l m m m个片段 所以 t t t可以表示为 t = { { x l ∗ k + 1 , . . . , x l ∗ k + l } } , 0 ≤ k ≤ m − 1 t=\left \{\{ x_{l*k+1},...,x_{l*k+l}\right \}\},0 \leq k \leq m-1 t={{xlk+1,...,xlk+l}},0km1

两个分片距离度量 d ( s i , s j ) d(s_i,s_j) d(si,sj),如果两个分片的长度不相同那么不能使用欧氏距离,而应该使用DTW(动态规整)来寻找对齐

DTW动态时间规整算法
在这里插入图片描述

定义1:对齐

两个片段 s i s_i si s j s_j sj可以用DTW来计算最小距离的对齐,一个对齐 a = ( a 1 , a 2 ) a=(a_1,a_2) a=(a1,a2)可以定义为这样的一对坐标序列:

在这里插入图片描述
在这里插入图片描述

对于一个时间序列来说,片段对于时间序列的距离可以定义为
在这里插入图片描述

定义2:shapelets

shapelets v v v是代表某个类的片段。更准确地说,它可以通过一些特定的标准将 T T T分成两个更小的集合,一个接近 v v v,另一个远离 v v v,这样对于一个时间序列分类任务,正样本和负样本可以分成不同的组。该标准可以形式化为

在这里插入图片描述
L L L度量了正样本和负样本之间的不同, S ∗ ( v , T ) S_*(v,T) S(v,T)表示相对于特定组 T ∗ T_* T的距离集合,例如正负样本,而 g g g用来衡量两个集合间的距离(例如信息增益或KL散度)

Time2Graph Framework

时间感知shapelets提取

局部因子 w n w_n wn表示某一特定shapelet的第n个元素的内部重要性,则将shapelet v v v与片段 s s s之间的距离重新定义为
在这里插入图片描述
直观解释是将权重w投影到最优DTW路径上
全局因子 目的是测量跨片段间对shapelets的识别能力的影响

在这里插入图片描述
通过有监督学习来得到最重要的时间感知shapelets以及对应的 w i w_i wi u i u_i ui

在这里插入图片描述

具体算法图如下:

  1. 首先是shapelets候选集的生成算法
    在这里插入图片描述
  2. 时间感知shapelet提取算法
    在这里插入图片描述

shapelets进化图

想法:得到shapelets之后,很多工作直接运用于表示时间序列,但是都忽略shapelets之间的相关性(这里包括同时出现以及出现的顺序等等相关性),所以文章提出使用图来表示这种shapelets之间的相关性

shapelets进化图:定义一个有向带权图, G = ( V , E ) G=(V,E) G=(V,E),每个顶点代表一个shapelets,有向带权边的权重 w i j w_{ij} wij代表shapelet i i i出现在shapelet j j j之后的概率

图的构建

在这里插入图片描述
这里 d ^ i , ∗ ( v i , ∗ , s i ) = u ∗ [ i ] ∗ d ^ ( v i , ∗ , s i ∣ w ∗ ) \hat d_{i,*}(v_{i,*},s_i)=u_*[i]*\hat d(v_{i,*},s_i|w_*) d^i,(vi,,si)=u[i]d^(vi,,siw),限制条件 d ^ i , ∗ ≤ δ \hat d_{i,*} \leq \delta d^i,δ,所以shapelet v i , ∗ v_{i,*} vi, p i , ∗ p_{i,*} pi,的概率被指定给片段 s i s_i si,最后我们将重复边通过把权重相加合并,具体算法见下图:

在这里插入图片描述
表示学习
使用DeepWalk对我的shapelets进化图进行embedding,得到了顶点表示向量 μ ∈ R B \mu \in \mathbb{R}^B μRB,B是嵌入空间维数,然后对于每个时间片段 t = { s 1 , s 2 , . . . , s m } t=\{s_1,s_2,...,s_m\} t={s1,s2,...,sm}相对应的shapelets { v 1 , ∗ , v 2 , ∗ . . . v m , ∗ } \{v_{1,*},v_{2,*}...v_{m,*}\} {v1,,v2,...vm,},以及他们被赋予的概率 { p 1 , ∗ , p 2 , ∗ . . . p m , ∗ } \{p_{1,*},p_{2,*}...p_{m,*}\} {p1,,p2,...pm,},将每个片段赋予的shapelets向量 μ ( v i , j ) \mu(v_{i,j}) μ(vi,j)乘以概率后相加,就得到了每个时间片段的表示如下:
在这里插入图片描述
这个时间片段表示可以被应用到下游的分类任务中,比如判断某个时间片是否有偷电的现象
在这里插入图片描述

实验部分

五个数据集,对比了不同的方法
在这里插入图片描述
启发:这篇文章所提出的时间感知的shapelets相当于是整个时间序列中的一些代表性子序列,这些子序列能够很好地将时间片段划分为正样本和负样本,然后通过赋予内部权重以及全局权重来衡量shapelets对于整个时间序列的分类效果,得到时间感知的shapelets,最后利用shapelets具有演化性的特点,将时间序列建模成shapelets间的演化过程构建图,通过图嵌入来学习shapelets之间的演化,从而能够将时间序列片段表示为shapelets之间的演化过程,从而利用顶点向量进行分类。重点在于对数据的表征学习,不是通过直接将时间片段直接用shapelets来代表,而是通过捕捉shapelets之间的进化关系,这种基于案例的推理也有一定的解释性,可以看出要做解释性还要从数据建模开始,对于特定的数据进行一定的建模(和prototype很相似)。

  • 5
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值