摘要:本文提出了两个用于无监督的具备可解释性和鲁棒性时间序列离群点检测的自动编码器框架。

本文分享自华为云社区《解读ICDE'22论文:基于鲁棒和可解释自编码器的无监督时间序列离群点检测算法》,作者:云数据库创新Lab 。

导读

本文(Robust and Explainable Autoencoders for Unsupervised Time Series Outlier Detection)是由华为云数据库创新Lab联合丹麦Aalborg University与电子科技大学发表在顶会ICDE’22的文章。该文章针对时间序列离群点检测问题,提出了基于自动编码器(AE)和鲁棒的主成分分析(RPCA)结合的兼具鲁棒性和可解释性的深度神经网络算法鲁棒自动编码器(RAE)和鲁棒双自动编码器(RDAE),并通过大量的实验证明RAE和RDAE算法能有效提高时间序列离群点检测的准确度,鲁棒性和可解释性。ICDE是CCF推荐的A类国际学术会议,是数据库和数据挖掘领域顶级学术会议之一。

1. 摘要

随着数据挖掘技术在制造业、众包和交通等领域的普及,大量的时序性数据被产生及应用。本文研究的是时间序列的离群点检测问题,旨在解决时间序列离群点检测难以兼具鲁棒性和可解释性的问题。

鲁棒性:在无监督的情况下,训练数据可能已经包括了离群值。由于编码器压缩了输入时间序列中的所有观测值,因此产生的潜在表征对离群值很敏感。特别是当它们的幅度很大时,少量的离群值仍然可能污染潜在的表征。训练数据中的离群值有可能污染潜在表征,使潜在表征也捕捉到离群值模式;因此一些离群值可能有小的重建误差(图1b中的红色曲线),很难从干净的数据中分离出来。这对准确性产生了不利的影响。例如,图1b中的蓝色曲线显示了从被污染的潜在表征中重建的时间序列。这就产生了一些重建误差较小的离群值,使得它们很难被发现(见图1b中的橙色区域)。为了避免这种情况,需要采用鲁棒的解决方案,使潜像表征受训练数据中离群值的影响较小。

可解释性:自动编码器将具有较大重建误差的观测值视为离群值,给定一个输入时间序列\mathcal{T}T,自动编码器将重建洁净的时间序列\hat{\mathcal{T}}T^。如果输入时间序列中的观测值与重建时间序列中的相应观测值有很大的偏差,即相应的重建误差\mathcal{T}-\hat{\mathcal{T}}T−T^很大,那么自动编码器就把这些观测值看作是离群值。然而现有的自动编码器产生的重建时间序列\mathcal{T}T往往比较复杂(例如,图1b中的蓝色曲线),致使用户难以理解哪些观测值应该出现在正常状态下。这就要求有更多的可解释的解决方案,例如重建的时间序列具有一个易于人类理解的模式(例如图1c中的蓝色曲线)。

图1. 鲁棒性和可解释性说明

本文针对以上挑战提出了相应的解决办法,主要贡献如下:

  • 本文提出了两个用于无监督时间序列离群点检测的自动编码器框架RAE和RDAE,提供了更好的鲁棒性和可解释性。
  • 本文提出了一种post-hoc可解释性分析技术。该方法能够对基于AE的离群点检测方法的可解释性进行量化分析。
  • RAE和RDAE算法的准确率和可解释性在真实的时间序列数据集上击败了现有的方法。

2. 背景

图2. 自编码器流程图

模型设计:首先,本文提出的模型支持时间序列问题。第二,本文提出的模型具有鲁棒性。第三,本文提出的模型具备可解释性。第四,本文提出的模型支持非线性关系。第五,本文支持多视角的学习机制。基于上述分析,本文提出两个兼具鲁棒性和可解释性的自动编码器框架RAE和RDAE,其差异性如图3所示:

图3. 模型差异性

3. RAE和RDAE算法设计

本文提出的RAE和RDAE算法结合了自编码器的支持时间序列,支持非线性拟合和RPCA具有良好鲁棒性和可解释性的优势。我们会先后介绍这两个模型。

RAE

RAE结合了自编码器和RPCA的优点,其流程图如图4所示:

图4. RAE流程图

RAE算法的具体细节如图5所示:

图5. RAE算法细节

RDAE

多视图学习已经被证明能够通过向学习器提供补充信息来提高学习算法的鲁棒性,例如矩阵视图和时间序列视图。受此启发,基于RAE的多视图框架RDAE被提出。其流程图如图6所示:

图6. RDAE流程图

RDAE算法的细节如图7所示:

图7. RDAE算法细节

4. 可解释性

