人工免疫算法在AETA异常检测中的应用研究

2019-03-21 11:35李柏杭王新安雍珊珊徐伯星黄继攀
计算机技术与发展 2019年3期
关键词:台站亲和力抗原

李柏杭,王新安,雍珊珊,徐伯星,黄继攀

(北京大学 深圳地震监测预测技术研究中心,广东 深圳 518055)

0 引 言

在实际工程应用中,对设备运行状态的刻画与描述往往是建立在对系统一系列参数的观测与分析基础之上的。因此,异常数据的识别问题可视为对观测到的时间序列中异常数据的发现与提取。随着异常检测理论及技术的发展,出现了各种异常信号检测方法,如基于时间序列的方法、基于神经网络的方法、基于模式识别的方法等。这些方法或需要数据有较好的时间连续性或需要大量正常/异常特征信号作为先验知识进行训练,而数据缺失和先验知识的获取难度限制了这些方法在实际检测中的应用[1]。

相比之下,人体免疫系统对异常的检测更多地依赖于对正常状态的经验累积,避免了对异常特征信号的收集。从系统的角度看,免疫系统是一个自组织、自适应的强鲁棒性系统。从信息处理的角度看,免疫系统是一个具有多样性识别能力的强大信息处理系统。自20世纪90年代起,越来越多研究人员模拟和应用人体免疫系统的信息处理能力以解决工程和科学问题,并逐渐形成了一种计算范式——人工免疫系统(artificial immune system,AIS)。人工免疫算法主要应用于模式识别、异常检测以及最优值求解。其中,异常检测是人工免疫算法最主要的应用领域。Timmis等[2-5]将人工免疫系统应用于模式识别领域并且指出AIS在异常值识别中的应用是可行且有效的。Hunt和Cooke[6]研究了基于AIS模型的无监督学习算法,并将其应用到DNA序列的分类任务中。Zhou Ji等将AIS直接应用于二维空间内的图形形状识别,得到了很好的识别率[7]并提出了基于人工免疫系统的否定选择算法来做入侵检测[8];Secker等将人工免疫系统应用于垃圾邮件的检测[9];Dan等将人工免疫算法应用于冰箱温度异常检测[10]。在这些工作中,人工免疫算法对异常数据的检测效果都得到了有效验证。相较于其他异常检测方法,人工免疫算法具有对数据的连续性要求较低、无需提供异常信号作为先验知识而只需要正常信号作为先验知识进行训练的优势。文中参考了Timmis等提出的RLAIS[11-13]和Forrest提出的异常识别算法[14-16],利用免疫学中“自我”、“非我”的概念定义正常数据和异常数据,从而进行异常检测。

1 AETA多分量地震监测系统

多分量地震监测系统AETA由数据处理终端、地声传感探头、电磁传感探头及监测数据云平台和数据分析系统组成[17-21],如图1所示。感知来自地下的电磁扰动和地声信号,实时采集数据通过互联网(有线或无线)网络将数据传输到云平台进行后续存储、特征提取和异常分析等。截至目前,AETA系统在中国地震局的支持下,在全国范围内安装约200余台,遍布河北、四川、云南、西藏、广东和台湾等地区,其中在四川布设设备数量达93台,基本覆盖四川全境重点区域。

图1 AETA多分量地震监测系统框图

AETA设备有4种分量,分别为低频电磁分量、全频电磁分量、低频地声分量、全频地声分量,文中主要研究低频电磁分量。该分量数据具有如下特点:数据本身没有正常或者异常的标签;多数台站的数据具有以天为周期的变化规律;不同台站数据波动可能不同;同一台站数据在不同时间波动不同;由于电力供应问题,台站数据可能会出现间断数小时的情况。

2 基于人工免疫方法的异常检测

2.1 人工免疫系统

人体系统几乎每时每刻都处于各种病原体的围攻之中,免疫系统作为人体防护的主要屏障,需要具备两方面的功能:一是淋巴B细胞产生抗体对抗原的检测,二是淋巴T细胞对有害抗原的有效清除。对抗原的检测机制一般描述为对本体(“自我”物质)及异体(“非我”物质)的鉴别。一旦免疫系统检测出了“非我”物质,则启动免疫应答进行清除。抗原-抗体识别方式有如下特点:

