首页> 中国专利> 面向传感器单数据流的聚集异常检测方法

面向传感器单数据流的聚集异常检测方法

摘要

面向传感器单数据流的聚集异常检测方法,本发明涉及面向传感器单数据流的聚集异常检测方法。本发明为了解决现有的异常检测方法不能满足实时性要求的问题。面向传感器单数据流的聚集异常检测方法采用离线聚集异常检测与在线聚集异常检测实时检测相结合的方式,有效地结合了通过训练子集进行原始数据建模,真实数据集验证了抽样高斯过程回归预测模型对于传感器单数据流聚集异常的适用性。本发明适用于异常检测领域。

著录项

  • 公开/公告号CN103345593A

    专利类型发明专利

  • 公开/公告日2013-10-09

    原文格式PDF

  • 申请/专利权人 哈尔滨工业大学;

    申请/专利号CN201310325811.4

  • 申请日2013-07-31

  • 分类号G06F19/00(20110101);

  • 代理机构23109 哈尔滨市松花江专利商标事务所;

  • 代理人岳泉清

  • 地址 150001 黑龙江省哈尔滨市南岗区西大直街92号

  • 入库时间 2024-02-19 20:03:36

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-04-27

    授权

    授权

  • 2013-11-06

    实质审查的生效 IPC(主分类):G06F19/00 申请日:20130731

    实质审查的生效

  • 2013-10-09

    公开

    公开

说明书

技术领域

本发明涉及一种异常检测方法,具体涉及面向传感器单数据流的聚集异常检测方法。

背景技术

由于传感器一般应用于测试设备中,其数据通过通信网络进行传输,因此数据很容易 被腐蚀,而未检测的错误将对数据值的实时分析产生较大影响。因此NSF(National Science  Foundation)已经对数据质量的自我完善与控制提出了明确的要求。异常检测就是用于鉴别 与历史模型有很大偏离的数据模式。在传感器中异常数据是由传感器本身或数据传输中的 错误或者较少出现的系统异常行为等引起的,而这些异常是用户非常感兴趣的。对于传感 器中相对于历史模式的异常—聚集异常出现时(聚集异常一般出现在周期的时间序列数据 流中,通过历史数据模式的对比来检测异常数据模式)需要对此采取相应行为进行异常模 式的清除,以便于避免系统灾难的发生。传感器中对异常检测的要求大多是实时的,因此 异常检测算法必须是快速地以保证数据实时采集的要求。

传统的异常检测利用数据的图形化工具来手动识别数据中的异常,但是手动的方法在 数据流的应用中不能满足实时性要求,因为手动的方式难以持续每周七天,每天24小时 的强度。最近,研究者对统计与机器学习的方法进行了研究,例如minimum volume  ellipsoid,convex pealing,近邻聚类,神经网络分类器,支持向量机分类器和决策树等, 这些方法的效率优于手动方法,但是这些方法的缺点使得其不适用于实时的数据流异常检 测。minimum volume ellipsoid和convex pealing方法要求必须将所有数据存储后再进行异 常检测;而近邻聚类、支持向量机的方法对于大规模数据其计算量非常大;而神经网络分 类器、支持向量机分类器以及决策树要求是有监督的学习方式。由于传感器实时持续的收 集数据,作用于整个数据集的方法将失效。

发明内容

本发明为了解决现有的异常检测方法不能满足实时性要求的问题,从而提出了面向传 感器单数据流的聚集异常检测方法。

面向传感器单数据流的聚集异常检测方法包括下述步骤:

步骤A、离线聚集异常检测:

步骤一、通过面向传感器对待检测的数据流进行采集的离线训练数据,确定高斯过程 回归模型的均值函数和协方差函数的类型,并设定离线训练数据的窗口尺寸,执行步骤二;

步骤二、设定均匀单链抽样方法的抽样比,执行步骤三;

步骤三、将步骤一中的离线训练数据的窗口尺寸与步骤二中设定的抽样比作为均匀单 链抽样方法的输入参数,并根据步骤一中通过面向传感器采集的离线数据获得该数据的抽 样样本,执行步骤四;

步骤四、将步骤三所述的抽样样本及该样本对应的到达索引值进行归一化处理,获得 训练数据集合,执行步骤五;

步骤五、设定高斯过程回归模型中均值函数和协方差函数的初始值,所述的初始值为 [0-1]中的随机值,执行步骤六;

步骤六、将步骤四所述的训练数据集合作为高斯过程回归模型的训练数据对,将步骤 五中设定的参数初始值作为高斯过程回归模型的超参数初始值,进行高斯过程回归模型的 训练,并将训练数据集合中归一化后的索引值作为训练后的高斯过程回归模型的预测输入 数据进行预测,获得与预测输入数据对应的均值及方差输出数据,执行步骤七;

