熊 逸,梁意文,譚成予,周 雯
武漢大學 計算機學院,武漢 430072
地震前兆觀測數(shù)據(jù)中蘊藏著很多有價值的地震相關信息,強震前存在的地震電磁異常現(xiàn)象已被大量的強震記錄所證實,地震電磁前兆在我國已成為地震短臨預測的有效手段[1]。從海量地震前兆觀測數(shù)據(jù)中挖掘出有效信息是地震學者研究的熱點。地震前兆觀測類型較多,如電磁、電離層、地下流體(水氡、地下水溫、地下水位)、紅外線、GPS 等[2],由于采集的設備眾多,采集密度大,導致地震前兆觀測數(shù)據(jù)量巨大,地震數(shù)據(jù)的分析工作是個巨大的挑戰(zhàn)。
傳統(tǒng)的地震前兆觀測數(shù)據(jù)異常檢測方法主要是人工檢查,這種方式存在處理效率低、人為經驗影響大等缺點,處理結果并不理想。因此,國內外學者嘗試采取不同的研究方法對其進行異常檢測,如支持向量機、人工神經網絡等方法[3-11]。
2010 年,Geng 等人[3]采用 BP(Back Propagation)神經網絡插值技術,分析了震中周邊區(qū)域f2 層峰電子密度 、NmF2 和 f2 峰 高 度 hmF2 的 異 常 變 化 。 2010 年 ,Torkar等人[4]利用人工神經網絡對土地中氡的含量進行異常檢測,區(qū)分了環(huán)境參數(shù)(空氣和土壤溫度、氣壓和土壤氣壓、降雨量)與僅由地震活動引起的異常。2011年,張興國等人[5]利用相關分析、差分檢測、固體潮相關檢測、方差檢測、臺階檢測與金日光第四統(tǒng)計力學群子統(tǒng)計理論等多種檢測方法,實現(xiàn)了對地震前兆觀測數(shù)據(jù)的自動異常檢測與報警,有一定的應用價值。2012 年,Akhoondzadeh[6]采用平均法、中值法、小波變換法和卡爾曼濾波法四種方法,對東北地震的異常TEC(Total Electron Content)變化進行了檢測。后續(xù),Akhoondzadeh[7-8]利用人工神經網絡對GPS-TEC 進行異常檢測,并將地震前異常與太陽地磁活動有關的異常進行了區(qū)分,證明了人工神經網絡有更好的檢測效果。2016年,安建琴等人[9]利用人工神經網絡對地震衛(wèi)星異常數(shù)據(jù)進行識別,采用汶川地震發(fā)生前10 天的ULF 頻段電場波形數(shù)據(jù),以均值、均方差、峰度和偏度作為特征信息,設計了BP 神經網絡分類器,實驗取得了較好的檢測效果。2016年,F(xiàn)isher等人[10]利用支持向量機(Support Vector Machine,SVM)對堤壩地震數(shù)據(jù)進行異常檢測,使用兩個不同的數(shù)據(jù)集(每個大約有80%的正常和20%的異常),整體檢測準確率超過94%。2017 年,Singh 等人[11]通過多元線性回歸和人工神經網絡對氡的含量進行異常檢測對比實驗,證明了人工神經網絡具有更好的檢測效果。
以上研究均取得有效成果,但在實際工作中仍然存在一些問題,地震前兆觀測數(shù)據(jù)中異常數(shù)據(jù)較少,正負樣本分布不均衡,導致人工神經網絡等機器學習模型難以訓練,故此類方法也會存在異常檢測準確率偏低等問題。
受生物免疫的啟發(fā),F(xiàn)orrest等人[12]提出了一種模擬免疫系統(tǒng)識別自我(self)和非我(nonself)的反向選擇模型,其生理依據(jù)是T細胞的產生過程。未成熟的T細胞在胸腺中進行反向選擇,對生物體self 起反應的T 細胞被清除,對self不敏感的T細胞離開胸腺到達身體各處,行使免疫機能,即只對nonself 進行免疫反應。該模型的特點是不需要先驗知識,通過有限的正常樣本可以檢測出異常數(shù)據(jù)。后續(xù),Zhou、Dasgupta 等團隊[13]對反向選擇算法進行擴展和改進,并將此思想應用于入侵檢測[14-15]、故障診斷[16]、在線監(jiān)測[17]、異常檢測[18-20]等研究領域。例如,公茂果等人[14]將反向選擇用于網絡入侵檢測,提出了多種網絡免疫模型以及檢測方法;王維等人[17]成功將反向選擇應用于病毒特征提取,實現(xiàn)了對未知病毒的高效識別;Dasgupta等人[18]將反向選擇應用于時間序列數(shù)據(jù)的異常檢測;Zhu 等人[20]將反向選擇算法用于大數(shù)據(jù)量的異常檢測,取得了較好的檢測結果。
本文將反向選擇用于地震前兆觀測數(shù)據(jù)的異常檢測,以解決傳統(tǒng)機器學習在檢測中存在的問題。將正常前兆觀測數(shù)據(jù)定義為自我,異常前兆觀測數(shù)據(jù)定義為非我,通過使用自我作為訓練數(shù)據(jù)集,隨機生成未成熟檢測器,訓練數(shù)據(jù)集與未成熟檢測器通過反向選擇過程生成覆蓋非我空間的成熟檢測器,用于檢測出地震前兆觀測數(shù)據(jù)的非我,即異常數(shù)據(jù),達到異常檢測的目的。
地震前兆指標來源于“AETA 多分量地震系統(tǒng)”[21],此系統(tǒng)為課題組與北京大學合作項目,實驗數(shù)據(jù)來源于此。系統(tǒng)中的前兆信號分為四類:低頻電磁信號(頻率范圍0.1 Hz~200 Hz)、全頻電磁信號(頻率范圍0.1 Hz~10 kHz)、低頻地聲信號(頻率范圍0.1 Hz~200 Hz)、全頻地聲信號(頻率范圍0.1 Hz~50 kHz)。其中,每種信號又各有3 個數(shù)據(jù)特征:均值、振鈴計數(shù)、全局峰值頻率。均值表示采集時間段內信號幅值的平均值,振鈴計數(shù)表示采集時間段內信號正向穿越零值的次數(shù),全局峰值頻率表示采集時間段內信號出現(xiàn)的主頻率成分。共12項指標(低頻電磁均值、低頻電磁振鈴計數(shù)、低頻電磁全局峰值頻率、全頻電磁均值、全頻電磁振鈴計數(shù)、全頻電磁全局峰值頻率、低頻地聲均值、低頻地聲振鈴計數(shù)、低頻地聲全局峰值頻率、全頻地聲均值、全頻地聲振鈴計數(shù)、全頻地聲全局峰值頻率)。本文選取已做標記的數(shù)據(jù)進行實驗。
本文采用可變實值的反向選擇算法[13](V-detector算法)。算法包括兩個階段:第一階段為檢測器生成階段;第二階段為異常檢測階段。
在檢測器生成階段,先定義self 集,每個self 均為n維實數(shù)向量的超球體模型,通過隨機選取未成熟檢測器,計算未成熟檢測器與self 集之間的距離(使用歐氏距離進行計算),判斷檢測器是否保留。若距離大于self半徑,說明不在self范圍,覆蓋了nonself空間,標記為成熟的檢測器;反之則拋棄。成熟的檢測器生成算法如下:
輸入:訓練集S,自我半徑Rs,檢測器個數(shù)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;
在異常檢測階段,根據(jù)生成的成熟檢測器與待檢測數(shù)據(jù)進行匹配。若匹配成功,說明為異常,反之,則為正常。異常檢測的算法如下:
輸入:成熟的檢測器集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檢測結果;
本文對使用反向選擇算法作為地震前兆數(shù)據(jù)異常檢測模型,主要流程分為以下四部分:
(1)數(shù)據(jù)預處理
獲取系統(tǒng)采集到的原始地震前兆觀測數(shù)據(jù),根據(jù)一段時間數(shù)據(jù)的列標準差計算生成一條n維實值向量X=
(2)self集與nonself集定義
地震正常數(shù)據(jù)定義為self集,地震異常數(shù)據(jù)定義為nonself集:

self與nonself關系如下:

(3)生成檢測器
通過反向選擇算法生成成熟的檢測器集,其覆蓋地震異常數(shù)據(jù)nonself 空間,檢測器為n維實值向量d=
(4)地震前兆數(shù)據(jù)異常檢測
將上一步生成的成熟檢測器與待檢測地震前兆數(shù)據(jù)Test進行匹配,不匹配的即為地震正常數(shù)據(jù),輸出0,匹配成功的即為地震異常數(shù)據(jù),輸出1。用RES表示輸出結果,關系如下:

對于地震前兆數(shù)據(jù)異常檢測的模型,分為兩個階段,即檢測器生成階段和異常檢測階段。
圖1 為檢測器生成階段,將地震中正常數(shù)據(jù)作為“地震正常數(shù)據(jù)self”,隨機選取地震數(shù)據(jù)作為“未成熟的檢測器”。將兩者進行匹配,若達到匹配閾值則認定為無效檢測器,將其刪除。若不滿足匹配條件則認定為成熟檢測器,同時計數(shù),直到生成指定個數(shù)的檢測器,則完成該階段。

圖1 檢測器生成階段
在該階段中,關鍵匹配參數(shù)自我半徑Rs需要通過分析正常地震數(shù)據(jù)后設置,在實驗過程中人工調整,得到最好的檢測效果。
圖2 為異常檢測階段。將需要檢測的地震數(shù)據(jù)作為“待檢測數(shù)據(jù)”輸入,與上一階段產生的成熟檢測器進行匹配,若結果大于匹配閾值,則認定為nonself,標記為地震異常數(shù)據(jù),反之則為self,標記為地震正常數(shù)據(jù)。此處的匹配閾值為成熟檢測器對應的半徑。由此得到self和nonself數(shù)據(jù)集。