(1)抗体是随机产生的,但并不是所有随机产生的抗体均能够参与免疫识别检测。抗体是通过抗体对抗原的亲和力大小来进行选取的。亲和力是指抗体的识别能力,一般采用欧氏距离进行计算,对抗原亲和力越大的抗体识别能力越强。亲和力低的抗体有可能将“自我”物质检测为异常。因此,亲和力较大的抗体才可以参与免疫识别。

(2)匹配的异常检测机制。免疫系统无法获取所有“非我”物质的先验知识,只有“自我”物质的先验知识。因此,免疫系统异常检测机制是将抗原与抗体库进行匹配,若在抗体库中无匹配的抗体,则认为该抗原是“自我”物质;反之,若在抗体库中发现有匹配的抗体,则认为该抗原是“非我”物质,判定为异常。

(3)对抗原特征识别有学习及记忆功能。当发生同类型抗原再次入侵时,免疫应答的响应时间会大大缩短。

Forrest基于上述机制提出的实数域人工免疫系统[21]具体构建及运行过程主要有如下2个步骤。

(1)学习及抗体库的建立。对抗原的检测基础在于“自我”物质与“非我”数据的识别。抗体库的建立采用负向选择算法。首先为系统提供足够多的“自我”数据信息特征,构成学习样本集合,即“自我”集合。再通过负向选择算法建立抗体库。操作过程如图2(a)所示。

(2)异常识别。将设备采集到的数据作为输入,与抗体库中的抗体进行匹配计算,实现异常数据识别。识别过程如图2(b)所示。

2.2 基于人工免疫的异常识别算法

借鉴免疫系统中的“自我”与“非我”的概念帮助人们获得一个台站的数据变化规律。将这一过程迁移到二维空间里。将正常数据看作是自体细胞,以此划分自我和非我。从而有如下定义:

(a)抗体库生成流程

(b)抗体库匹配流程

定义1 “自我”区域:在二维空间S中,正常数据所在的坐标点(x,y)的集合∪(xi,yi)。

定义2 “非我”区域:在二维空间S中,“自我”区域的补集Cs∪(xi,yi)。

通过对历史数据的学习,抗体将会占据“非我”区域,而该区域之外的区域则认为是正常数据范围。

亲和力函数决定了模型如何界定“自我”区域与“非我”区域。通常,抗体的亲和力通过抗体与抗原之间的欧氏距离d来确定[22],这样需要计算抗体与每个“自我”样本之间的距离,当样本数量较大时,计算量也随之增大。为了解决这一问题,结合AETA系统数据特点对亲和力函数的计算方法进行了改进。亲和力函数的选取有以下标准:

(1)距离样本点最小距离越近的免疫细胞亲和力越低。

(2)若距离样本点最小距离相同,则最近的样本点出现的频次越高,免疫细胞亲和力越低。

根据以上两点要求设计亲和力函数,如下:

(1)

其中,d为当前免疫细胞到最近的“自我”样本的距离;p为距离最近的样本点出现的频次;σ为控制参数,用于调节频次与距离的权重,若σ较大,则频次对亲和力函数影响较大,若σ较小,则最近距离对亲和力函数影响较大。此处σ由三折交叉验证方法确定。引入频次p可以将重叠的“自我”样本统计后当作一个样本进行计算,这样就减少了大量对重叠样本的重复计算。

根据抗体的亲和力筛选得出抗体库后,即把二维空间划分成为“自我”区域与“非我”区域。将待测数据与抗体库中抗体进行匹配,在“自我”空间的样本就是正常数据,在“非我”空间的样本就是异常数据,将一天的数据综合起来,统计异常数据占比,最终判断当天数据是否存在异常,给出综合评价结果。

这里定义异常率:

(2)

其中,Abnormal为落在“非我”区域的待测样本点的数量;Data为待测样本点总数。正常情况下,即使某天设备数据完全正常,也会有一些系统误差导致的异常数据出现,所以当p值较小的时候,仍然认为该天设备数据是正常的。当p>0时,认为该天的数据存在异常。

3 仿真计算与结果分析

从波形的幅度大小、毛刺多少以及波动形状是否为方波3个方面进行判断,将AETA监测数据分成8种类型,并在AETA系统中挑选出能够代表这些类型的8个台站数据作为基准研究对象。这8个台站的名称、简写及地理位置如表1所示。

表1 台站名称简写地理位置对照

