APP下载

基于反向选择的地震前兆观测数据异常检测

2020-05-20梁意文谭成予

计算机工程与应用 2020年10期
关键词:前兆台站检测器

熊 逸,梁意文,谭成予,周 雯

武汉大学 计算机学院,武汉 430072

1 引言

地震前兆观测数据中蕴藏着很多有价值的地震相关信息,强震前存在的地震电磁异常现象已被大量的强震记录所证实,地震电磁前兆在我国已成为地震短临预测的有效手段[1]。从海量地震前兆观测数据中挖掘出有效信息是地震学者研究的热点。地震前兆观测类型较多,如电磁、电离层、地下流体(水氡、地下水温、地下水位)、红外线、GPS 等[2],由于采集的设备众多,采集密度大,导致地震前兆观测数据量巨大,地震数据的分析工作是个巨大的挑战。

传统的地震前兆观测数据异常检测方法主要是人工检查,这种方式存在处理效率低、人为经验影响大等缺点,处理结果并不理想。因此,国内外学者尝试采取不同的研究方法对其进行异常检测,如支持向量机、人工神经网络等方法[3-11]。

2010 年,Geng 等人[3]采用 BP(Back Propagation)神经网络插值技术,分析了震中周边区域f2 层峰电子密度 、NmF2 和 f2 峰 高 度 hmF2 的 异 常 变 化 。 2010 年 ,Torkar等人[4]利用人工神经网络对土地中氡的含量进行异常检测,区分了环境参数(空气和土壤温度、气压和土壤气压、降雨量)与仅由地震活动引起的异常。2011年,张兴国等人[5]利用相关分析、差分检测、固体潮相关检测、方差检测、台阶检测与金日光第四统计力学群子统计理论等多种检测方法,实现了对地震前兆观测数据的自动异常检测与报警,有一定的应用价值。2012 年,Akhoondzadeh[6]采用平均法、中值法、小波变换法和卡尔曼滤波法四种方法,对东北地震的异常TEC(Total Electron Content)变化进行了检测。后续,Akhoondzadeh[7-8]利用人工神经网络对GPS-TEC 进行异常检测,并将地震前异常与太阳地磁活动有关的异常进行了区分,证明了人工神经网络有更好的检测效果。2016年,安建琴等人[9]利用人工神经网络对地震卫星异常数据进行识别,采用汶川地震发生前10 天的ULF 频段电场波形数据,以均值、均方差、峰度和偏度作为特征信息,设计了BP 神经网络分类器,实验取得了较好的检测效果。2016年,Fisher等人[10]利用支持向量机(Support Vector Machine,SVM)对堤坝地震数据进行异常检测,使用两个不同的数据集(每个大约有80%的正常和20%的异常),整体检测准确率超过94%。2017 年,Singh 等人[11]通过多元线性回归和人工神经网络对氡的含量进行异常检测对比实验,证明了人工神经网络具有更好的检测效果。

以上研究均取得有效成果,但在实际工作中仍然存在一些问题,地震前兆观测数据中异常数据较少,正负样本分布不均衡,导致人工神经网络等机器学习模型难以训练,故此类方法也会存在异常检测准确率偏低等问题。

受生物免疫的启发,Forrest等人[12]提出了一种模拟免疫系统识别自我(self)和非我(nonself)的反向选择模型,其生理依据是T细胞的产生过程。未成熟的T细胞在胸腺中进行反向选择,对生物体self 起反应的T 细胞被清除,对self不敏感的T细胞离开胸腺到达身体各处,行使免疫机能,即只对nonself 进行免疫反应。该模型的特点是不需要先验知识,通过有限的正常样本可以检测出异常数据。后续,Zhou、Dasgupta 等团队[13]对反向选择算法进行扩展和改进,并将此思想应用于入侵检测[14-15]、故障诊断[16]、在线监测[17]、异常检测[18-20]等研究领域。例如,公茂果等人[14]将反向选择用于网络入侵检测,提出了多种网络免疫模型以及检测方法;王维等人[17]成功将反向选择应用于病毒特征提取,实现了对未知病毒的高效识别;Dasgupta等人[18]将反向选择应用于时间序列数据的异常检测;Zhu 等人[20]将反向选择算法用于大数据量的异常检测,取得了较好的检测结果。

本文将反向选择用于地震前兆观测数据的异常检测,以解决传统机器学习在检测中存在的问题。将正常前兆观测数据定义为自我,异常前兆观测数据定义为非我,通过使用自我作为训练数据集,随机生成未成熟检测器,训练数据集与未成熟检测器通过反向选择过程生成覆盖非我空间的成熟检测器,用于检测出地震前兆观测数据的非我,即异常数据,达到异常检测的目的。

2 地震前兆数据异常检测方法

2.1 地震前兆数据指标