步骤七、判断步骤六所述的均值及方差输出与步骤一中的离线训练数据拟合情况是否 符合要求,所述的要求为步骤一所述的离线训练数据位于步骤六所述的高斯过程回归模型 预测输出值的置信区间内,若是执行步骤八;若否执行步骤九;

步骤八、获得抽样比和最优模型参数;

步骤九、以N秒的间隔增加抽样比,执行步骤三;

其中,0.05≦N≦0.35,

步骤B、在线聚集异常检测,将离线聚集异常检测过程中获得的抽样比和离线训练数 据的窗口尺寸作为均匀单链抽样方法的输入参数,将最优模型参数作为GPR模型的超参 数初始值:

步骤1、检测数据流,执行步骤2;

步骤2、将离线聚集异常检测过程中获得的抽样比和离线训练数据的窗口尺寸作为均 匀单链抽样方法的输入参数,通过均匀单链抽样方法获得抽样数据元素,且统计获得抽样 数据元素的个数;并通过抽样与离线训练数据窗口尺寸的乘积确定抽样数据元素的个数, 执行步骤3;

步骤3、比较步骤2中通过均匀单链抽样方法获得抽样数据元素的个数与通过抽样与 离线训练数据窗口尺寸的乘积确定抽样数据元素的个数,

当通过均匀单链抽样方法获得抽样数据元素的个数小于通过抽样与离线训练数据窗 口尺寸的乘积确定抽样数据元素的个数执行步骤2;

当通过均匀单链抽样方法获得抽样数据元素的个数大于通过抽样与离线训练数据窗 口尺寸的乘积确定抽样数据元素的个数执行步骤4;

当通过均匀单链抽样方法获得抽样数据元素的个数等于通过抽样与离线训练数据窗 口尺寸的乘积确定抽样数据元素的个数执行步骤5;

步骤4、更新抽样样本集合,即将一个抽样样本元素删除,执行步骤5;

步骤5、将最优模型参数作为高斯过程回归模型的超参数初始值,并将步骤4中更新 后的抽样样本及其对应的索引值的集合作为高斯过程回归模型的训练数据对进行训练,获 得训练后的最优的高斯过程回归模型,执行步骤6;

步骤6、将传感器下一时刻采集数据的索引作为最优的高斯过程回归模型的测试输入 数据进行测试,获得此时传感器正常数据的均值和置信区间,确定了下一时刻传感器的正 常值的范围,执行步骤7;

步骤7、将下一时刻传感器采集的数据与步骤6确定的正常值的范围进行比较,若超 出这一范围则将其标记为聚集异常数据,执行步骤8;若不超出这一范围则不对数据进行 标记,直接执行步骤8;

步骤8、判断数据流是否结束,若是结束;若否执行步骤2。

步骤六所述的将步骤四所述的训练数据集合作为高斯过程回归模型的训练数据对,将 步骤五中设定的参数初始值作为高斯过程回归模型的超参数初始值,进行高斯过程回归模 型的训练,并将训练数据集合中归一化后的索引值作为训练后的高斯过程回归模型的预测 输入数据进行预测,获得与预测输入数据对应的均值及方差输出数据的具体过程为:

步骤a、根据设定的抽样比获得高斯过程回归模型的训练数据,包括抽样样本及其对 应的索引值;

步骤b、根据步骤a获得的抽样样本及索引值确定高斯过程回归模型的训练数据对, 设定高斯过程回归预测模型的超参数,建立初始的高斯过程回归预测模型;

步骤c、优化步骤b所述的超参数,根据优化后的超参数建立最优的高斯过程回归模 型;

步骤d、将训练数据对中的索引值作为最优的高斯过程回归模型的预测输入数据进行 预测,获得与预测输入数据对应的均值及方差输出数据,并通过拟合的结果比较调整抽样 比,最终确定在线异常检测的抽样比及初始的模型参数。

所述的均匀单链抽样方法包括下述步骤:

步骤e、开始,接收数据流;执行步骤f;

步骤f、判断接收的数据元素是否为第一个数据元素,若是执行步骤g,若否执行i;

步骤g、存储该数据元素,作为抽样样本元素,执行步骤h;

步骤h、在下一个小窗口中随机选取一个索引值,执行步骤i;

步骤i、判断通过步骤g存储后得到的所有抽样样本元素中具有最小索引值的数据元 素是否过期,若是执行步骤j;若否执行步骤k;

