0. 导读
本文(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中的橙色区域)。为了避免这种情况,需要采用鲁棒的解决方案,使潜像表征受训练数据中离群值的影响较小。
可解释性 自动编码器将具有较大重建误差的观测值视为离群值,给定一个输入时间序列
T,自动编码器将重建洁净的时间序列
T^。如果输入时间序列中的观测值与重建时间序列中的相应观测值有很大的偏差,即相应的重建误差
T−T^很大,那么自动编码器就把这些观测值看作是离群值。然而现有的自动编码器产生的重建时间序列
T往往比较复杂(例如,图1b中的蓝色曲线),致使用户难以理解哪些观测值应该出现在正常状态下。这就要求有更多的可解释的解决方案,例如重建的时间序列具有一个易于人类理解的模式(例如图1c中的蓝色曲线)。
图1. 鲁棒性和可解释性说明
本文针对以上挑战提出了相应的解决办法,主要贡献如下:
- 本文提出了两个用于无监督时间序列离群点检测的自动编码器框架RAE和RDAE,提供了更好的鲁棒性和可解释性。
- 本文提出了一种post-hoc可解释性分析技术。该方法能够对基于AE的离群点检测方法的可解释性进行量化分析。
- RAE和RDAE算法的准确率和可解释性在真实的时间序列数据集上击败了现有的方法。
2. 背景
时间序列离群点检测 给定一个长度为
C的时间序列
T=<s1,s2,...,sC>,其中每个点被定义为
si∈RD,
D是变量的维度。根据领域知识设定一个离群点分数
OS(st),离群点分数越大,
si越有可能被认定为离群点。连续被发现的离群点被认定为群体离群点。
鲁棒主成分分析 给定一个矩阵
M,主成分分析(PCA)能够识别一个低等级矩阵来近似矩阵
M。由于PCA通常采用单值分解(SVD)来识别低等级矩阵,PCA也有和SVD一样的问题,即对离群值非常敏感。为了改善PCA在离群值存在时的性能,有人提出了鲁棒主成分分析(RPCA)。RPCA旨在将给定的矩阵
M分离成两个矩阵的总和,一个是代表洁净数据的低秩矩阵
L,另一个是由元素间离群值组成的矩阵
S。具体来说,RPCA对原始矩阵
M进行分解,使
M=L+S。RPCA的目标函数为:
argL,Sminrank(L)+λ∣∣S∣∣0 s.t. X=L+S.
其中
rank(L)是矩阵
L的秩,
∣∣S∣∣0是矩阵
S中的非零元素数量,
λ是控制
S影响权重的因子。
自动编码器 自动编码器由一个编码器(Encoder)
EθAE(⋅)和解码器(Decoder)
DθAE(⋅)组成,其流程图如图2所示。给定输入
M=[x1,x2,...,xC],则相对应的自动编码器输出为
M^=[x^1,x^2,...,x^C],用于离群点检测的自动编码器目标函数为:
argθAEmin∣∣M−M^∣∣2=∣∣M−DθAE(EθAE(M))∣∣2
其中
θAE代表自动编码器的参数。
图2. 自编码器流程图
模型设计 首先,本文提出的模型支持时间序列问题。第二,本文提出的模型具有鲁棒性。第三,本文提出的模型具备可解释性。第四,本文提出的模型支持非线性关系。第五,本文支持多视角的学习机制。基于上述分析,本文提出两个兼具鲁棒性和可解释性的自动编码器框架RAE和RDAE,其差异性如图3所示:
图3. 模型差异性
3. RAE和RDAE算法设计
本文提出的RAE和RDAE算法结合了自编码器的支持时间序列,支持非线性拟合和RPCA具有良好鲁棒性和可解释性的优势。我们会先后介绍这两个模型。
RAE
RAE结合了自编码器和RPCA的优点,其流程图如图4所示:
图4. RAE流程图
其中
T是输入的时间序列,
TL和
TS分别为重建的洁净时间序列与离群时间序列,有
TL=T−TS。输入时间序列
T经过编码器编码和解码器解码被分解为洁净时间序列
TL和离群时间序列
TS,离群时间序列作为自编码器下一次迭代的输入,即
T−TS。
编码器和解码器的公式为:
EθAE(TL)=defϕ(We∗TL+be)
DθAE(TL)=defϕ(Wd∗EθAE(TL)+bd)
其中
ϕ(⋅)是非线性变化,例如
sigmoid或
relu,
W和
b分别是可学习的权重矩阵和偏置,
θAE={We,be,Wd,bd}。
RAE的目标函数为:
argθAE,TSmin∣∣TL−DθAE(EθAE(TL))∣∣2+λ∣∣TS∣∣1 s.t. T=TL+TS.
由于本文将时间序列
T分解为洁净时间序列
TL和离群时间序列
TS,因此离群点分数
OS对离群时间序列
T=<Ss1,Ss2,...,SsC>的表达式为:
OS=<∣∣Ss1∣∣22,∣∣Ss2∣∣22,...,∣∣SsC∣∣22>
其中
∣∣⋅∣∣2为二阶矩。
RAE算法的具体细节如图5所示:
图5. RAE算法细节
RAE算法有两个超参数
λ和
ϵ,分别为正则化参数和离群分数
OS的阈值。首先随机化参数起始值,然后通过目标函数更新模型中的参数。通过迭代RAE的输入时间序列和离群时间序列的差值迭代更新模型。算法将目标函数的更新分为两个部分,
∣∣TL−DθAE(EθAE(TL))∣∣2用于优化参数
θAE,
λ∣∣TS∣∣1用于优化
TS。当表达式满足两个停止条件其中之一,即
condition1或
condition2时算法停止。
condition1的满足条件是
T=TL+TS。
condition2的满足条件是
TL和
TS不再变化。
RDAE
多视图学习已经被证明能够通过向学习器提供补充信息来提高学习算法的鲁棒性,例如矩阵视图和时间序列视图。受此启发,基于RAE的多视图框架RDAE被提出。其流程图如图6所示:
图6. RDAE流程图
其中
f1θ1(⋅)为一个2D CNN,因为此时的输入不再是时间序列,而是一个矩阵。NN的输出为
M^,其公式为:
M^=f1θ1(M)=defϕ(W1∗M+b1)
一个时间序列经常包含一些小的变化(即噪音),这些变化不被看作是离群值,但仍会影响模型的准确性。变换的作用是通过去除这些噪声来平滑
M。通过这样做,我们希望Inner RAE能实现更干净的分解,从而实现更好的重建,从而提高鲁棒性。我们仍然希望平滑后的矩阵
M^与
M相似。
因此,此处设计了一个目标函数,使
M^与
M两者之间的差异最小:
argθ1min∣∣M−M^∣∣2=argθ1min∣∣M−f1θ1(M)∣∣2
对于Inner RAE,其输入为
M^,它的编码器和解码器的公式为:
EθAE(L)=defϕ(We∗L+be)
DθAE(L)=defϕ(Wd∗EθAE(L)+bd)
其中编码器和解码器均为2D CNNs。
Inner RAE的目标函数为:
argθAE,TSmin∣∣L−DθAE(EθAE(L))∣∣2+λ1∣∣S∣∣1 s.t. M^=L+S.
Decoder的输出是
L和
S,他们分别通过两个Hankelization操作,得到
L~=H(L)和
S~=H(S)。接着
L~和
S~被转变为时间序列
TL和
SS。
对于Outer RAE,输入的时间序列
T被转变为洁净时间序列与离群时间序列
TL和
TS。
其中
f2θ2(⋅)是一个1D CNN。其公式为:
TL=f2θ2(TL)=defϕ(W2∗TL+b2)
Outer RAE的目标函数为:
argθ2,TSmin∣∣TL−f2θ2(TL))∣∣2+λ2∣∣TS∣∣1 s.t. T=TL+TS.
综上所述,RDAE模型的收敛过程需要共同优化以上三个子目标函数。
离群点分数
OS计算过程与RAE算法相同,即:
OS=<∣∣Ss1∣∣22,∣∣Ss2∣∣22,...,∣∣SsC∣∣22>
RDAE算法的细节如图7所示:
图7. RDAE算法细节
RDAE算法有四个超参数
B,
λ1,
λ2和
ϵ,分别为滞后矩阵
M的高度,两个正则化参数和离群分数
OS的阈值。
首先随机化参数起始值,然后固定
θ2,和
θAE,更新
θ1一次。然后固定
θ1,
θ2,迭代更新
θAE。待
θAE收敛,停止条件是满足两个条件其中之一,其原理与RAE相同。
condition1的满足条件是
M^=L+S。
condition2的满足条件是
L和
S不再变化。
最后固定
θ1和
θAE,迭代更新
θ2,待
θ2收敛,停止条件需要满足两个条件的其中之一,其原理与RAE相同。
condition1的满足条件是
T=TL+TS。
condition2的满足条件是
TL和
TS不再变化。
4. 可解释性
模型的可解释性指模型的输出是否易于人类理解并接受。图8介绍了何为可解释性:
图8. 可解释性介绍
图8a中的蓝色曲线为输入的时间序列,红色点为离群点。图8b的模型展示了同事具备高准确率和可解释性的模型。图8c展示了高准确率但是不具备可解释性的模型。图8d展示了具备可解释性但是低准确率的模型。可解释性高的模型输出的洁净时间序列具有比较简单的解析形式,即具备简单的且可以被人类理解的函数形式。
本文提出了两种post-hoc量化可解释性方法,PRM-based Explainability Scores和SSA-based Explainability Scores。提出的方法可以量化不同的基于自编码器的离群点检测算法的可解释性。我们会依次介绍这两种方法。
PRM-based Explainability Scores
该方法的思想是将拟合的洁净时间序列与N阶多项式求解平方根均方误差(RMSE),设定阈值
γ,若RMSE小于该阈值,则认为洁净时间序列觉有N阶多项式序列可解释性。求解模型输出可以满足要求的最小N。当N越小,则认为模型的输出更具有可解释性。其公式如下:
εsPRM=min{N∈N∣RMSE(TL,TPRM(N))<γ}
其中PRM代表多项式回归模型,
εsPRM代表可解释性分数,
TPRM(N)代表N阶多项式回归模型输出的时间序列。
SSA-based Explainability Scores
该方法的思想是将拟合的洁净时间序列与包含N个组件的SSA算法输出求解平方根均方误差(RMSE),SSA算法可将时间序列分解成N个具有趋势性和周期性的时间序列的线性组合。设定阈值
γ,若RMSE小于该阈值,则认为洁净时间序列觉有包含N个组件的SSA可解释性。求解模型输出可以满足要求的最小N。当N越小,则认为模型的输出更具有可解释性。其公式如下:
εsSSA=min{N∈N∣RMSE(TL,TSSA(N))<γ}
εsSSA代表可解释性分数,
TSSA(N)代表包含N个组件的SSA输出时间序列。
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
评论(0)