冀汶莉,郗劉濤,王斌
(西安科技大學 通信與信息工程學院, 陜西 西安 710054)
煤炭工業是我國支柱產業之一,隨著智慧礦山的提出,各類煤礦監測監控系統為礦山安全開采提供了必要的技術支持。袁亮院士指出,煤礦災害監測技術在智能化方向有了較快發展,但災害前兆信息精準識別和預警仍是需要研究的重要問題之一[1]。煤礦監測監控系統產生了大量監測數據,為災害前兆信息發現和識別提供了數據基礎。在井下復雜環境中,由于傳感器等設備暫時性故障、網絡數據傳輸錯誤等導致的明顯偏離正常數據形態的數據為異常數據[2]。異常數據可能包含災害前兆信息,因此,準確檢測出異常數據對煤礦災害前兆信息識別和煤礦安全預警都具有重要意義。
隨著物聯網和人工智能技術的不斷發展,針對各類監測系統的異常數據自動識別技術逐漸成為研究熱點之一。目前,異常數據識別方法包括傳統的基于統計學的方法[3-5]和新的基于人工智能的方法[6-8]。基于人工智能的方法利用最近鄰、聚類、人工神經網絡(Artificial Neural Network,ANN)、支持向量機(Support Vector Machine, SVM)等機器學習算法自主訓練識別模型,完成異常值識別[6]。但上述方法沒有考慮異常數據和多數類正常數據的數量不平衡性問題。
真實環境下采集到的監測數據極易出現以數據不平衡和數據噪聲等為代表的數據不一致現象[9]。一般來說,各種監測系統中異常數據和多數類數據在數量上的不平衡性表現在不同數據類型的比例上,如1∶100或1∶1 000等。因此,在分析數據時,不可忽視其不平衡性。He Haibo等[10]詳細分析了機器學習算法應用于不平衡數據集時存在的問題及解決方法。SVM和ANN等傳統經典的機器學習算法應用于不平衡數據集時,易造成極端值、數據稀缺等問題,對少數類的識別能力較差。目前針對不平衡數據集的學習分類方法有2種。一種是從數據角度出發,研究采用不同采樣算法解決不平衡數據集的學習問題,如Wang Qi等[11]提出基于擴展邊界SMOTE SVM的不平衡學習方法,黃建明等[12]提出考慮小波奇異信息與不平衡數據集的輸電線路故障識別方法。另一種是從學習模型改造角度出發,通過引入代價敏感學習算法或進行組合學習解決不平衡數據學習問題,如M. Schubach等[13]提出結合采樣技術組合學習方法解決基因分類不平衡數據問題。
本文以煤礦分布式光纖豎井變形監測系統采集的數據為研究對象。在煤礦豎井變形監測中,一般是通過監測點光纖傳感器的波長與中心波長的差值來反映豎井變形。異常點多是根據人工經驗來識別,不但效率低下,還會因為波長漂移等物理因素帶來很大的識別偏差。針對該問題,本文提出了一種基于去重復下采樣(Removing Dupliation Under-sampling,RDU)、合成少數類過采樣技術(Synthetic Minority Oversampling Technique,SMOTE)和隨機森林(Random Forest,RF)分類算法的RDU-SMOTE-RF異常數據識別方法,并通過實驗驗證了該方法具有較好的泛化性和較強的魯棒性。
RDU-SMOTE-RF異常數據識別方法用于解決具有時間序列特征的煤礦監測系統不平衡數據集中的異常數據自動識別問題。首先,通過滑動時間窗提取原始波長數據特征屬性,作為RF識別模型的輸入;然后,通過RDU和SMOTE對不平衡數據集進行平衡處理;最后,利用優化后的數據集訓練RF識別模型,對6個傳感器產生的監測數據進行異常數據識別。該方法流程如圖1所示。
結合機器學習算法的異常數據識別方法具有較強的泛化能力,但前提是需要提取合適的特征屬性并形成大量數據樣本。本文原始數據來自于某煤礦豎井變形監測系統,共有6個傳感器的時間序列監測值,監測值表現為光柵傳感器當前時刻的波長。光纖傳感器采集的原始數據具有明確的時間特征,為了從原始數據中提取能夠準確表征異常數據和正常數據的特征屬性,本文提出了移動時間窗τ的概念,通過時間窗的滑動提取原始數據的特征屬性。