步骤j、删除通过步骤g存储后得到的所有抽样样本元素中具有最小索引的数据元素, 执行步骤m;

步骤k、判断是否存在数据元素失效现象,若是执行步骤l;若否执行步骤m;

步骤l、随机代替一个已经获得的抽样数据;执行步骤m。

步骤m、比较当前索引值与已存储的数据索引值,若相等执行步骤n;若不相等执行 步骤p;

步骤n、存储索引值,执行步骤o;

步骤o、在下一个小窗口中随机选取一个索引值,执行步骤p;

步骤p、判断数据流是否结束,若是结束;若否执行步骤f。

本发明通过历史数据建立预测模型,得到当前数据的均值和置信区间,将当前数据值 与置信区间比较,如果超出区间,则认为其为异常数据,这种方法只需要较少的历史数据, 算法执行效率增加,减小了计算量;且输入的训练数据不要求具有分类标签,能够根据实 时到达的数据自适应地检测异常情况,该方法适应于传感器的实时异常检测要求。采用高 斯过程回归预测模型(GPR),建立基于时间序列的预测框架,有效地利用了GPR输出具 有不确定性表达的特性,通过抽样GPR预测模型框架,采用离线训练与在线实时检测相 结合的方式,有效地结合了通过训练子集进行原始数据建模。

附图说明

图1为本发明所述的面向传感器单数据流的聚集异常检测方法流程图;

图2为离线聚集异常检测的方法流程图;

图3为在线聚集异常检测的方法流程图;

图4为具体实施方式二所述的获得与预测输入数据对应的均值及方差输出数据的方 法流程图;

图5为具体实施方式三所述的均匀单链抽样方法流程图;

图6为正常情况下一周内的电力消耗曲线图;

图7为工作日内出现1个假期的电力消耗曲线图,图中W表示异常区域;

图8为工作日内出现两个假期的电力消耗曲线图;

图9为space数据集原始数据图;

图10为Space数据集—基于抽样GPR的异常检测结果曲线图。

具体实施方式

具体实施方式一、结合图1至图3具体说明本实施方式,本实施方式所述的面向传感 器单数据流的聚集异常检测方法包括下述步骤:

步骤A、离线聚集异常检测:

步骤一、通过面向传感器对待检测的数据流进行采集的离线训练数据,确定高斯过程 回归模型的均值函数和协方差函数的类型,并设定离线训练数据的窗口尺寸,执行步骤二;

步骤二、设定均匀单链抽样方法的抽样比,执行步骤三;

步骤三、将步骤一中的离线训练数据的窗口尺寸与步骤二中设定的抽样比作为均匀单 链抽样方法的输入参数,并根据步骤一中通过面向传感器采集的离线数据获得该数据的抽 样样本,执行步骤四;

步骤四、将步骤三所述的抽样样本及该样本对应的到达索引值进行归一化处理,获得 训练数据集合,执行步骤五;

步骤五、设定高斯过程回归模型中均值函数和协方差函数的初始值,所述的初始值为 [0-1]中的随机值,执行步骤六;

步骤六、将步骤四所述的训练数据集合作为高斯过程回归模型的训练数据对,将步骤 五中设定的参数初始值作为高斯过程回归模型的超参数初始值,进行高斯过程回归模型的 训练,并将训练数据集合中归一化后的索引值作为训练后的高斯过程回归模型的预测输入 数据进行预测,获得与预测输入数据对应的均值及方差输出数据,执行步骤七;

步骤七、判断步骤六所述的均值及方差输出与步骤一中的离线训练数据拟合情况是否 符合要求,所述的要求为步骤一所述的离线训练数据位于步骤六所述的高斯过程回归模型 预测输出值的置信区间内,即离线数据是否基本位于高斯过程回归模型预测输出的方差确 定的范围内,若是执行步骤八;若否执行步骤九;

步骤八、获得抽样比和最优模型参数;

步骤九、以N秒的间隔增加抽样比,执行步骤三;

其中,0.05≦N≦0.35,

步骤B、在线聚集异常检测,将离线聚集异常检测过程中获得的抽样比和离线训练数 据的窗口尺寸作为均匀单链抽样方法的输入参数,将最优模型参数作为GPR模型的超参 数初始值:

步骤1、检测数据流,执行步骤2;

步骤2、将离线聚集异常检测过程中获得的抽样比和离线训练数据的窗口尺寸作为均 匀单链抽样方法的输入参数,通过均匀单链抽样方法获得抽样数据元素,且统计获得抽样 数据元素的个数;并通过抽样与离线训练数据窗口尺寸的乘积确定抽样数据元素的个数, 执行步骤3;