地震前兆指标来源于“AETA 多分量地震系统”[21],此系统为课题组与北京大学合作项目,实验数据来源于此。系统中的前兆信号分为四类:低频电磁信号(频率范围0.1 Hz~200 Hz)、全频电磁信号(频率范围0.1 Hz~10 kHz)、低频地声信号(频率范围0.1 Hz~200 Hz)、全频地声信号(频率范围0.1 Hz~50 kHz)。其中,每种信号又各有3 个数据特征:均值、振铃计数、全局峰值频率。均值表示采集时间段内信号幅值的平均值,振铃计数表示采集时间段内信号正向穿越零值的次数,全局峰值频率表示采集时间段内信号出现的主频率成分。共12项指标(低频电磁均值、低频电磁振铃计数、低频电磁全局峰值频率、全频电磁均值、全频电磁振铃计数、全频电磁全局峰值频率、低频地声均值、低频地声振铃计数、低频地声全局峰值频率、全频地声均值、全频地声振铃计数、全频地声全局峰值频率)。本文选取已做标记的数据进行实验。

2.2 反向选择算法

本文采用可变实值的反向选择算法[13](V-detector算法)。算法包括两个阶段:第一阶段为检测器生成阶段;第二阶段为异常检测阶段。

在检测器生成阶段,先定义self 集,每个self 均为n维实数向量的超球体模型,通过随机选取未成熟检测器,计算未成熟检测器与self 集之间的距离(使用欧氏距离进行计算),判断检测器是否保留。若距离大于self半径,说明不在self范围,覆盖了nonself空间,标记为成熟的检测器;反之则抛弃。成熟的检测器生成算法如下:

输入:训练集S,自我半径Rs,检测器个数Tmax。

输出:成熟的检测器集D。

1. 初始化D={},T=0;

2. 初始化r;//r为预设的检测器半径

3. repeat

4. 随机生成检测器d;

5. repeatS中每个Si

6.dist=dist([Si],d);//计算距离

7. ifdist-Rs<=r

8.r=dist-Rs;//更换检测器半径

9. ifr>Rs

10.D=D∪{};//成熟的检测器

11.T=T+1;

12. untilT=Tmax;

13. returnD;

在异常检测阶段,根据生成的成熟检测器与待检测数据进行匹配。若匹配成功,说明为异常,反之,则为正常。异常检测的算法如下:

输入:成熟的检测器集D,测试集Test。

输出:Test结果分类(正常或异常)。

1. repeatTest中每个Ti

2. repeatD中每个Di

3.dist=dist(Ti,Di);//计算距离

4. ifdist<=ri//ri为检测器对应半径

5.Ti标记为 nonself;

6. 未被标记成nonself的Ti标记为self;

7. until 每个Test检测完成;

8. returnTest检测结果;

2.3 基于反向选择的地震前兆数据异常检测

本文对使用反向选择算法作为地震前兆数据异常检测模型,主要流程分为以下四部分:

(1)数据预处理

获取系统采集到的原始地震前兆观测数据,根据一段时间数据的列标准差计算生成一条n维实值向量X=,通过时间段的标准差来代表该时刻地震前兆观测数据波动性的大小,此处n=12,具体指标见2.1 节地震前兆数据12 项指标。使用主成分分析法(Principal Component Analysis,PCA)[9]对12 维指标进行降维处理,提取关键数据特征,作为能够甄别出正常和异常的数据特征。

(2)self集与nonself集定义

地震正常数据定义为self集,地震异常数据定义为nonself集:

self与nonself关系如下:

(3)生成检测器

通过反向选择算法生成成熟的检测器集,其覆盖地震异常数据nonself 空间,检测器为n维实值向量d=,检测器集即为D={d1,d2,…,dT},T为检测器个数。

(4)地震前兆数据异常检测

将上一步生成的成熟检测器与待检测地震前兆数据Test进行匹配,不匹配的即为地震正常数据,输出0,匹配成功的即为地震异常数据,输出1。用RES表示输出结果,关系如下:

对于地震前兆数据异常检测的模型,分为两个阶段,即检测器生成阶段和异常检测阶段。

图1 为检测器生成阶段,将地震中正常数据作为“地震正常数据self”,随机选取地震数据作为“未成熟的检测器”。将两者进行匹配,若达到匹配阈值则认定为无效检测器,将其删除。若不满足匹配条件则认定为成熟检测器,同时计数,直到生成指定个数的检测器,则完成该阶段。

图1 检测器生成阶段

在该阶段中,关键匹配参数自我半径Rs需要通过分析正常地震数据后设置,在实验过程中人工调整,得到最好的检测效果。

图2 为异常检测阶段。将需要检测的地震数据作为“待检测数据”输入,与上一阶段产生的成熟检测器进行匹配,若结果大于匹配阈值,则认定为nonself,标记为地震异常数据,反之则为self,标记为地震正常数据。此处的匹配阈值为成熟检测器对应的半径。由此得到self和nonself数据集。

图2 异常检测阶段

3 实验设计与分析

本文是研究地震前兆观测数据的异常检测,采用计算机免疫中的反向选择算法检测“AETA多分量地震系统”中的异常数据。该系统现已在全国各地部署了较多设备采集电磁、地声等前兆数据。选取其中4个不同地点台站的前兆观测数据进行分组实验,并通过参考文献[9]BP神经网络和参考文献[10]支持向量机两种方法进行对比实验,证明反向选择在地震前兆数据异常检测中的有效性。实验分为三部分,包括数据预处理、实验评估指标以及实验结果分析。

