大数据驱动的机械装备智能运维理论及应用
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.2.2 基于核密度异常因子的异常数据检测方法

基于传统LOF的异常数据检测存在两个缺点[10][11]。①邻近数k需要人为设定,因此异常数据的检测结果受主观因素影响。例如,如图2-10(a)所示的样本p及其10邻域点全部为异常数据,异常样本数量多且具有相近的特征分布。若恰好人为设定邻近数k为10,则这些异常数据的LOF将接近于1,与高质量数据的LOF值相近,因此难以有效区分异常数据。②LOF未考虑数据分布差异,不适用于复杂数据特征分布下的LOF计算。例如,如图2-10(b)所示的高质量数据分布于高密度数据簇A与低密度数据簇B,样本p位于数据簇B的边界,其部分k邻域点属于数据簇A。由式(2-19)可知,当某一样本的局部可达密度越小于其邻域样本的局部可达密度时,LOF值越大,表明该样本为异常数据的概率越高。当样本p的部分k邻域点位于高密度数据簇时,增大了其邻域点的局部可达密度,进而增大了LOF值,导致样本p被误判为异常数据点的可能性提高。因此,传统LOF无法准确反映数据真正的异常情况,需要利用邻域点密度分布对LOF计算进行矫正。为克服上述两个缺点,引入Nadaraya-Watson回归[12],构建基于核密度估计的局部异常因子(Kernel Density Estimation Local Outlier Factor,KLOF)的异常数据检测方法[13],检测离线异常数据。

图2-10 复杂数据特征分布及点的近邻表示

基于KLOF的异常数据检测方法流程如图2-11所示,可总结为如下三个步骤。

图2-11 基于KLOF的异常数据检测方法流程

(1)滑窗分割与特征提取。利用滑动窗将数据分割为多个数据段,每个数据段可视为一个数据样本,记数据样本组成的集合为M。设置滑动窗的长度为wc,重叠率η为90%。设wc初始值为w0,循环递增值为Δw,此处两者均设置为500个采样点长度。wc的最大值wmax为:

式中,l为数据长度;kmax为近邻数所取得的最大值。式(2-20)给出了wc的上限,保证分割的数据段数大于搜索的近邻数,使算法正确执行。

提取每个数据段的23个时域、频域特征指标,包括均值、最大值、最小值、峰值、均方根值、峰值指标、方差、方根幅值、平均幅值、波形指标、峰值、脉冲指标、裕度、偏斜度、峭度15个时域特征指标,以及基于“db4”小波三层小波包分解后计算获得8个频带能量指标。

(2)KLOF计算。KLOF的计算不再基于单一邻近数k进行,而是给定k的取值范围[kminkmax],每次迭代循环中临近数k加1,并寻找k的最优取值。当邻近数k∈[kminkmax]时,计算数据样本集合M的LOF值{LOFkp)|pM}。引入Nadaraya-Watson核回归重构LOF值,并进行权重平均化,弱化k的影响。数据样本p的Nadaraya-Watson核回归估计LOF定义为:

式中,样本o为样本p的近邻;ψ为权重敏感因子,取值为2;k·)为核函数,定义如下:

β=1时,核函数输出曲线如图2-12所示。当x∈[-1,1]时,核函数值恒定且为1,随着|x|值的增加,核函数值递减。当|x|大于5时,kx)≈0。因此,该核函数的性质可矫正传统LOF计算,获得能够更准确地反映异常程度的KLOF。

图2-12β=1时的核函数输出曲线

核函数对传统LOF计算的矫正过程如图2-13所示。当k=5时,样本p1的第k距离邻域为图中以p1为圆心的圆形区域。o1p1的近邻点,两者之间的真实距离为dp1o1),样本o1的第k距离dko1)=do1o3)。同理,p1与其邻域内另一样本o2之间的真实距离为dp1o2),o2的第k距离dko2)=do2o4)。由图可知,dp1o1)/dko1)<dp1o2)/dko2),经式(2-22)的核函数计算后得出k[dp1o1)/dko1)]≥k[dp1o2)/dko2)]。因此,以核函数输出作为LOF的权重,能够降低异常簇样本o2p1的影响,同时使相邻样本间的权重约为1,提高异常数据检测的准确性。

图2-13 核函数对传统LOF计算的矫正过程

邻近数k取值的迭代终止条件为:kkmax或Δδζ,其中Δδ为:

式中,为样本p在第s次迭代后的KLOF值;为样本p在第s-1次迭代后的KLOF值。若第s-1次迭代后,k近邻下计算的KLOF能够反映此时数据异常分布情况,则从第s-1次到第s次迭代,Δδ值极小。通过判断Δδ是否小于阈值ζ,控制迭代过程是否终止,ζ值的计算式为:

式中,SD{·}用于计算标准差。

(3)异常数据确定。为准确区分异常数据与高质量数据,需要确定最优滑动窗长。利用不同长度的滑动窗将样本分割为多个数据段,经特征提取后,最优窗长所对应的异常数据段特征与高质量数据段特征之间分布差异最大时,计算所得的KLOF也最大。因此最优窗长可计算为:

基于3σ准则确定异常数据的判定阈值Λ为:

式中,μKLOFσKLOF分别为的均值与标准差。当某个数据样本的KLOF值大于阈值Λ时,则认为该样本为异常数据,即:

式中,MO为异常数据样本的集合。