Advertisement

Time2State: An Unsupervised Framework for Inferring the Latent States in Time Series Data

阅读量:

Time2State: An Unsupervised Framework for Inferring the Latent States in Time Series Data(sigmod2023)

来自监控应用程序的时间序列数据反映了对象的物理或逻辑状态,这可能会产生不同状态下具有可区分特征的时间序列。因此,时间序列数据通常可以分成不同的部分,每个部分反映对象的一种状态。这些状态包含丰富的高级语义信息,例如,跑、走或跳,这有助于人们更好地理解被监视对象的行为。然而,由于时间序列的特征复杂,计算成本高,这些状态是潜在的,难以发现。本文提出了一种高效的无监督方法来推断海量多元时间数据的潜在状态。为了减少计算成本,我们提出了Time2State,这是一个可扩展的框架,它利用滑动窗口和编码器来大大减少原始时间序列的长度。为了训练编码器,我们提出了一种新的无监督损失函数LSE-Loss。大量的实验表明,与同类最先进的时间序列表示学习方法相比,LSE-Loss在准确性方面带来了高达15%的性能提高。

本文目的:

我们的目标是从给定的时间序列中推断出潜在状态序列。

面临的问题:

1. 标记时间序列是一项劳动密集型的任务[41],同一数据集中的时间序列可以具有不同的特征,例如不同的统计矩和形状

2. 如果没有标记数据,通常很难事先知道状态的数量。 换句话说,它应该通过从数据中自我学习状态的数量来自适应。

3. 典型的物联网应用通常会生成数百万个多变量时间序列,每个时间序列都有相当长的长度(通常高达100k)。因此,该框架必须具有足够的可扩展性和效率,以处理大量和长数据。

DESIGN

1 Core Ideas

Time2State包含两个阶段,训练阶段和检测阶段。

在训练阶段,我们训练编码器从原始时间序列中学习可区分的表示。两种观察:1)如果每个窗口都有一个状态,那么连续N窗口形成一个长度N的状态序列,其中这些N状态可能是相同的。我们称N状态内样本。状态内样本的表示在嵌入空间中应该是接近的。

2)多个非连续窗口(图2中用不同颜色的窗口表示)更容易包含属于不同状态的数据样本。如果给每个窗口一个状态,这些状态可能是不同的。我们称这些状态为状态间样本。

3)基于上述两个观察结果,我们设计了一种新的损失函数,即潜伏状态编码损失(Latent State Encoding loss, LSE-loss),它鼓励编码器在嵌入空间中映射彼此接近的状态内样本和彼此远离的状态间样本。这有点类似对比loss的含义

2. 框架

注解:

在本文中,我们将编码器实现为因果卷积网络,因为它已被证明对时间序列数据是有效的,

Detection Phase of Time2State

一旦编码器训练完成,我们在检测阶段使用滑动窗口,以步长𝑠在整个时间序列上滑动,并计算每个窗口中数据的表示。最后,我们从低维嵌入空间中识别这些表示中的聚类结构,并将聚类标签分配给原始时间点。分配给每个时间点的最终标签是基于标签的多数投票,这也有助于消除少量潜在的错误 不正确的点标签。

The Clustering Component

将时间序列转换为嵌入序列后,对嵌入序列进行聚类,并为每个聚类分配标签。我们使用非参数贝叶斯方法对低维嵌入进行聚类。具体来说,我们采用Dirichlet过程高斯混合模型(DPGMM)[8]对嵌入进行聚类,可以自动估计聚类的数量。

实验

定量结果如图4所示,其中通过t检验获得显著性标记。完全不同的标记表明两种方法在数据集上有显著差异,置信水平为95%。图5是所有时间序列数据的临界差(CD)图,其中没有用粗线连接的方法在平均排名上有显著差异。

为了验证长度的影响,我们将尺寸固定为4,并将长度从10k变化为200k;为了验证尺寸的效果,我们将长度固定为30k,并将尺寸从1更改为20。如图6(a)所示,随着时间序列长度的增加,Time2State的计算时间呈线性增长,且增长速度远慢于基线。如图6(b)所示,随着维数的增加,Time2State、HDP-HSMM和HVGH的计算时间变化不明显。这是因为这些方法没有考虑不同通道之间的相关性。

Embedding Space Visualization

图9显示了LSE-Loss和基线学习到的嵌入空间和表示。相同颜色的点表示来自相同潜在状态的窗口的表示。灰色点表示跨越两个状态的窗口,灰色点的轨迹暗示状态的转换。很明显,LSE-Loss学习到的表示具有更清晰的状态间边界和更大的状态间距离(相对)。

注:这是利用深度学习实现时间序列工矿切分的论文。模型比较简单,主要是loss的设置上是区分不同状态的关键点。同时该模型对参数很敏感,对不同数据集设置不同的模型参数,这是文中很大的一个缺点。

当然也看出来,深度学习的模型确实比传统的机器学习模型在识别长时间序列状态上的效果好,比如TICC方法效果明显,但是文中没有提到训练模型时间和可解释性。传统机器学习方法可以从语义角度分析,但是本文的深度学习模型很难从时间序列的语义上面找到相关的分段。

全部评论 (0)

还没有任何评论哟~