模型的可解释性指模型的输出是否易于人类理解并接受。图8介绍了何为可解释性:

图8. 可解释性介绍

图8a中的蓝色曲线为输入的时间序列,红色点为离群点。图8b的模型展示了同事具备高准确率和可解释性的模型。图8c展示了高准确率但是不具备可解释性的模型。图8d展示了具备可解释性但是低准确率的模型。可解释性高的模型输出的洁净时间序列具有比较简单的解析形式,即具备简单的且可以被人类理解的函数形式。

本文提出了两种post-hoc量化可解释性方法,PRM-based Explainability Scores和SSA-based Explainability Scores。提出的方法可以量化不同的基于自编码器的离群点检测算法的可解释性。我们会依次介绍这两种方法。

PRM-based Explainability Scores

该方法的思想是将拟合的洁净时间序列与N阶多项式求解平方根均方误差(RMSE),设定阈值\gammaγ,若RMSE小于该阈值,则认为洁净时间序列觉有N阶多项式序列可解释性。求解模型输出可以满足要求的最小N。当N越小,则认为模型的输出更具有可解释性。其公式如下:

SSA-based Explainability Scores

该方法的思想是将拟合的洁净时间序列与包含N个组件的SSA算法输出求解平方根均方误差(RMSE),SSA算法可将时间序列分解成N个具有趋势性和周期性的时间序列的线性组合。设定阈值\gammaγ,若RMSE小于该阈值,则认为洁净时间序列觉有包含N个组件的SSA可解释性。求解模型输出可以满足要求的最小N。当N越小,则认为模型的输出更具有可解释性。其公式如下:

5. 实验

本文选取了七个时间序列数据集GD,HSS,ECG,NAB,S5,2D,SYN,并选取了15个现有的离群点检测方法作为baseline。

实验结果 本文在七个数据集上分别做了对比实验,用ROC和PR作为比较手段,总体实验结果如图9所示:

图9. 实验结果

实验表明,RAE和RDAE在绝大多数情况下取得了最优表现。

此外,本文还完成了参数学习的研究,结果如图10所示:

图10. 参数学习

我们对模型的五个模块进行了消融实验,实验证明每个模块都发挥了作用,结果如图11所示:

图11. 消融实验

最后本文还测试了算法运行时间的对比,实验表明本文提出的方法在兼具鲁棒性和可解释性的同时运行时间也有一定的优势。结果如图12所示:

图12. 运行时间实验

6. 结论

本文提出了两个用于无监督的具备可解释性和鲁棒性时间序列离群点检测的自动编码器框架。这些框架首次尝试改善现有的基于神经网络的自动编码器的两个不足:低可解释性和对离群值的高脆弱性。RAE和RDAE将一个时间序列分解为一个洁净时间序列和一个离群时间序列,并使它们对离群值具有鲁棒性和可解释性。我们提供了一种post-hoc可解释性分析方法来量化模型的可解释性。实验研究表明本模型超过了最先进的方法。

华为云数据库创新lab官网:https://www.huaweicloud.com/lab/clouddb/home.html

华为伙伴暨开发者大会2022火热来袭,重磅内容不容错过!

【精彩活动】

勇往直前·做全能开发者→12场技术直播前瞻,8大技术宝典高能输出,还有代码密室、知识竞赛等多轮神秘任务等你来挑战。即刻闯关,开启终极大奖!点击踏上全能开发者晋级之路吧!

【技术专题】

未来已来,2022技术探秘→华为各领域的前沿技术、重磅开源项目、创新的应用实践,站在智能世界的入口,探索未来如何照进现实,干货满满点击了解

点击关注,第一时间了解华为云新鲜技术~