圖1 異常數據識別方法流程
時間窗計算公式為
(1)
式中:T為時間窗內的數據流分布周期;Δt為采集數據的時間間隔,T=5Δt。

(2)

異常數據判斷依據如式(3)所示。根據項目實施經驗,本文選取判斷閾值為0.002和0.004。若數據滿足式(3)所示條件,則將原始數據和對應特征向量標記為異常數據(用y標記,y=1),即少數類樣本;否則標記為正常數據(y=0),即多數類樣本。
xt|y=1 anddt|y=1,
(3)
由于監測系統的異常數據屬于少數類,造成了特征屬性樣本集合的數據不平衡。若直接對不平衡數據集通過識別模型識別異常數據,可能會發生過擬合現象,從而使識別性能下降。因此,本文提出使用RDU和SMOTE算法優化訓練數據集。
1.3.1 多數類樣本下采樣
分析特征向量樣本集可知,多數類樣本存在較多重復數據。通過RDU算法,可在刪除重復數據的同時保證數據信息的完整性。RDU算法流程如圖2所示。將特征向量樣本集中的多數類樣本放在集合list()中,設N為多數類樣本總數,i,j為迭代變量。外循環采用順序遍歷,內循環采用逆序遍歷,逐個刪除list()集合中的重復元素。采樣結束后輸出的新list()集合,即為沒有重復元素的多數類樣本集合。

圖2 RDU算法流程
1.3.2 少數類樣本過采樣
對于特征向量樣本集中已標記的異常數據,采用SMOTE算法產生和已有少數類樣本近似的新合成異常數據,以改善數據集的不平衡性。用Y表示已建立樣本庫中存在的異常數據樣本集合,其數學表達式為Y={(dt,y)|y=1}。
SMOTE算法的具體步驟:
(1) 取少數類樣本集合中的任意一個特征樣本dt,以歐氏距離為標準計算dt到少數類樣本集中其他樣本da的距離。dt和da的歐氏距離為
(4)
(2) 以dt為中心,選出k個歐氏距離最近的樣本,得到k個近鄰。SMOTE算法原理如圖3所示,這里k=6。

圖3 SMOTE算法原理
(3) 從k個近鄰中隨機選擇一個樣本,用dk-1表示,計算da和dk-1之間的線性插值,得到和da相似的新的少數類樣本dnew。dnew計算公式為
dnew=da+(dk-1-da)δ
(5)
式中δ為0~1的隨機數。
(4) 根據多數類和少數類樣本不平衡比例設置一個采樣比例,以確定采樣倍率。針對每個少數類樣本,重復上述的線性插值過程,最終使少數類樣本數目與多數類樣本數目相匹配,實現樣本集的平衡。
異常數據自動識別問題屬于未知樣本的二分類問題。借鑒L.Breiman等[14]定義的RF算法思想,設計異常數據識別模型。RF算法是一種集成學習算法[15],以分類回歸決策樹作為基學習器,結合Bagging思想,在決策樹訓練過程中引入隨機屬性選擇,最后對所有的子分類器進行集成并通過投票決定分類結果。RF算法具有泛化能力強、方差小、過擬合程度低等優點。RF可表示為{h(X,θg),g= 1,2,…,n},X為輸入變量,n為RF中決策樹的個數,θg為具有獨立同分布的隨機向量,其決定了隨機性的引入程度,設θg=log2f,其中f為樣本特征向量的維度。RF算法學習過程如圖4所示。

