李柏杭,王新安,雍珊珊,徐伯星,黃繼攀
(北京大學(xué) 深圳地震監(jiān)測預(yù)測技術(shù)研究中心,廣東 深圳 518055)
在實際工程應(yīng)用中,對設(shè)備運(yùn)行狀態(tài)的刻畫與描述往往是建立在對系統(tǒng)一系列參數(shù)的觀測與分析基礎(chǔ)之上的。因此,異常數(shù)據(jù)的識別問題可視為對觀測到的時間序列中異常數(shù)據(jù)的發(fā)現(xiàn)與提取。隨著異常檢測理論及技術(shù)的發(fā)展,出現(xiàn)了各種異常信號檢測方法,如基于時間序列的方法、基于神經(jīng)網(wǎng)絡(luò)的方法、基于模式識別的方法等。這些方法或需要數(shù)據(jù)有較好的時間連續(xù)性或需要大量正常/異常特征信號作為先驗知識進(jìn)行訓(xùn)練,而數(shù)據(jù)缺失和先驗知識的獲取難度限制了這些方法在實際檢測中的應(yīng)用[1]。
相比之下,人體免疫系統(tǒng)對異常的檢測更多地依賴于對正常狀態(tài)的經(jīng)驗累積,避免了對異常特征信號的收集。從系統(tǒng)的角度看,免疫系統(tǒng)是一個自組織、自適應(yīng)的強(qiáng)魯棒性系統(tǒng)。從信息處理的角度看,免疫系統(tǒng)是一個具有多樣性識別能力的強(qiáng)大信息處理系統(tǒng)。自20世紀(jì)90年代起,越來越多研究人員模擬和應(yīng)用人體免疫系統(tǒng)的信息處理能力以解決工程和科學(xué)問題,并逐漸形成了一種計算范式——人工免疫系統(tǒng)(artificial immune system,AIS)。人工免疫算法主要應(yīng)用于模式識別、異常檢測以及最優(yōu)值求解。其中,異常檢測是人工免疫算法最主要的應(yīng)用領(lǐng)域。Timmis等[2-5]將人工免疫系統(tǒng)應(yīng)用于模式識別領(lǐng)域并且指出AIS在異常值識別中的應(yīng)用是可行且有效的。Hunt和Cooke[6]研究了基于AIS模型的無監(jiān)督學(xué)習(xí)算法,并將其應(yīng)用到DNA序列的分類任務(wù)中。Zhou Ji等將AIS直接應(yīng)用于二維空間內(nèi)的圖形形狀識別,得到了很好的識別率[7]并提出了基于人工免疫系統(tǒng)的否定選擇算法來做入侵檢測[8];Secker等將人工免疫系統(tǒng)應(yīng)用于垃圾郵件的檢測[9];Dan等將人工免疫算法應(yīng)用于冰箱溫度異常檢測[10]。在這些工作中,人工免疫算法對異常數(shù)據(jù)的檢測效果都得到了有效驗證。相較于其他異常檢測方法,人工免疫算法具有對數(shù)據(jù)的連續(xù)性要求較低、無需提供異常信號作為先驗知識而只需要正常信號作為先驗知識進(jìn)行訓(xùn)練的優(yōu)勢。文中參考了Timmis等提出的RLAIS[11-13]和Forrest提出的異常識別算法[14-16],利用免疫學(xué)中“自我”、“非我”的概念定義正常數(shù)據(jù)和異常數(shù)據(jù),從而進(jìn)行異常檢測。
多分量地震監(jiān)測系統(tǒng)AETA由數(shù)據(jù)處理終端、地聲傳感探頭、電磁傳感探頭及監(jiān)測數(shù)據(jù)云平臺和數(shù)據(jù)分析系統(tǒng)組成[17-21],如圖1所示。感知來自地下的電磁擾動和地聲信號,實時采集數(shù)據(jù)通過互聯(lián)網(wǎng)(有線或無線)網(wǎng)絡(luò)將數(shù)據(jù)傳輸?shù)皆破脚_進(jìn)行后續(xù)存儲、特征提取和異常分析等。截至目前,AETA系統(tǒng)在中國地震局的支持下,在全國范圍內(nèi)安裝約200余臺,遍布河北、四川、云南、西藏、廣東和臺灣等地區(qū),其中在四川布設(shè)設(shè)備數(shù)量達(dá)93臺,基本覆蓋四川全境重點(diǎn)區(qū)域。
圖1 AETA多分量地震監(jiān)測系統(tǒng)框圖
AETA設(shè)備有4種分量,分別為低頻電磁分量、全頻電磁分量、低頻地聲分量、全頻地聲分量,文中主要研究低頻電磁分量。該分量數(shù)據(jù)具有如下特點(diǎn):數(shù)據(jù)本身沒有正?;蛘弋惓5臉?biāo)簽;多數(shù)臺站的數(shù)據(jù)具有以天為周期的變化規(guī)律;不同臺站數(shù)據(jù)波動可能不同;同一臺站數(shù)據(jù)在不同時間波動不同;由于電力供應(yīng)問題,臺站數(shù)據(jù)可能會出現(xiàn)間斷數(shù)小時的情況。
人體系統(tǒng)幾乎每時每刻都處于各種病原體的圍攻之中,免疫系統(tǒng)作為人體防護(hù)的主要屏障,需要具備兩方面的功能:一是淋巴B細(xì)胞產(chǎn)生抗體對抗原的檢測,二是淋巴T細(xì)胞對有害抗原的有效清除。對抗原的檢測機(jī)制一般描述為對本體(“自我”物質(zhì))及異體(“非我”物質(zhì))的鑒別。一旦免疫系統(tǒng)檢測出了“非我”物質(zhì),則啟動免疫應(yīng)答進(jìn)行清除。抗原-抗體識別方式有如下特點(diǎn):
(1)抗體是隨機(jī)產(chǎn)生的,但并不是所有隨機(jī)產(chǎn)生的抗體均能夠參與免疫識別檢測??贵w是通過抗體對抗原的親和力大小來進(jìn)行選取的。親和力是指抗體的識別能力,一般采用歐氏距離進(jìn)行計算,對抗原親和力越大的抗體識別能力越強(qiáng)。親和力低的抗體有可能將“自我”物質(zhì)檢測為異常。因此,親和力較大的抗體才可以參與免疫識別。
(2)匹配的異常檢測機(jī)制。免疫系統(tǒng)無法獲取所有“非我”物質(zhì)的先驗知識,只有“自我”物質(zhì)的先驗知識。因此,免疫系統(tǒng)異常檢測機(jī)制是將抗原與抗體庫進(jìn)行匹配,若在抗體庫中無匹配的抗體,則認(rèn)為該抗原是“自我”物質(zhì);反之,若在抗體庫中發(fā)現(xiàn)有匹配的抗體,則認(rèn)為該抗原是“非我”物質(zhì),判定為異常。
(3)對抗原特征識別有學(xué)習(xí)及記憶功能。當(dāng)發(fā)生同類型抗原再次入侵時,免疫應(yīng)答的響應(yīng)時間會大大縮短。
Forrest基于上述機(jī)制提出的實數(shù)域人工免疫系統(tǒng)[21]具體構(gòu)建及運(yùn)行過程主要有如下2個步驟。
(1)學(xué)習(xí)及抗體庫的建立。對抗原的檢測基礎(chǔ)在于“自我”物質(zhì)與“非我”數(shù)據(jù)的識別。抗體庫的建立采用負(fù)向選擇算法。首先為系統(tǒng)提供足夠多的“自我”數(shù)據(jù)信息特征,構(gòu)成學(xué)習(xí)樣本集合,即“自我”集合。再通過負(fù)向選擇算法建立抗體庫。操作過程如圖2(a)所示。
(2)異常識別。將設(shè)備采集到的數(shù)據(jù)作為輸入,與抗體庫中的抗體進(jìn)行匹配計算,實現(xiàn)異常數(shù)據(jù)識別。識別過程如圖2(b)所示。
借鑒免疫系統(tǒng)中的“自我”與“非我”的概念幫助人們獲得一個臺站的數(shù)據(jù)變化規(guī)律。將這一過程遷移到二維空間里。將正常數(shù)據(jù)看作是自體細(xì)胞,以此劃分自我和非我。從而有如下定義:
(a)抗體庫生成流程
(b)抗體庫匹配流程
定義1 “自我”區(qū)域:在二維空間S中,正常數(shù)據(jù)所在的坐標(biāo)點(diǎn)(x,y)的集合∪(xi,yi)。
定義2 “非我”區(qū)域:在二維空間S中,“自我”區(qū)域的補(bǔ)集Cs∪(xi,yi)。
通過對歷史數(shù)據(jù)的學(xué)習(xí),抗體將會占據(jù)“非我”區(qū)域,而該區(qū)域之外的區(qū)域則認(rèn)為是正常數(shù)據(jù)范圍。
親和力函數(shù)決定了模型如何界定“自我”區(qū)域與“非我”區(qū)域。通常,抗體的親和力通過抗體與抗原之間的歐氏距離d來確定[22],這樣需要計算抗體與每個“自我”樣本之間的距離,當(dāng)樣本數(shù)量較大時,計算量也隨之增大。為了解決這一問題,結(jié)合AETA系統(tǒng)數(shù)據(jù)特點(diǎn)對親和力函數(shù)的計算方法進(jìn)行了改進(jìn)。親和力函數(shù)的選取有以下標(biāo)準(zhǔn):
(1)距離樣本點(diǎn)最小距離越近的免疫細(xì)胞親和力越低。
(2)若距離樣本點(diǎn)最小距離相同,則最近的樣本點(diǎn)出現(xiàn)的頻次越高,免疫細(xì)胞親和力越低。
根據(jù)以上兩點(diǎn)要求設(shè)計親和力函數(shù),如下:
(1)
其中,d為當(dāng)前免疫細(xì)胞到最近的“自我”樣本的距離;p為距離最近的樣本點(diǎn)出現(xiàn)的頻次;σ為控制參數(shù),用于調(diào)節(jié)頻次與距離的權(quán)重,若σ較大,則頻次對親和力函數(shù)影響較大,若σ較小,則最近距離對親和力函數(shù)影響較大。此處σ由三折交叉驗證方法確定。引入頻次p可以將重疊的“自我”樣本統(tǒng)計后當(dāng)作一個樣本進(jìn)行計算,這樣就減少了大量對重疊樣本的重復(fù)計算。
根據(jù)抗體的親和力篩選得出抗體庫后,即把二維空間劃分成為“自我”區(qū)域與“非我”區(qū)域。將待測數(shù)據(jù)與抗體庫中抗體進(jìn)行匹配,在“自我”空間的樣本就是正常數(shù)據(jù),在“非我”空間的樣本就是異常數(shù)據(jù),將一天的數(shù)據(jù)綜合起來,統(tǒng)計異常數(shù)據(jù)占比,最終判斷當(dāng)天數(shù)據(jù)是否存在異常,給出綜合評價結(jié)果。
這里定義異常率:
(2)
其中,Abnormal為落在“非我”區(qū)域的待測樣本點(diǎn)的數(shù)量;Data為待測樣本點(diǎn)總數(shù)。正常情況下,即使某天設(shè)備數(shù)據(jù)完全正常,也會有一些系統(tǒng)誤差導(dǎo)致的異常數(shù)據(jù)出現(xiàn),所以當(dāng)p值較小的時候,仍然認(rèn)為該天設(shè)備數(shù)據(jù)是正常的。當(dāng)p>0時,認(rèn)為該天的數(shù)據(jù)存在異常。
從波形的幅度大小、毛刺多少以及波動形狀是否為方波3個方面進(jìn)行判斷,將AETA監(jiān)測數(shù)據(jù)分成8種類型,并在AETA系統(tǒng)中挑選出能夠代表這些類型的8個臺站數(shù)據(jù)作為基準(zhǔn)研究對象。這8個臺站的名稱、簡寫及地理位置如表1所示。
表1 臺站名稱簡寫地理位置對照
數(shù)據(jù)準(zhǔn)備的過程如下:首先,進(jìn)行特征空間分割,AETA設(shè)備一天產(chǎn)生480個數(shù)據(jù),數(shù)值的范圍在0~14之間,故將特征空間分割成480*150的數(shù)組,如圖3(a)所示。然后將一天的數(shù)據(jù)輸入數(shù)組中,數(shù)組中的值表示該范圍內(nèi)出現(xiàn)過的數(shù)據(jù)點(diǎn)的個數(shù)。將這個數(shù)組定義為distribution。若一天的第i個數(shù)據(jù)的數(shù)值為j,那么distribution[i][int(10*j)]=distribution[i][int(10*j)]+1,生成如圖3(b)所示的網(wǎng)格。
選取一個太陽輻射周期(27天)的數(shù)據(jù)作為訓(xùn)練數(shù)據(jù)。將這些數(shù)據(jù)作為“自我”數(shù)據(jù)輸入算法,即得到了數(shù)據(jù)的頻次分布圖,圖3(c)所示為38號冕寧防震減災(zāi)局設(shè)備2017-07-01至2017-07-28的實測結(jié)果??梢钥吹?,27天的訓(xùn)練數(shù)據(jù)的分布比較集中,說明正常情況下,每天的數(shù)據(jù)是一種穩(wěn)定的模式。
圖3 distribution數(shù)組示意
根據(jù)輸入數(shù)據(jù)得到抗體庫。如圖4所示,灰色熱力點(diǎn)即為輸入數(shù)據(jù);白色粗線條數(shù)據(jù)為待測數(shù)據(jù);白色圓圈即為抗體,其所占據(jù)的區(qū)域為“非我”區(qū)域,剩余區(qū)域即為“自我”區(qū)域。對設(shè)備數(shù)據(jù)觀察后,發(fā)現(xiàn)AETA設(shè)備電磁均值常見的異常類型有3種,圖4展示了文中所述方法對這3種異常的檢測情況。其中,圖4(a)為幅值大幅度變化的異常,可以看到從橫坐標(biāo)大于150開始,異常波形的幅值明顯高于正常水平,異常數(shù)據(jù)進(jìn)入“非我”區(qū)域,稱該種異常為異常類型I;圖4(b)為波形跳變時間變化的異常,可以看出,正常情況下,波形在橫軸為100的時候下跳,而異常波形在橫軸為120的時候下跳,稱該種異常為異常類型II;圖4(c)為波形突然跳變的異常,可以看到在橫軸為100的時候波形突然跳變,而正常波形在此處沒有跳變,另外,在橫軸為300附近的數(shù)據(jù)幅值比正常數(shù)據(jù)略小,稱該種異常為異常類型III;圖(d)為正常的待測數(shù)據(jù)完全落在檢測器定義的“自我”區(qū)域內(nèi)。使用文中方法對AETA設(shè)備數(shù)據(jù)進(jìn)行異常檢測,這3種常見的異常均可以被檢測出來。
(a)異常類型I,異常值p=0.59,異常
(b)異常類型II,異常值p=0.16,異常
(c)異常類型III,異常值p=0.19,異常
(d)正常數(shù)據(jù),異常值p=0.00,正常
為了進(jìn)一步證明文中方法可以有效地檢測出AETA設(shè)備的異常數(shù)據(jù),對第3節(jié)中所列出的8個臺站從2017年9月28日到2017年10月31日的數(shù)據(jù)進(jìn)行了檢測,統(tǒng)計結(jié)果如表2所示。
表2 異常檢測結(jié)果
該算法對異常類型I的檢測成功率為87.20%;對異常類型II的檢測成功率為83.33%;對異常類型III的檢測成功率為55.56%。異常類型I的檢測成功率要高于異常類型II和異常類型III,這是因為異常I的異常數(shù)據(jù)持續(xù)時間通常比較長,當(dāng)此類異常數(shù)據(jù)輸入算法后,會有較多數(shù)據(jù)進(jìn)入“非我”區(qū)域,又根據(jù)第2節(jié)中提到的異常檢測策略可知,此類異常對應(yīng)的異常值較大,容易區(qū)分。而異常類型II和異常類型III通常只有少數(shù)的數(shù)據(jù)進(jìn)入“非我”區(qū)域,因此異常值較小,不容易區(qū)分。另外,文中算法對于部分臺站的異常數(shù)據(jù)檢測成功率較高,而某些臺站的檢測成功率較低,經(jīng)過對數(shù)據(jù)的查看和對比,發(fā)現(xiàn)檢測成功率較低的臺站均具有一個特點(diǎn):數(shù)據(jù)沒有以1天為周期的變化規(guī)律。原因是,當(dāng)數(shù)據(jù)不具備這樣的規(guī)律時,算法無法根據(jù)學(xué)習(xí)樣本得到一個清晰的“自我”區(qū)域,因此難以對此類臺站數(shù)據(jù)進(jìn)行準(zhǔn)確的異常檢測。
在時間序列的異常數(shù)據(jù)識別方面,大多數(shù)算法需要異常特征的先驗知識,而異常樣本數(shù)據(jù)的收集較為困難。相比之下,人工免疫算法巧妙避開了這個問題:對數(shù)據(jù)異常識別更多地依賴于對正常狀態(tài)的經(jīng)驗累積。從實驗結(jié)果來看,該算法可以有效地檢測出AETA系統(tǒng)中的8種典型波形中常見的3類異常數(shù)據(jù)。另外,提出了適合AETA系統(tǒng)數(shù)據(jù)的親和力函數(shù),減小了重復(fù)計算抗體與“自我”樣本之間距離的計算量。在未來的研究中,可以進(jìn)一步對親和力函數(shù)進(jìn)行優(yōu)化,進(jìn)一步提升算法效率和準(zhǔn)確率。