论文题目:Outlier Detection for Multidimensional Time Series using Deep Neural Networks (发表在MDM2018上,作者单位:丹麦艾尔堡大学)

这篇文章方法并不复杂,但提供了一个好的思路

首先将原始的时间序列通过滑动窗口的形式,对每个窗口内的序列做特征提取,然后将提取的特征送给 AutoEncoder。在检测时,若 AutoEncoder 的重建 error 大于某个阈值,则认为是异常。

可启发的点:

  • 原始的时间序列往往面临维度高,存在杂讯等情况,通过特征提取,对原始数据进行清洗和丰富等,会比直接将原始数据扔给神经网路要好;
  • AutoEncoder 是一种典型的无监督方法,可以将其扩展为 variational AutoEncoder,或者引入情景信息,从而扩展为 Conditional Variational AutoEncoder。

接下来讲具体的方法……

方法

本文主要包含两部分:Time Series Enrichment + Deep Neural Network Based Autoencoder (2DCNN-AE 和 LSTM-AE 分别对应的神经网路是 CNN 和 LSTM)

Time Series Enrichment

Enrichment 分为两步:

step 1:

如上图所示,以b为大小的滑动窗口,对窗口内多变数时间序列的每一个维度提取以下两种特征:

如下图所示,如果时间序列变数维度为3,则每一个窗口中数据变为2*3。

step 2:

在 step 1 的基础上,以 f 为窗口大小,对于 NOR 和 DOR 特征,分别在每个变数上抽取8种统计量,最后数据维度为16*3。

Deep Neural Network Based Autoencoder

这一部分就是基于 CNN/LSTM 网路的 Autoencoder。

本文最后又做了一个补充,在Autoencoder中引入情境信息。(最简单的情境信息就是类别、时间等)


推荐阅读:
相关文章