圖4 RF算法學習過程
1:初始化所有參數。
U=O=?;Z=Length(D);
α=0; itor=10;
n_estimator=15; max_features=2;
2:Fori=1 toZ
若di是多數類樣本,則加入集合U,否則加入集合O。
3:采用RDU算法對集合U進行采樣,使集合中沒有重復元素,得到新的集合Unew。
4:計算集合Unew與集合O中元素個數的比值α,根據α值實現函數SMOTE(O,α),得到Omin:
Omin:= SMOTE(O,α);
5:合并Unew和Omin生成新的均衡的數據集D′:
D′=Unew∪Omin;
6:while (itor<=10) do
7:對集合D′使用十折交叉驗證法劃分訓練集S_train和測試集S_test。
8:使用RF分類方法訓練S_train:
Mi:=RF(S_train);
9:itor:= itor+1;
10:while end;
11:算法結束。
輸出:迭代完成時識別模型及參數最優值。
異常數據識別實質是機器學習中的二分類問題,但由于異常數據和正常數據數量上的不平衡性,存在少數類識別率很低而總體準確率很高的情況。因此,單純以準確率作為算法評價指標不能準確衡量算法對異常數據的識別性能。本文引入分類問題中常用的真陽性率(True Positive Rate ,TPR)、真陰性率(True Negative Rate,TNR)、F1度量、G-mean指標作為評價指標,具體定義如下。
(1) TPR是一種代表正確預測正類樣本的比率,在本文中表示對正常數據的正確識別比率,其計算公式為
(6)
式中:TP表示實際是正常數據、預測也是正常數據的樣本個數;FN表示實際是正常數據、被錯分為異常數據的樣本個數。
(2) TNR是一種針對負類的評價準則,在本文中表示對異常數據的正確識別比率,其計算公式為
(7)
式中:FP表示實際是異常數據、被錯分為正常數據的樣本個數;TN表示實際是異常數據、預測也是異常數據的樣本個數。
(3) F1度量是綜合考慮查全率R和查準率P的評價指標,是基于查準率與查全率的調和平均,其計算公式為
(8)
(9)
(10)
(4) G-mean是一種整體上衡量數據集分類性能的評價指標,其計算公式為
(11)
為了驗證面向不平衡數據集的異常數據識別方法的性能,在相同實驗環境下,基于Python語言,采用SVM,ANN,RF,RDU-SMOTE-RF,RDU-SMOTE-ANN,RDU-SMOTE-SVM算法對不平衡數據集進行異常數據識別,并分析比較了各算法的性能。
實驗的原始數據來源于某煤礦分布式光纖豎井變形監測系統中6個光纖傳感器2010—2011年所采集的波長數據。每個傳感器采集到4 591條數據。針對每個傳感器數據提取特征屬性并建立樣本庫,依據工程經驗對樣本庫內的異常數據進行標記。采用十折交叉驗證法將每個傳感器產生的樣本庫劃分為訓練集和測試集。實驗數據集基本信息見表1。
RF算法在訓練時需要設定2個參數,即決策樹的數量n_estimator和每棵樹的特征變量數量max_features。為訓練出最佳分類參數,分別將n_estimator設置為15,50,70,90,100,將max_features初始值設為2。特征變量個數q=log2f。ANN算法選擇tanh作為激活函數,SVM算法選取RBF作為核函數,在SMOTE過采樣中特征變量個數q取6。

表1 實驗數據集基本信息
在6個數據集上分別進行訓練和測試,實驗過程中發現,RF的分類識別性能隨決策樹數量的增加而變優,當決策樹的數量達到90時,分類識別精確度趨于平穩。訓練好的RF分類器參數優化結果:n_estimator=90, max_features=2。
為了驗證所提方法的有效性和泛化性,分別在原有訓練集和優化后的訓練集上訓練不同類型的分類器,并進行異常數據識別。表2—表7分別給出了將RDU-SMOTE-SVM,RDU-SMOTE-ANN,RDU-SMOTE-RF,SVM,ANN,RF應用于6個傳感器的數據集時的異常數據識別結果。分析識別結果可知,總體上不同算法的分類性能均受不平衡數據集的限制和影響,對少數類異常數據的識別能力較差。通過對不平衡數據集進行優化,極大地提高了異常數據的識別準確率。