解读ICDE'22论文:基于鲁棒和可解释自编码器的无监督时间序列离群点检测算法的更多相关文章

  1. CVPR2020:基于自适应采样的非局部神经网络鲁棒点云处理(PointASNL)

    CVPR2020:基于自适应采样的非局部神经网络鲁棒点云处理(PointASNL) PointASNL: Robust Point Clouds Processing Using Nonlocal N ...

  2. 基于2D-RNN的鲁棒行人跟踪

    基于2D-RNN的鲁棒行人跟踪 Recurrent Neural Networks RNN 行人跟踪 读"G.L. Masala, et.al., 2D Recurrent Neural N ...

  3. 【论文阅读】Beyond OCR + VQA: 将OCR融入TextVQA的执行流程中形成更鲁棒更准确的模型

    论文题目:Beyond OCR + VQA: Involving OCR into the Flow for Robust and Accurate TextVQA 论文链接:https://dl.a ...

  4. SIFT+HOG+鲁棒统计+RANSAC

    今天的计算机视觉课老师讲了不少内容,不过都是大概讲了下,我先记录下,细讲等以后再补充. SIFT特征: 尺度不变性:用不同参数的高斯函数作用于图像(相当于对图像进行模糊,得到不同尺度的图像),用得到的 ...

  5. 如何编写高质量的 JS 函数(2) -- 命名/注释/鲁棒篇

    本文首发于 vivo互联网技术 微信公众号 链接:https://mp.weixin.qq.com/s/sd2oX0Z_cMY8_GvFg8pO4Q作者:杨昆 上篇<如何编写高质量的 JS 函数 ...

  6. Robust Locally Weighted Regression 鲁棒局部加权回归 -R实现

    鲁棒局部加权回归 [转载时请注明来源]:http://www.cnblogs.com/runner-ljt/ Ljt 作为一个初学者,水平有限,欢迎交流指正. 算法参考文献: (1) Robust L ...

  7. 鲁棒图(Robustness Diagram)

    鲁棒图与系统需求分析 鲁棒图(Robustness Diagram)是由Ivar Jacobson于1991年发明的,用以回答“每个用例需要哪些对象”的问题.后来的UML并没有将鲁棒图列入UML标准, ...

  8. H∞一般控制问题的鲁棒叙述性说明

    Robust Control System:反馈控制有承受一定类不确定能力的影响,这一直保持在这种不确定的条件(制)稳定.动态特性(灵敏度)和稳态特性(逐步调整)的能力. 非结构不确定性(Unstru ...

  9. python练习 英文字符的鲁棒输入+数字的鲁棒输入

    鲁棒 = Robust 健壮 英文字符的鲁棒输入 描述 获得用户的任何可能输入,将其中的英文字符进行打印输出,程序不出现错误.‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪ ...

随机推荐

  1. AS的不同布局

    AndroidStudio里面支持的布局有挺多种的,但是最最重要的是RelativeLayout(相对布局)和LinearLayout(线性布局),熟练掌握这两种布局也非常够用了,当然还有FrameL ...

  2. Hadoop 3.1.2报错:xception in thread "main" org.apache.hadoop.fs.UnsupportedFileSystemException: No FileSystem for scheme "hdfs"

    报错内容如下: Exception in thread "main" org.apache.hadoop.fs.UnsupportedFileSystemException: No ...

  3. 新版vue作用域插槽的使用

    2.6开始,作用域插槽的使用有了不同的地方: 作用域插槽的个人理解就是让子组件的数据可以在父组件中使用:  也是一个数据传递的方式了: 不多说,上代码 子组件定义一个插槽,并且定义一个需要传递到父组件 ...

  4. Thread中,run方法和start方法的区别

    1. 通过调用Thread类中的start()方法可以启动一个线程,但是线程并不是立刻运行,而是处于就绪态,一旦获取cpu时间片,则会立即运行run()方法 2. start()方法实现了多线程运行, ...

  5. 动态代理-JDK

    代理模式:假设一个场景,你的公司是一位软件公司,你是一位软件工程师,显然客户带着需求不会去找你谈,而是去找商务谈,此时商务就代表公司. 商务的作用:商务可以谈判:也有可能在开发软件之前就谈失败,此时商 ...

  6. 使用nmtui命令解决network-scripts目录下无网卡对应配置文件问题

    //网卡通过命令ifconfig可以识别到,但是在配置文件目录下,没有该文件,一旦重启等配置了该地址的应用则可能会出现问题所以需要重新生成对应配置文件,我首先想到的就是用 nmtui 这个程序来重新生 ...

  7. UML中类关系表示与Java代码中的对应关系

    UML中类关系表示与Java代码中的对应关系 1. 类的UML表示法 上图中,Employee 类有两个String类型的私有属性和一个返回值为String类型public 方法 getName(); ...

  8. JetBrains Rider C# 学习①

    Rider 发现 Alt+F7 键无效: 把GeForce Experience里的游戏覆盖关闭 前言 C#从入门到精通 链接:https://pan.baidu.com/s/1UveJI_f-c5D ...

  9. ctx.createCircularGradient is not a function

       正确      const grd = ctx.createCircularGradient(75, 50, 50)     grd.addColorStop(0, 'red')     grd ...

  10. 《手把手教你》系列基础篇(八十八)-java+ selenium自动化测试-框架设计基础-Log4j 2实现日志输出-下篇(详解教程)

    1.简介 上一篇宏哥讲解和分享了如何在控制台输出日志,但是你还需要复制粘贴才能发给相关人员,而且由于界面大小限制,你只能获取当前的日志,因此最好还是将日志适时地记录在文件中直接打包发给相关人员即可.因 ...