步骤3、比较步骤2中通过均匀单链抽样方法获得抽样数据元素的个数与通过抽样与 离线训练数据窗口尺寸的乘积确定抽样数据元素的个数,

当通过均匀单链抽样方法获得抽样数据元素的个数小于通过抽样与离线训练数据窗 口尺寸的乘积确定抽样数据元素的个数执行步骤2;

当通过均匀单链抽样方法获得抽样数据元素的个数大于通过抽样与离线训练数据窗 口尺寸的乘积确定抽样数据元素的个数执行步骤4;

当通过均匀单链抽样方法获得抽样数据元素的个数等于通过抽样与离线训练数据窗 口尺寸的乘积确定抽样数据元素的个数执行步骤5;

步骤4、更新抽样样本集合,即将一个抽样样本元素删除,执行步骤5;

步骤5、将最优模型参数作为高斯过程回归模型的超参数初始值,并将步骤4中更新 后的抽样样本及其对应的索引值的集合作为高斯过程回归模型的训练数据对进行训练,获 得训练后的最优的高斯过程回归模型,执行步骤6;

步骤6、将传感器下一时刻采集数据的索引作为最优的高斯过程回归模型的测试输入 数据进行测试,获得此时传感器正常数据的均值和置信区间,确定了下一时刻传感器的正 常值的范围,执行步骤7;

步骤7、将下一时刻传感器采集的数据与步骤6确定的正常值的范围进行比较,若超 出这一范围则将其标记为聚集异常数据,执行步骤8;若不超出这一范围则不对数据进行 标记,直接执行步骤8;

步骤8、判断数据流是否结束,若是结束;若否执行步骤2。

本实施方式所述的高斯过程回归模型是一种用于非线性回归问题的概率技术,即通过 可用的训练数据限制先验分布来完成对后验分布的估计。即通过GP的先验分布进行定义 的泛函空间,GP的后验分布的函数预测输出值可以利用贝叶斯框架计算得到。如,训练 数据集合其中,x为训练数据集合的自变量,y为训练数据集合的目标值, n为训练数据的编号,D1是由N个测试数据对组成的,相应的输入数据的矩阵X∈Rd×N是 由测试数据对中的输入构成,而测试数据矩阵是由N*个测试输入组成的, d为输入数据的维度。此时f(x*)即为测试数据对应的输出,其构成的测试输出向量为 m与m*分别用于表示训练数据、测试数据集对应的均值向量。由(3)式可知, f*与y将服从联合高斯分布,即

yf*~(mm*,C(X,X)K(X,X*)K(X*,X)K(X*,X*))---(1)

其中,C(X,X)=K(X,X)+δijI为训练数据的协方差矩阵,即将训练数据代入协方差 函数的具体形式中获得的矩阵,其为N×N维,其中δij为设定的白噪声的方差,I为N×N 的单位阵;K(X,X*)为测试数据与训练数据的协方差向量,即将每个测试数据与训练数 据代入协方差函数的具体表达式中获得,为N×N*维;K(X*,X)为K(X,X*)的转置,即 K(X*,X)=K(X*,X)T;K(X*,X*)为测试数据本身的协方差矩阵,即将测试数据代入后获 得的N*×N*维的矩阵;m为测试数据的输入矩阵X代入具体的均值函数表达式后得到的 1×N维的列向量,而m*是将测试输入X*代入同样的均值函数表达式后得到的1×N*的测 试均值向量。

公式(1)可以用于预测测试输出y*的主要依据是高斯过程的性质如下所示:若x与 t服从联合高斯分布的随机向量,即

xt~(mxmt,AEETB)---(2)

则x的边缘分布如式(3a)所示,在t已知的条件下x的条件分布如式(3b)所示:

x~N(mx,A),       (3a)

x|t~N(mx+EB-1(t-mt),A-EB-1ET)     (3b)

同样,A,E,B表示协方差矩阵,符号T表示矩阵或向量的转置。

由以上高斯过程的性质并结合(1)式即可方便地得到f*所满足的后验条件分布:

f*|X,y,X*~N(f*,cov(f*)),---(4a)

f*=E[f*|X,y,X*]=m*+K(X*,X)C(X,X)-1(y-m),---(4b)

cov(f*)=K(X*,X*)-K(X*,X)C(X,X)-1K(X,X*)      (4c)

其中,由(4b)、(4c)式可知通过GPR预测的输出y*服从均值和方差的高 斯分布,即

f(x*)=m(x*)+k*TC-1(y-m(x)),---(5)

σf2(x*)=k(X*,X*)-k*TC-1k*---(6)