表2 傳感器1不平衡數據集異常數據識別結果
傳感器1數據不平衡程度最高,傳感器6數據不平衡程度最低。以表2和表7進行性能分析。表2中,采用SVM,ANN,RF算法進行異常數據識別時,TPR指標達到100%,F1為0.99。這是由于傳統分類算法應用于不平衡數據集時,識別結果更傾向于多數類,導致對多數類樣本的識別正確率特別高。在TNR指標上,3種傳統機器學習算法的異常數據識別性能依次是33.42%,40%和66.67%,表明數據的不平衡性直接影響了機器學習算法對異常數據的識別效率。SVM和ANN算法的G_mean指標只有0.661和0.611,RF算法為0.816,表明綜合識別性能不佳。

表3 傳感器2不平衡數據集異常數據識別結果

表4 傳感器3不平衡數據集異常數據識別結果

表5 傳感器4不平衡數據集異常數據識別結果

表6 傳感器5不平衡數據集異常數據識別結果

表7 傳感器6不平衡數據集異常數據識別結果
當對不平衡數據集采用RDU和SMOTE混合技術優化后,再使用分類算法SVM,ANN,RF進行異常數據識別訓練,識別性能得到了明顯提升。RDU-SMOTE-SVM算法的TNR指標達到98.56%,性能比SVM算法提升了65.14%。RDU-SMOTE-ANN算法的TNR指標達到97.35%,性能比ANN算法提升了57.35%。RDU-SMOTE-RF算法的TNR指標達到99.63%,比RF算法提升了32.96%。G_mean指標也都得到了較大的提升。
傳感器6數據不平衡程度較低,但傳統的分類算法也不能準確識別異常數據。在優化后的平衡數據集上,3種算法性能都得到了提升,其中RDU-SMOTE-RF算法評估結果最優。綜合分析6個數據集的實驗結果可知,本文所提方法異常數據識別準確率平均達到99.3%。此外,根據不同識別算法的耗時結果分析,本文所提方法也是具有較小時間復雜度。
為了進一步分析提出方法的性能,引入ROC(Receiver Operating Characteristic,受試者工作特征)曲線分析。用二維平面上ROC曲線下的面積(Area Under the Curve, AUC)作為評價指標衡量不同分類算法的性能。AUC越大,ROC曲線越接近左上角,表示模型分類性能越強,性能越好。
6個數據集經RDU-SMOTE算法優化后,分別采用RF,ANN,SVM分類算法識別異常數據,得到的ROC曲線如圖5—圖7所示。可以看出,RF算法的曲線比ANN,SVM曲線更接近于左上角,而且AUC值明顯大于ANN,SVM的AUC值。這說明RDU-SMOTE-RF算法異常數據識別性能更強,優于RDU-SMOTE-ANN,RDU-SMOTE-SVM算法。

圖5 采用RDU-SMOTE-RF算法得到的ROC曲線

圖6 采用RDU-SMOTE-ANN算法得到的ROC曲線

圖7 采用RDU-SMOTE-SVM算法得到的ROC曲線
針對煤礦監控系統中異常數據識別問題,提出了面向不平衡數據集的RDU-SMOTE-RF異常數據識別方法。通過下采樣算法去除重復樣本,通過過采樣算法合成新的異常數據,對不平衡數據集進行優化,這種平衡策略也適用于其他多種人工智能算法對不平衡數據集的處理。實驗結果表明,RDU-SMOTE-RF算法有較高的異常數據識別率、較強的魯棒性和泛化能力,同時具有較低的時間復雜度,性能優于RF,ANN,SVM算法及RDU-SMOTE-ANN,RDU-SMOTE-SVM算法。隨著互聯網+及智能化發展對能源行業的促進,將在煤礦大數據背景下針對異常數據自動識別展開更深入的研究。