圖2 異常檢測階段
本文是研究地震前兆觀測數(shù)據(jù)的異常檢測,采用計算機免疫中的反向選擇算法檢測“AETA多分量地震系統(tǒng)”中的異常數(shù)據(jù)。該系統(tǒng)現(xiàn)已在全國各地部署了較多設備采集電磁、地聲等前兆數(shù)據(jù)。選取其中4個不同地點臺站的前兆觀測數(shù)據(jù)進行分組實驗,并通過參考文獻[9]BP神經網絡和參考文獻[10]支持向量機兩種方法進行對比實驗,證明反向選擇在地震前兆數(shù)據(jù)異常檢測中的有效性。實驗分為三部分,包括數(shù)據(jù)預處理、實驗評估指標以及實驗結果分析。
實驗選取4 個真實臺站(臺站ID 為21、46、71、136)的前兆數(shù)據(jù),共4 大組數(shù)據(jù)集進行實驗。本節(jié)以臺站ID-21為例進行實驗設計,選取2017年3月17日到2017年9月4日期間采集到的2萬多條原始數(shù)據(jù)進行預處理。
臺站原始數(shù)據(jù)選取如表1所示,以臺站ID-21為例,僅展示部分。

表1 原始前兆數(shù)據(jù)
表1 的表頭依次為臺站ID、低頻電磁均值、低頻電磁振鈴計數(shù)、低頻電磁全局峰值頻率、全頻電磁均值、全頻電磁振鈴計數(shù)、全頻電磁全局峰值頻率、低頻地聲均值、低頻地聲振鈴計數(shù)、低頻地聲全局峰值頻率、全頻地聲均值、全頻地聲振鈴計數(shù)、全頻地聲全局峰值頻率。
原始數(shù)據(jù)每條時間間隔為10 min,本文設定待檢測數(shù)據(jù)的時間間隔為3 h一條,故選取每18條原始數(shù)據(jù)為一小組,計算列標準差得出一條實驗數(shù)據(jù),代表該段時間的數(shù)據(jù)波動情況,計算公式如下:

其中,σ表示計算結果;k表示原始數(shù)據(jù)條數(shù),本文中值為20;xi表示原數(shù)據(jù)值;μ表示k條原始數(shù)據(jù)平均值。
將列標準差處理后的數(shù)據(jù)通過PCA 進行降維處理,提取關鍵數(shù)據(jù)特征。
通過預處理階段最終獲得1 385條實驗數(shù)據(jù),如表2所示(僅展示部分)。表2表頭為降維后的4項主成分數(shù)據(jù),表頭中的“c”代表是否異常,1為異常,0為正常。