3.1 数据预处理

实验选取4 个真实台站(台站ID 为21、46、71、136)的前兆数据,共4 大组数据集进行实验。本节以台站ID-21为例进行实验设计,选取2017年3月17日到2017年9月4日期间采集到的2万多条原始数据进行预处理。

台站原始数据选取如表1所示,以台站ID-21为例,仅展示部分。

表1 原始前兆数据

表1 的表头依次为台站ID、低频电磁均值、低频电磁振铃计数、低频电磁全局峰值频率、全频电磁均值、全频电磁振铃计数、全频电磁全局峰值频率、低频地声均值、低频地声振铃计数、低频地声全局峰值频率、全频地声均值、全频地声振铃计数、全频地声全局峰值频率。

原始数据每条时间间隔为10 min,本文设定待检测数据的时间间隔为3 h一条,故选取每18条原始数据为一小组,计算列标准差得出一条实验数据,代表该段时间的数据波动情况,计算公式如下:

其中,σ表示计算结果;k表示原始数据条数,本文中值为20;xi表示原数据值;μ表示k条原始数据平均值。

将列标准差处理后的数据通过PCA 进行降维处理,提取关键数据特征。

通过预处理阶段最终获得1 385条实验数据,如表2所示(仅展示部分)。表2表头为降维后的4项主成分数据,表头中的“c”代表是否异常,1为异常,0为正常。

表2 预处理后的数据

3.2 评估指标

模型的性能和开销采用4个指标进行衡量:检测概率(Probability of Detection,POD)、误报率(False Alarm Ratio,FAR)、准确率(Accuracy,ACC)、耗时(Time,T),其中检测与实际结果关系比对见混淆矩阵,如表3。

表3 混淆矩阵

根据表3 混淆矩阵,计算出POD、ACC、FAR,计算公式如下:

其中,POD表示实际异常且检测异常的比例,值越高表示对异常的检测越准确;FAR表示实际正常而检测异常的比例,值越高表示对正常的检测越不准确;ACC表示检测结果与人工标记的结果一致的比例,值越高表示对数据的检测率越准确;T表示检测时间,时间越短说明开销越小。

3.3 实验结果分析

实验分为4组进行,分别为台站ID-21、ID-46、ID-71、ID-136,针对4个不同地点的台站前兆观测数据进行对比实验。每组均包括3项实验,分别为本文提出的反向选择方法、BP 神经网络、支持向量机,通过对比实验验证本文方法的有效性。根据参考文献[9-10]设置对比实验的关键参数,BP 神经网络关键参数epochs 设置为1 000、lr设置为0.001、goal设置为0.000 001、show设置为200,支持向量机选择使用带有RBF 内核的OCSVM 以及10折交叉验证。

实验结果统计各项评估指标,详见表4~表8。

表4 实验结果统计(台站ID-21)

表5 实验结果统计(台站ID-46)

表6 实验结果统计(台站ID-71)

表7 实验结果统计(台站ID-136)

表4、表5、表6、表7依次为ID-21、ID-46、ID-71、ID-136 对比实验结果,表8 为4 个台站实验结果的平均结果。通过对比实验结果的POD、FAR、ACC和T指标,可得出每组实验中,反向选择的检测准确率均高于BP神经网络和支持向量机,误报率均最低,时间开销均最小。人工神经网络和支持向量机依赖于大量的训练集,但是在本文的场景中,数据样本的有限性会降低异常检测的准确性。反向选择不需要先验知识,并且能通过有限的正常样本更准确地检测出异常数据。实验结果证明,反向选择算法在地震前兆观测数据异常检测上具有更好的检测结果。

表8 实验结果统计(平均结果)

4 结束语

地震前兆观测数据中,异常数据的检测和分析是地震研究的关键。现有的人工神经网络、支持向量机等异常检测方法,无法克服地震前兆观测数据中异常样本数据稀少的问题。针对此问题,本文提出基于反向选择的异常检测方法,该方法将地震前兆观测数据的正常数据作为自我,异常数据作为非我,通过有限的正常样本检测异常数据,从而克服由于异常数据少导致检测准确率不高的问题。实验选取台站真实的前兆数据分别与BP神经网络、支持向量机进行对比实验,本文方法均取得了更好的检测效果,从而证明了基于反向选择的地震前兆观测数据异常检测方法的有效性。

本文的工作取得一定成果,但仍存在可以改进的地方。接下来对反向选择算法进一步研究:高效智能选取自我集self,使self集具有更高的完备性,有效减小误报率;算法自动调整匹配阈值,减少人为调整的过程。通过后续研究提高地震前兆数据的异常检测效果。

猜你喜欢

前兆台站检测器
中国科学院野外台站档案工作回顾
地震台站基础信息完善及应用分析
一种适用于高铁沿线的多台站快速地震预警方法
论春秋时期天命观的变迁及其新标准
哪些现象是地震前兆
基于二次否定剪切选择的入侵检测方法*
车道微波车辆检测器的应用
一种柱状金属物质量检测器的研究
口腔综合治疗台水路回吸检测器的研制与应用
基层台站综合观测业务管理之我见