其中,C-1=C(X,X)-1,y为训练数据的观测值。GP模型预测输出 值的置信区间由(10)式中的确定,如95%的置信区间为 [f(x*)-2×σf2(x*),f(x*)+2×σf2(x*)],99%的置信区间为 表明GPR模型用于预测问题时不仅能够预测测试输出 的均值而且可以给出预测模型的置信水平或不确定性。这在实际的应用中可以更好地融合 外界、测试值以及模型的噪声,给出更具可靠性的预测结果。

如例A:一元线性回归预测问题是通过给定新的预测输入代入明确的表达式后得到的 输出值。而对于GPR,式(1)用于预测的函数表达式,只不过与一般的回归问题不同, f(x)是不能够用参数或者非参数的形式表示出来的,而已知的就是f(x)是一个高斯过程, 其中的各个变量f(x1),...,f(xN)服从联合高斯分布,所以得到的预测模型就是 其中,为设定的噪声的方差,i,j为自变量输入的编号, 且当i=j时,δij=1,否则其为0。将每一个训练点带入得到矩阵所以预测模型写成矩阵的形式如下:

y~(M(X),K(X,X)+σn2I)---(7)

这里可以理解为y与x之间的关系(相当于一元线性回归中的y=ax+b)。其中m(x) 与都含有未知的参数,统称为超参数,例如m(x)=a+bx, k(x,x)+σn2δij=υ0exp{-12Σl=1dωl(x(i)-x(j))2}+σn2δij,超参数为Θ=[a,b,υ0ln]这些超参 数相一元线性回归中的a,b作用相同需要利用训练数据来确定,其中x(i)与x(j)为训练数 据的自变量输入,ωl为平方指数协方差函数的距离尺寸,取值不同时,可以决定各维输 入与目标值之间的相关性。

具体的高斯过程预测步骤:

第一步:进行预测前的因素分析。即对变量之间的相关关系进行判断,确定用于预测 的训练输入与训练输出。

第二步:收集第一步确定的自变量与因变量的训练数据对{x,y},建立回归预测模型。 如训练数据集{x,y},y=t(x)|x=1,2,...,100,x是时间序列中的时间编号,y是对应于每个时间 编号的训练数据的目标函数值。建立的高斯过程模型为假设 m(x)a+bx,k(xi,xj)+σn2δij=υ0exp{-12Σl=1dωl(xi-xj)2}+σn2δij(均值函数的形式和协方差 函数的形式可以自由选择,只要保证协方差矩阵为非负定的形式即可,常用的形式就是上 面所列举的),其中,υ0为需设定的协方差函数的方差,a与b为均值函数的斜率与截距,为设定的噪声的方差。,此时均值函数和协方差函数中含有未知的参数—即超参数 Θ=[a,b,υ0ln]。

第三步:优化参数值Θ=[a,b,υ0ln],这里所使用的是贝叶斯框架,其是基于证据 最大化的理论,即超参数可通过对下式所示的对数似然函数的极大化进行确定,即