数据准备的过程如下:首先,进行特征空间分割,AETA设备一天产生480个数据,数值的范围在0~14之间,故将特征空间分割成480*150的数组,如图3(a)所示。然后将一天的数据输入数组中,数组中的值表示该范围内出现过的数据点的个数。将这个数组定义为distribution。若一天的第i个数据的数值为j,那么distribution[i][int(10*j)]=distribution[i][int(10*j)]+1,生成如图3(b)所示的网格。

选取一个太阳辐射周期(27天)的数据作为训练数据。将这些数据作为“自我”数据输入算法,即得到了数据的频次分布图,图3(c)所示为38号冕宁防震减灾局设备2017-07-01至2017-07-28的实测结果。可以看到,27天的训练数据的分布比较集中,说明正常情况下,每天的数据是一种稳定的模式。

图3 distribution数组示意

根据输入数据得到抗体库。如图4所示,灰色热力点即为输入数据;白色粗线条数据为待测数据;白色圆圈即为抗体,其所占据的区域为“非我”区域,剩余区域即为“自我”区域。对设备数据观察后,发现AETA设备电磁均值常见的异常类型有3种,图4展示了文中所述方法对这3种异常的检测情况。其中,图4(a)为幅值大幅度变化的异常,可以看到从横坐标大于150开始,异常波形的幅值明显高于正常水平,异常数据进入“非我”区域,称该种异常为异常类型I;图4(b)为波形跳变时间变化的异常,可以看出,正常情况下,波形在横轴为100的时候下跳,而异常波形在横轴为120的时候下跳,称该种异常为异常类型II;图4(c)为波形突然跳变的异常,可以看到在横轴为100的时候波形突然跳变,而正常波形在此处没有跳变,另外,在横轴为300附近的数据幅值比正常数据略小,称该种异常为异常类型III;图(d)为正常的待测数据完全落在检测器定义的“自我”区域内。使用文中方法对AETA设备数据进行异常检测,这3种常见的异常均可以被检测出来。

(a)异常类型I,异常值p=0.59,异常

(b)异常类型II,异常值p=0.16,异常

(c)异常类型III,异常值p=0.19,异常

(d)正常数据,异常值p=0.00,正常

为了进一步证明文中方法可以有效地检测出AETA设备的异常数据,对第3节中所列出的8个台站从2017年9月28日到2017年10月31日的数据进行了检测,统计结果如表2所示。

表2 异常检测结果

该算法对异常类型I的检测成功率为87.20%;对异常类型II的检测成功率为83.33%;对异常类型III的检测成功率为55.56%。异常类型I的检测成功率要高于异常类型II和异常类型III,这是因为异常I的异常数据持续时间通常比较长,当此类异常数据输入算法后,会有较多数据进入“非我”区域,又根据第2节中提到的异常检测策略可知,此类异常对应的异常值较大,容易区分。而异常类型II和异常类型III通常只有少数的数据进入“非我”区域,因此异常值较小,不容易区分。另外,文中算法对于部分台站的异常数据检测成功率较高,而某些台站的检测成功率较低,经过对数据的查看和对比,发现检测成功率较低的台站均具有一个特点:数据没有以1天为周期的变化规律。原因是,当数据不具备这样的规律时,算法无法根据学习样本得到一个清晰的“自我”区域,因此难以对此类台站数据进行准确的异常检测。

4 结束语

在时间序列的异常数据识别方面,大多数算法需要异常特征的先验知识,而异常样本数据的收集较为困难。相比之下,人工免疫算法巧妙避开了这个问题:对数据异常识别更多地依赖于对正常状态的经验累积。从实验结果来看,该算法可以有效地检测出AETA系统中的8种典型波形中常见的3类异常数据。另外,提出了适合AETA系统数据的亲和力函数,减小了重复计算抗体与“自我”样本之间距离的计算量。在未来的研究中,可以进一步对亲和力函数进行优化,进一步提升算法效率和准确率。

猜你喜欢
台站亲和力抗原
苏州市D抗原阳性无偿献血者C和e抗原阴性率及其筛血策略*
基于ETL技术的台站信息同步应用研究
血清铁蛋白、IL-6和前列腺特异性抗原联合检测在前列腺癌诊断中的应用
地震台站基础信息完善及应用分析
一种适用于高铁沿线的多台站快速地震预警方法
负载抗原DC联合CIK对肝癌免疫微环境的影响
关于血型问题的释疑
一种具备干扰台站剔除的多台站定位方法
Just for today
周毅:做个有亲和力的气质女