表2 預處理后的數(shù)據(jù)
模型的性能和開銷采用4個指標進行衡量:檢測概率(Probability of Detection,POD)、誤報率(False Alarm Ratio,F(xiàn)AR)、準確率(Accuracy,ACC)、耗時(Time,T),其中檢測與實際結果關系比對見混淆矩陣,如表3。

表3 混淆矩陣
根據(jù)表3 混淆矩陣,計算出POD、ACC、FAR,計算公式如下:

其中,POD表示實際異常且檢測異常的比例,值越高表示對異常的檢測越準確;FAR表示實際正常而檢測異常的比例,值越高表示對正常的檢測越不準確;ACC表示檢測結果與人工標記的結果一致的比例,值越高表示對數(shù)據(jù)的檢測率越準確;T表示檢測時間,時間越短說明開銷越小。
實驗分為4組進行,分別為臺站ID-21、ID-46、ID-71、ID-136,針對4個不同地點的臺站前兆觀測數(shù)據(jù)進行對比實驗。每組均包括3項實驗,分別為本文提出的反向選擇方法、BP 神經網絡、支持向量機,通過對比實驗驗證本文方法的有效性。根據(jù)參考文獻[9-10]設置對比實驗的關鍵參數(shù),BP 神經網絡關鍵參數(shù)epochs 設置為1 000、lr設置為0.001、goal設置為0.000 001、show設置為200,支持向量機選擇使用帶有RBF 內核的OCSVM 以及10折交叉驗證。
實驗結果統(tǒng)計各項評估指標,詳見表4~表8。

表4 實驗結果統(tǒng)計(臺站ID-21)

表5 實驗結果統(tǒng)計(臺站ID-46)

表6 實驗結果統(tǒng)計(臺站ID-71)

表7 實驗結果統(tǒng)計(臺站ID-136)
表4、表5、表6、表7依次為ID-21、ID-46、ID-71、ID-136 對比實驗結果,表8 為4 個臺站實驗結果的平均結果。通過對比實驗結果的POD、FAR、ACC和T指標,可得出每組實驗中,反向選擇的檢測準確率均高于BP神經網絡和支持向量機,誤報率均最低,時間開銷均最小。人工神經網絡和支持向量機依賴于大量的訓練集,但是在本文的場景中,數(shù)據(jù)樣本的有限性會降低異常檢測的準確性。反向選擇不需要先驗知識,并且能通過有限的正常樣本更準確地檢測出異常數(shù)據(jù)。實驗結果證明,反向選擇算法在地震前兆觀測數(shù)據(jù)異常檢測上具有更好的檢測結果。

表8 實驗結果統(tǒng)計(平均結果)
地震前兆觀測數(shù)據(jù)中,異常數(shù)據(jù)的檢測和分析是地震研究的關鍵。現(xiàn)有的人工神經網絡、支持向量機等異常檢測方法,無法克服地震前兆觀測數(shù)據(jù)中異常樣本數(shù)據(jù)稀少的問題。針對此問題,本文提出基于反向選擇的異常檢測方法,該方法將地震前兆觀測數(shù)據(jù)的正常數(shù)據(jù)作為自我,異常數(shù)據(jù)作為非我,通過有限的正常樣本檢測異常數(shù)據(jù),從而克服由于異常數(shù)據(jù)少導致檢測準確率不高的問題。實驗選取臺站真實的前兆數(shù)據(jù)分別與BP神經網絡、支持向量機進行對比實驗,本文方法均取得了更好的檢測效果,從而證明了基于反向選擇的地震前兆觀測數(shù)據(jù)異常檢測方法的有效性。
本文的工作取得一定成果,但仍存在可以改進的地方。接下來對反向選擇算法進一步研究:高效智能選取自我集self,使self集具有更高的完備性,有效減小誤報率;算法自動調整匹配閾值,減少人為調整的過程。通過后續(xù)研究提高地震前兆數(shù)據(jù)的異常檢測效果。