θopt=argmaxθ{log(y|X,θ)}=argmaxθ{-12log(det(K+σn2))

-12(y-m)T[K+σn2]-1(y-m)-N2log2π

其中,det是行列式符号。首先将超参数初始化为随机值(一般训练数据都是经过归 一化的数据,超参数的初始化可设为服从均值为0,方差为1的正态分布的随机值)。为 了获得上式中超参数向量的最优值θopt,采用对负对数似然函数关于θ的梯度进行求取的 方式,即

θklogp(y|X,θ)=12(y-m)TC-1CθkC-1(y-m)-12tr(C-1Cθk),

θmlogp(y|X,θ)=-(y-m)TC-1mθm

其中,符号tr为矩阵的迹操作,θm表示均值函数中涉及到的超参数,而θk是协方差 函数(包含噪声的方差)包含的超参数。利用共轭梯度法搜索得到上式最接近于0的参数 值即为最优的超参数值。此时确定的预测模型即为最优的预测模型。

第四步:利用已建立的回归模型得到预测输出。在传统的回归预测方法只需将预测输 入x*的值代入模型中即可得到输出值,GPR用于预测问题时也可以这样理解,根据前面 的叙述,测试数据的观测输出与训练数据的观测输出值将服从联合高斯分布,如式(1) 所示。

所以将预测输入和训练数据代入后右侧就已经完全已知,根据前面的定理,得到预测 输出y*的均值和方差如公式(5)和公式(6)所示。从而得到了具有均值和不确定性表达 的GPR模型预测输出。

本实施方式所述的聚集异常:即为周期性数据流中的匹配模式异常(数据幅值在整个 数据集中可能正常,但是与数据流的整体模式出现差别的情况)。

GPR方法具有可调参数少,输出具有不确定性表达,可以通过合适的参数组合对任 意系统进行逼近的特点,所以充分利用其输出具有不确定性表达的特点,对数据流的异常 数据进行检测。考虑到聚集异常一般是通过以前的模式比较得到的,其数据一般呈现周期 性,对于聚集异常检测,数据的周期性使得抽样GPR的预测框架在实际应用中必须考虑 到对周期性函数的预测能力,即抽样时必须同时保证对整个周期内数据具有较好的数据拟 合度,此时结合抽样算法的GPR预测框架可通过在线和离线两个过程的结合,实现面向 数据流聚集异常的更好检测效果。

本实施方式中公开数据集试验分析过程中,在进行数据异常检测时,其被检测的情况 如表1所示,表1表示异常检测可能出现的情况,

表1

所以为了验证异常检测算法的可用性,采用FNR与FPR作为评价指标,其定义分别 如下:

(1)FPR(False Positive Ratio)

正常数据被错误的检测为异常,然后被拒绝,又称为误报率:FPR=FN/(TP+FN);

(2)FNR(False Negative Ratio)

异常数据被检测为正常,然后被接受,又称漏报率:FNR=FP/(FP+TN);

针对于数据流异常检测,算法的执行效率也是重要的性能指标,因此本文同样将算法 的运行时间作为算法的另一种评价指标。其定义为:

t=算法在执行同样的数据量异常检测时所消耗的时间

本实施方式所述的面向传感器单数据流的聚集异常检测方法应用于公开数据集 Power与Space数据集的聚集异常检测的应用。

Power数据集:该数据集中正常数据为每周电力消耗的数据,其正常数据模式为在一 周七天内只有周六周日数据属于正常假期,其电力消耗值下降,而在周一到周五没有假期, 电力消耗呈现周期性,异常模式设定为在工作日时出现假期的情况。

正常数据的一个周期的图形如图6所示,在工作日时电力消耗与休息日有很大的差 别,正常的情况下如图6所示,异常的类别定义为在正常的工作日时电量消耗降低,即在 正常工作日的情况下有异常的情况出现,如图7和图8所示,其数据周期为672。每天的 测量数据长度为96。

首先进行高斯过程回归模型的协方差函数选择,由于协方差函数中含有多个超参数, 超参数越多训练的时间越长,所以从图中分析数据具有明显的周期性,周期性协方差函数 作为选择,其由如下公式表示:

σf22exp(-2l22sin2(ω2π(xi-xj)))

而由于在每个周期内数据具有上升和下降趋势,所以采用平方指数协方差函数对其进 行刻画,其由下式表示。

σf12exp(-(xi-xj)22l12)

高斯过程回归方法的协方差函数由下式表达:

kf(x,x)=σf12exp(-(xi-xj)22l12)+σf22exp(-2l22sin2(ω2π(xi-xj)))

所以GPR算法的协方差函数由以上两式组合而成,其中主要涉及的超参数为其中为周期协方差函数的方差,为平方指数协方差函数的方差,l1与l2分别为平方指数协方差函数和周期性协方差函数的距离尺寸,ω为周期性协方差函 中的角频率。为了加速算法的执行时间,弱化数据幅值的影响,在数据进行预测前对其进 行归一化操作。首先将前两个周期的数据作为离线数据进行训练得到抽样比和最优参数, 利用前两个周期数据进行离线训练的算法执行步骤如下所示(具体执行时将数据的周期设 定为650,所以两个周期的数据原始数据为1300个):

(1)执行UBCS算法,由于其每天测量数据是96个,分析其变化趋势首先采用每 10个数据抽取一个作为训练数据输入。得到如下抽样数据:Data1为采样数据,Data2 为原始数据,

(2)对其训练输入值和训练目标值进行归一化处理。

(3)设定初始化超参数值为[1;-1;-1;0;0;](由于归一化操作使得GPR方法的均值为 0)。

(4)将预测输入范围取为1-1300,并对其进行归一化。

(5)采用共轭梯度法对参数进行优化,实验中设定共轭梯度法中的迭代次数为100, 因为100次之后似然函数的变化已经非常缓慢,利用GPR模型进行训练得到最优模型。

(5)得到训练结果与模型拟合输出。

改变抽样比后,其训练数据和精度的对比如表2所示(运行十次取平均值),表2表示 不同抽样比对应的Power数据集算法运行时间及精度对比:

表2

表2体现了程序运行时间与模型预测精度的矛盾关系,即抽样比越大,训练数据输入 越小,训练速度越快,但是预测输出与真实数据相比,误差增大,而且随着抽样比增大, 其预测输出将不再符合真实数据的变化关系,部分真实数据将落在预测模型的置信区间 外,所以综合考虑,选择抽样比为10,此时其预测输出符合原始数据的变化趋势,真实 数据几乎全部存在于模型的不确定区间内。

由于原始的GPR方法的内存复杂度为O(N2),其计算时间复杂度为O(N3),采用抽样 方法后算法复杂度与时间复杂度都有大幅度的提升,从训练中得到最优参数值 [-0.6167;0.0156;-0.0520;0.8454;-0.9950],确定了初始的在线模型。

将优化后的参数作为在线数据预测的初始值。按照面向聚集异常的抽样GPR方法的 步骤进行训练和预测,得到异常值检测结果如下:

检测序列一共29天,异常天数为四天,待检测点为3904,其中正常数据点为3684, 真实的异常点为220个,检测出的异常点数为116个,其中主要是因为异常数据在抽样过 程中会影响后期的数据检测结果,这也再次说明预测模型在异常数据量远小于正常数据量 时,该方法的实验效果较好。其中每天数据一共是96个,按照如果一天中超过20个数据 为异常点,则认为该天是异常的情况,误检测的异常天数为4天,按照不同的衡量指标, 其异常检测效果分别如下所示,表3表示Power数据集—基于抽样GPR方法的检测结果,

表3

当验证数据集为Space数据集时:

Space数据集其周期为1000,是航空飞行器采样数据,其原始数据图形如图9所示:

采用不同的抽样比后其模型性能如下表4所示,表4表示不同抽样比对应的Space 数据集算法运行时间及精度对比:

表4

由于该数据集其数据变化频率较小,且对应的数据数值较小,在抽样比20和40左右 时其运行时间和预测模型精度较好,抽样比为5时运行时间较长,且精度相比抽样为10 时的模型提高不明显,而抽样为80的模型其时间提高较少,但其误差增加较多,综合考 虑,并观察其预测模型的图形后确定抽样比为20。

采用20:1的UBCS算法抽样后的异常检测对比如下图10所示:

异常检测率如表5所示(由于抽样具有随机性,以下是运行10次取平均值的结果), 表5表示Space数据集—基于抽样GPR预测框架的异常检测结果,

表5

通过真实数据集验证了抽样GPR预测框架对于传感器单数据流聚集异常的适用性。

具体实施方式二、结合图4具体说明本实施方式,本实施方式与具体实施方式一所述 的面向传感器单数据流的聚集异常检测方法的区别在于,步骤六所述的将步骤四所述的训 练数据集合作为高斯过程回归模型的训练数据对,将步骤五中设定的参数初始值作为高斯 过程回归模型的超参数初始值,进行高斯过程回归模型的训练,并将训练数据集合中归一 化后的索引值作为训练后的高斯过程回归模型的预测输入数据进行预测,获得与预测输入 数据对应的均值及方差输出数据的具体过程为:

步骤a、根据设定的抽样比获得高斯过程回归模型的训练数据,包括抽样样本及其对 应的索引值;

步骤b、根据步骤a获得的抽样样本及索引值确定高斯过程回归模型的训练数据对, 设定高斯过程回归预测模型的超参数,建立初始的高斯过程回归预测模型;

步骤c、优化步骤b所述的超参数,根据优化后的超参数建立最优的高斯过程回归模 型;

步骤d、将训练数据对中的索引值(即抽样样本的索引)作为最优的高斯过程回归模 型的预测输入数据进行预测,获得与预测输入数据对应的均值及方差输出数据,并通过拟 合的结果比较调整抽样比,最终确定在线异常检测的抽样比及初始的模型参数。

具体实施方式三、结合图5具体说明本实施方式,本实施方式与具体实施方式一所述 的面向传感器单数据流的聚集异常检测方法的区别在于,所述的均匀单链抽样方法包括下 述步骤:

步骤e、开始,接收数据流;执行步骤f;

步骤f、判断接收的数据元素是否为第一个数据元素,若是执行步骤g,若否执行i;

步骤g、存储该数据元素,作为抽样样本元素,执行步骤h;

步骤h、在下一个小窗口中随机选取一个索引值,执行步骤i;

步骤i、判断通过步骤g存储后得到的所有抽样样本元素中具有最小索引值的数据元 素是否过期,若是执行步骤j;若否执行步骤k;

步骤j、删除通过步骤g存储后得到的所有抽样样本元素中具有最小索引的数据元素, 执行步骤m;

步骤k、判断是否存在数据元素失效现象,若是执行步骤l;若否执行步骤m;

步骤l、随机代替一个已经获得的抽样数据;执行步骤m。

步骤m、比较当前索引值与已存储的数据索引值,若相等执行步骤n;若不相等执行 步骤p;

步骤n、存储索引值,执行步骤o;

步骤o、在下一个小窗口中随机选取一个索引值,执行步骤p;

步骤p、判断数据流是否结束,若是结束;若否执行步骤f。

对于当前比较流行的应用于数据流抽样的算法中,RS算法,其只能对数据流中新数 据的输入进行响应,而不能处理过期数据的删除,故不适用于滑动窗口数据流模型。而 CS算法其在最坏情况下内存使用量不确定,且作为多重采样算法,需要同时维护多个采 样链,导致了资源的浪费。而后提出的SBWRS算法考虑了数据流中数据的时间特性,但 是其需要存储整个窗口,故只适用于滑动窗口尺寸较小的情况。最优抽样算法也是多重抽 样算法,需要同时维护多个抽样过程。作为数据流抽样算法,旨在利用相对较少的内存使 用量来满足设定的采样样本要求,且考虑到均匀抽样算法更普遍且更受关注,数据成为样 本的概率应保持一致。这里考虑到抽样样本需要更综合的反映整个有效窗口的信息,因此 其采样样本最好能较均匀的分布在整个窗口中。针对于以上应用需要,本小节设计出一种 基于数据元素滑动窗口数据流模型的均匀单链抽样方法(UBCS,Uniform Basic-windows  Chain Sampling),该算法引进了基本窗口技术的思想,融合CS算法的优点,可以达成以 下目标:

(1)抽样算法满足均匀抽样要求,即每一个数据均以相同的概率成为采样样本。

(2)抽样算法在最坏情况下内存使用量确定,为O(k)。

(3)为了更好地得到窗口内数据的综合信息,采样样本均匀分布在当前有效窗口 内。

均匀单链抽样方法对于滑动窗口数据流S,其窗口尺寸为N,采样尺寸为k,UBCS 算法将数据流索引分为多个等宽的基本小窗口,每个基本窗口尺寸为[N/k],即第一个基 本小窗口为[1,2,3,…,N/k],第二个基本小窗口为[N/k+1,N/k+2,…,2*N/k],第i个基本窗口为 [(i-1)*N/k+1,…,i*N/k],UBCS算法从每个基本小窗口按照时间顺序均匀选择一个索引作为 本窗口内采样数据的索引,当该索引对应的数据元素到达时,将其存储在采样数据链中, 并从下一小窗口中随机选取一个样本的索引。具体描述如下:

UBCS方法输入:数据流S,滑动窗口包含元素个数N,抽样个数k

UBCS方法输出:抽样样本集

UBCS方法执行步骤:

(1)数据流开始,从第一个基本小窗口[1,2,3,…,N/k]中随机选择一个索引,该索引对 应的元素即为第一个基本小窗口信息的代表。

(2)当该索引对应的数据元素到达时,将其进行存储。

(3)当数据链中最早元素的索引与当前数据索引的差大于窗口尺寸N时,将抽样链中 最早的元素删除,释放其内存。

(4)如果抽样样本数大于已设定的采样尺寸k时(出现在滑动窗口尺寸不是采样尺寸 的整数倍时),考虑到所有的抽样元素均有效,则从当前k个抽样样本中随机删除一个元 素,释放其内存。

(5)从下一个基本小窗口中随机选择一个索引。并重复步骤(2)。

(6)数据流结束,算法停止运行。

在图7和图8中,滑动窗口尺寸设定为6,抽样样本尺寸为2,所以等宽的基本小窗 口宽度为3。算法执行过程例子如下:

第一个基本小窗口为[1,2,3],从这个基本小窗口中随机选取一个索引,假定为2;当 索引为2的数据到达时,将其存储在样本中,并从下一个基本窗口[4,5,6]中随机选取一个 索引值,假定所选值为5;则索引3,4对应的数据到达时,将其忽略;当索引5对应的数 据到达时,将其存储在抽样链中,并从下一个基本窗口[7,8,9]中随机选择一个索引,假定 选取的为7;索引为7的数据到达,将其存储后样本尺寸达到3,大于设定的采样样本尺 寸2,此时采取的处理方式是随机从3个采样样本数据中选取一个进行删除(假设删除的 是索引5对应的数据),同时从下一个基本窗口[10,11,12]中随机选取一个索引(假设为11); 当前数据索引为8时,索引为2的数据过期则删除,以此执行直到数据流结束,UBCS方 法执行流程如图5所示。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号