趙林鎖,馬瑞強,姜 天,宋寶燕,潘一山,
1.遼寧工程技術大學 力學與工程學院,遼寧 阜新 123000
2.遼寧大學 信息學院,沈陽 110036
近年來,流式數據監(jiān)測應用越來越廣泛,如災害監(jiān)測、云數據流[1]以及感知網絡[2-3]等。在這些應用中,數據多為無限的(源源不斷產生)、瞬時的(數據一經流過,不再重現)、巨量的(每秒近萬條流數據)流式數據[4-6]。如何對隱含在流式數據中的災害事件進行實時預警,是研究流式數據中各類事件判識及分析的目標。受采集器采集披綠、部署外部環(huán)境等因素影響,流式數據具有海量性、漂移性[7-8]、隨機性的特點,導致流式數據事件實時判識需要得到完整的事件信息,不能直接通過時間序列[9]實時比對方式進行,預警具有滯后性,而典型閾值跳變判識方法也由于流式數據事件漂移特征的影響,預警準確度很低。因此,如何對流式數據中的事件進行實時準確的預警,一直是領域的研究難點。
例如,在現有礦山災害事件監(jiān)測預警系統(tǒng)中,實時感知數據的監(jiān)測和存儲工作均是利用在礦山周圍部署的微震傳感器進行的。礦山災害事件持續(xù)的時間很短,通常只有幾秒到幾十秒,因此,對事件預警實時性要求極高,且由于微震感知數據在傳播過程中受到巖體性質及結構面等影響,攜帶了信號源和傳播途徑中巖體的信息,故相同種類災害事件的波形結構在一定程度上會出現傳播減緩或加劇等數據漂移現象,導致災害事件波形發(fā)生拉伸或壓縮,無法直接進行災害事件實時判識,因此,現有災害事件監(jiān)測預警系統(tǒng)均為滯后預警,且預警準確性很低。
針對這些問題,本文提出一種兩級回歸的流式大數據事件自適應預警方法(ATRIM),構建災害事件預警模型,通過預估流式數據事件的發(fā)展趨勢實現災害事件的實時分階判識,主要貢獻如下:
(1)針對海量歷史同類事件數據規(guī)模過大,無法建立模型的問題,提出一級移動回歸的數據特征提取方法,通過可變網格將數據進行分塊,引入支持域權函數概念,在網格內進行基于支持域的特征點選取。
(2)在此基礎上,針對事件的漂移特征,進行規(guī)格化處理,并基于提取的特征點數據,擬合二級線性回歸事件預警模型,并對時間模型的回歸方程進行最小二乘誤差分析[10],建立事件置信域,進而構成完整的事件預警模型。
(3)針對流式數據事件的隨機性及滯后預警的問題,基于預警模型提出判識因子概念,通過判識因子變換對事件未來變化趨勢進行預估計,根據實時感知數據與預警模型的匹配程度進行自適應階段觸發(fā)判識,實現事件的實時預警。
目前,許多學者對流式數據事件實時判識方法進行了深入研究,取得了一定的研究成果。文獻[11]提出一種基于周期的時間序列預測(PTSP)方法,根據所有先前的周期模型預測后續(xù)周期中的數據,引入時間衰減因子以控制不同周期對預測結果的影響,可以對有效地從大量時間序列數據中識別潛在的周期性模式并提供準確的預測,但該方法預測周期過長,實時預警能力低;文獻[12]提出了一種新穎的深度神經網絡架構,將傳感器數據的時間序列編碼為圖像(即,將一個時間序列編碼為兩通道圖像),并利用這些變換后的圖像來保留識別的必要特征,但該方法提出的模型訓練過程耗時過長,實時性差;文獻[13]提出建立礦山災害事件發(fā)生步距的模擬和預測模型GM(1,1),模型可信度、關聯度及擬合度均較高,但該方法只適合小規(guī)模數據,不能用于長時間的流式數據事件趨勢值預測,預警準確度較差;文獻[14]提出一種完善彈塑脆性的突變模型,通過集成多指標的方法,提高沖擊動力災害事件的監(jiān)測預警效果,但該方法多指標集成計算的開銷過大,算法實時性較低;文獻[15]提出一種采用Arima 時間序列模型的流式數據事件預警方法,通過建立季節(jié)模型和門限自回歸模型,分別對未來災害事件釋放的能量進行估計,并構建相應的時間序列獲取流式數據隨時間推移變化的趨勢,但該方法模型建立復雜,且在長時間判識過程中準確性會出現明顯降低;文獻[16]提出一種窗口分級預警方法,可以對流式數據事件進行實時預警,但該方法窗口大小設置對預警準確性影響很大,且窗口滑動可能造成事件丟失問題,預警具有局限性。
綜上,本文針對現有流式數據事件預警方法的不足,綜合考慮事件的漂移特征、預警的準確性及效率,提出一種基于兩級回歸的流式大數據事件自適應預警方法。
流式數據事件是在時間域上滿足一定條件的一系列離散數據點組成的時間序列,且相同類型的事件通常都具有相同或相似的特征規(guī)律。
定義1(流式數據事件)由流式數據中超過限制條件的第一個異常點發(fā)起并持續(xù)一段時間的連續(xù)異常數據的集合:E={(e1,e2,e3,…,en)|?i ∈(1,2,3,…,n,|ei|>φ} 。其中,ei為事件中的某個異常數據點,φ 為限制條件。
通過兩級回歸法對海量歷史事件進行自適應特征提取,并構建可以完整描述該類型事件的預警模型,進而實現流式數據事件的形式化表示。
流式數據應用中,同類災害事件通常具有相同的特征規(guī)律,但由于事件發(fā)生的位置及強度都不相同,故感知到的災害事件數據均不在同一尺度下,因此,通過坐標變換,將所有數據規(guī)格化為[0,1]區(qū)間范圍。如圖1為事件規(guī)格化示意圖。
圖1 事件規(guī)格化示意圖
如圖1 所示,通過規(guī)格化處理,歷史事件數據會規(guī)整到同一區(qū)間范圍內(通常為0~1 區(qū)間內)。但由于歷史災害事件的數據規(guī)模巨大,同一個坐標位置(x,y)可能出現一對多的映射關系,無法直接構建預警模型,因此,需要在海量同類事件中進行數據特征提取,實現(x,y)的一一映射關系。
數據規(guī)格化處理之后,為了提取出具有代表性的數據特征點,首先引入網格法把海量歷史事件數據劃分為各個局部區(qū)域,每個區(qū)域包含若干個感知數據點,然后對每個局部區(qū)域進行事件數據特征提取,確保提取出的特征點能代表本區(qū)域的數據特征。
圖2 網格劃分示意圖
其次,通過劃分網格進行基準點的選取,并以基準點來劃分支持域,進而得到支持域半徑范圍內包含的全部數據節(jié)點,并且設基準點與參考點的歐式距離作為支持域函數的輸入參數。由定義1可得,由于流式數據中的事件均包含時間屬性,因此,設網格坐標系中x軸數據為時間,y軸數據為其本身的感知屬性。基于流式數據事件特征規(guī)律的緊支性,建立支持域。支持域為一個滿足緊支性的權函數,即在某一個特征點周圍的一個有限區(qū)域中,支持域函數的值大于0,而非有限區(qū)域內的支持域函數的值為0,則該有限區(qū)域稱為支持域。同時,影響區(qū)域中各節(jié)點對x的取值影響均不同,由此可得,需要通過滿足緊支性的權函數判定其影響程度,計算各節(jié)點對xi的影響。
因此,在網格劃分后,對每個網格進行迭代計算,選取支持域的半徑為,確定點x的影響范圍后,計算包含在x的影響區(qū)域內的感知數據,由于局部事件區(qū)域內任意一數據點常為多個數據點支持域的交集部分,故求解特征點時,需要考慮周圍所有事件數據點的影響。如圖3 為特征點影響區(qū)域示意圖。
圖3 影響區(qū)域示意圖
由圖3可知,利用支持域計算每個節(jié)點xi對x的影響,進而獲取特征點x的值。需要影響x的事件數據節(jié)點,考慮全部x1,x2,x3,x4,x5,x6,x7點,除點x1的支持域(虛線部分)外,其他各個節(jié)點的支持域均覆蓋特征數據點x,因此,x的函數值需要基于x2…x7進行運算。由于支持域區(qū)間內的每個節(jié)點對x處的取值的影響均不完全相同,設權函數s"=x-xi,s=來衡量影響程度的大小。支持域的高階樣條形式如公式(1)所示:
支持域建立完成之后,基于支持域進行移動回歸,擬合局部特征點。在每個網格內,獲取基準點的支持域影響范圍內的全部感知數據點,然后依據移動回歸法計算特征點。設a(x)=(a1(x),a2(x),…,am(x))T為待定系數向量,p(x)=(p1(x),p2(x),…,pm(x))T為基函數向量,基準點x的特征值如公式(2)所示:
同時,在公式(2)中,為使局部近似值的精確度盡可能高,給定節(jié)點值yi和局部近似值f(xi)殘差的離散加權L2 范式如公式(3)所示:
其中,參數n為求解區(qū)域內的數據點個數,f(x)為特征擬合函數,w(x?xi)為權函數。由于影響區(qū)域內的每個數據點對x處取值的影響均不相同,因此,通過數據點xi的權函數w(x?xi)來衡量每個節(jié)點的影響程度。求解系數a(x)使J最小,并將公式(3)轉換為矩陣表示,如公式(4)所示:
其中,W(x)=diag(w1(x),w2(x),…,wn(x)),Y=(y1,y2,…,yn)T,wi(x)=w(x-xi),則矩陣P如公式(5)所示:
由公式(1)可得待定系數a(x)=A-1(x)B(x)Y,其中,A(x)=PTW(x)P,B(x)=PTW(x)。帶入公式(3)中求出擬合函數如公式(6)所示:
其中,參數k為基函數階數,形函數ψk(x)=[φk1,φk2,…,φkn]=pT(x)A-1(x)B(x)。根據公式(6),循環(huán)每一個網格點x得到相應的y值,進而得到特征點。
如圖4所示,深色標記點為一級移動回歸提取的數據特征點。
圖4 特征點選取示意圖
如上文所述,一級移動回歸能夠提取到事件特征點,但無法量化表示事件的連續(xù)趨勢變化。因此,需要構建能夠完整表述流式數據事件持續(xù)變化規(guī)律的模型,使其可以準確反應事件的發(fā)展變化規(guī)律,對流式數據事件預警提供模型支持。
2.2.1 建立事件預警回歸模型
當流式數據事件發(fā)生時,其特征規(guī)律更接近多項式,很難通過標準化方程描述,且多個事件的感知數據點間也不存在規(guī)律性的函數映射。因此,引入線性回歸建立事件的曲線表達函數,通過多項式方程表示事件的發(fā)展變化趨勢。
設n個特征數據點對為(xi,yi),i=1,2,…,n,為避免運算溢出,令,則流式數據事件回歸方程可用公式(7)表示:
公式(7)中,m≤n,令wi=ai,x=xi?x=t,轉化回歸方程為y=a0+a1t+…+aktk標準型,橫坐標t代表事件的時間域,縱坐標y表示歷史事件屬性值,階數k與回歸系數a0,a1,…,ak為對應關系,求參數ai 的偏導數,使各數據點到回歸方程距離的偏差平方和R2≡取得極小值,得到公式(8)所示的方程組:
對公式(8)建立矩陣存儲模式,化簡后得到事件的曲線回歸模型Ω如公式(9)所示:
如圖5為事件的加權回歸模型示意圖。
圖5 事件回歸模型示意圖
2.2.2 事件置信域構建
在流式數據中,由于歷史事件預警模型不能與實時感知數據流進行全匹配,因此,需要在模型中引入一個容錯區(qū)間,在該容錯區(qū)間內的實時感知數據點,均判定為危險數據。該容錯區(qū)間稱為事件置信域。事件置信域構建過程為如下。
首先,由公式(6)可知,預警模型Ω與實時感知數據點之間一定存在不匹配的情況,設預警模型y(x,a)=a0+a1x+…+ak xk=,則誤差E(a)為各感知數據點到模型Ω的距離平方和。設a為系數向量,(xn,yn)為實際的感知數據。如公式(10)所示:
其次,以建立的回歸模型Ω為基準,上下區(qū)間范圍選取作為事件置信域,其中,num為數據點的數量,θ為偏移量。事件置信域區(qū)間內需要確保至少包含95%的歷史事件數據點。如圖6 為流式數據事件置信域示意圖。
圖6 事件置信域示意圖
由圖6可知,流式數據事件預警是根據實時數據點趨勢進行的。在預警階段,實時數據點落在置信域區(qū)間內,即表示有發(fā)生災害事件可能性,且由預警模型建立規(guī)則可知,越靠近預警模型的流式數據點,其危險程度就越高。
由于流式數據事件具有隨機性,當實時數據到達后,與事件預警模型進行比較分析,進行事件預警。為了解決傳統(tǒng)預警方法滯后性問題,提出判識因子變換策略,預估計流式數據未來的變化趨勢,根據實時流式數據與事件預警模型的匹配程度進行分階實時預警。
要對流流式數據事件進行實時判識,需要在事件發(fā)生的時間域內,通過已到來的部分感知數據點的發(fā)展趨勢,預估計其未來是否可能形成災害事件,因此,為了衡量流式數據事件發(fā)生的可能趨勢,本文提出判識因子的概念。判識因子可以對實時感知數據與預警模型的貼近趨勢進行描述,當感知數據對預警模型的擬合程度越高,判識因子越靠近模型;反之,則判識因子越靠近置信域邊界。
定義2(判識因子)事件置信域內隨實時數據變化趨勢而自適應變化的曲線。
設ξ表示事件置信域,γ表示判識因子,在事件預警模型Ω的置信域區(qū)間內,γ隨實時數據在模型Ω上方和下方1/2| |ξ-Ω的區(qū)間內平行移動進而對實時數據的趨勢進行預測。如圖7為判識因子示意圖。
圖7 判識因子示意圖
當實時流式數據到來時,通過判識因子進行匹配,設置參數ρ為預警狀態(tài)標記,且ρ=0。由于實際環(huán)境中可能出現強噪聲或其他無規(guī)律強干擾源,導致數據產生突變情況,即在連續(xù)n個數據點滿足災害事件置信域區(qū)間后,出現部分后續(xù)感知數據點偏移出置信域的情況。針對該問題,在變換規(guī)則中不應舍棄已經累積的狀態(tài)。設置判識因子“指數上升、線性下降”的變換方法,降低數據突變影響的同時保證及時觸發(fā)事件預警。判識因子變換規(guī)則包含如下步驟。
步驟1 若連續(xù)到來的m個實時數據點,均在置信域ξ與判識因子γ之間的區(qū)間范圍時,將γ遠離模型Ω進行個單位的指數平移操作;若后續(xù)實時數據點繼續(xù)進入ξ與γ的區(qū)間范圍內,則準備進入預警觸發(fā)狀態(tài),預警狀態(tài)標記ρ置為1;否則,γ繼續(xù)向外平移個單位,直至進入預警觸發(fā)狀態(tài);進入預警觸發(fā)狀態(tài)后,判識因子γ及預警狀態(tài)標記ρ進行初始化。
步驟2 若連續(xù)到來的m個實時數據點,在置信域ξ和判識因子γ的交集范圍內時,將γ靠近模型Ω進行α個單位的線性平移操作;若后續(xù)實時數據點繼續(xù)進入γ和Ω的范圍內,則準備進入預警觸發(fā)狀態(tài),預警狀態(tài)標記ρ置為1;否則,轉至步驟1。
步驟3 在預警觸發(fā)狀態(tài)下,若連續(xù)m個實時數據點偏移出置信域ξ,則取消預警觸發(fā)狀態(tài),判識因子γ及預警狀態(tài)標記ρ進行初始化,轉至步驟1;否則,繼續(xù)保持預警觸發(fā)狀態(tài)。
基于3.1 節(jié)判識因子變換策略,提出事件分階趨勢預警。摒棄現有閾值跳變二分法預警的方法,設流式數據災害事件發(fā)生的可能性隨預警等級的提高而增大,通過實時流式數據與預警模型的擬合程度將預警結果由低到高分為三個等級,通過衡量預警等級采取不同的應對措施。分階趨勢預警觸發(fā)規(guī)則包含如下步驟。
步驟1 當連續(xù)到來的m個實時數據點,均在置信域ξ與判識因子γ之間的區(qū)間范圍(判識因子變換規(guī)則步驟1)時,觸發(fā)一級預警發(fā)布狀態(tài)。
步驟2 基于步驟1,繼續(xù)監(jiān)測預警狀態(tài)標記ρ,若ρ置為1,則立即觸發(fā)二級預警發(fā)布狀態(tài);否則,取消一級預警發(fā)布狀態(tài)。
步驟3 當連續(xù)到來的m 個實時數據點,在置信域ξ和判識因子γ 的交集范圍內(判識因子變換規(guī)則步驟2)時,觸發(fā)二級預警發(fā)布狀態(tài)。
步驟4 基于步驟2,繼續(xù)監(jiān)測預警狀態(tài)標記ρ,若ρ置為1,則立即觸發(fā)三級預警發(fā)布狀態(tài);否則,將警發(fā)布狀態(tài)級別降二級。
步驟5 當連續(xù)m 個實時數據點偏移出置信域ξ(判識因子變換規(guī)則步驟3)時,立即取消全部預警發(fā)布狀態(tài)。
通過事件分階實時趨勢預警,可以在很大程度上提高流式數據災害事件的實時性和準確性。
本章對ATRIM方法的預警效果和效率進行了綜合實驗評估,實驗數據集為集賢煤礦50 萬條微震流式數據,包含振動信號在水平和垂直3個方向的分量,共享相同時間域,采樣頻率為10 000 數據點/s。實驗選擇垂直分量數據進行計算,分別通過數據建模準確性、預警實時性、準確性及可靠性等幾個方面驗證方法的有效性,對比算法為STA/LTA 時域分析法、GM 模型法以及WCM分級預警法。實驗平臺為Intel Core i5-7500T @ 2.70 GHz處理器。
建立時序事件預警模型時,感知數據點數量對預警準確性影響較大,且數據點過少時,預警模型缺乏代表性。實驗模擬了建立模型的數據規(guī)模與誤差率的關系,如圖8,橫坐標表示建立模型使用的歷史災害數據,縱坐標表示規(guī)格化后的誤差絕對值。由圖8可得,本文提出的兩級回歸的事件預警模型構建方法,在海量數據集下能夠更好地反映流式數據事件的變化趨勢,數據規(guī)模與模型準確率成正比關系。
圖8 數據規(guī)模與誤差率關系圖
本節(jié)對ATRIM 方法的預警實時性進行了評估,并與STA/LTA、GM 方法以及WCM 方法進行了對比。如圖9,橫坐標表示預警實時流式數據的數據點數量,縱坐標表示預警觸發(fā)時間。
圖9 實時性測試圖
時序事件的持續(xù)時間通常在零點幾秒至幾秒內,對預警觸發(fā)策略的實時性要求極高。由圖9 可得,STA/LTA 方法必須滿足時窗閾值觸發(fā)條件才能觸發(fā)預警,GM方法需要接收一個完整窗口數據后進行事件預警,WCM方法窗口每次固定累積1/4的數據進行計算,隨著實時數據的不斷累積,這些預警方法的滯后性就越明顯。而本文提出的ATRIM 方法預警觸發(fā)時間穩(wěn)定在100 ms 左右,能實時處理數據,較其他3 種方法具有更高的實時性。
如圖10 為各個算法預警效率對比圖,橫坐標為預警觸發(fā)次數,縱坐標為預警時間。
圖10 預警觸發(fā)效率對比圖
由圖10 可得,WCM、GM、STA/LTA 方法的平均預警觸發(fā)時間分別維持在300 ms、600 ms、1 000 ms 左右,本文提出的ATRIM 方法多次預警觸發(fā)時間均在100ms左右,遠低于其他3種方法。與其他時序事件預警方法相比,ATRIM的平均時間最短,更適合流式數據事件的實時預警處理。
如圖11 為預警準確性對比圖。橫坐標表示流式數據的實時數據點數目,縱坐標為預警準確性的百分比誤差。
圖11 預警準確性對比圖
由圖11可得,隨著的實時數據點數目的增多,WCM方法的誤差率先小幅度上升后趨于平緩;當數據點數目≤5 000時,STA/LTA方法受噪音干擾較大,導致窗口相應計算的結果不準確,誤差率隨幾乎成直線上升趨勢,最高誤差率達到了73.6%。當數據點數目>5 000 時,初動時間持續(xù)短,后續(xù)感知數據很快到達,窗口計算的結果比較準確,使得誤差率出現了大幅度的下降,但誤差率仍然高于其他兩種方法;本文提出的ATRIM 方法誤差率未隨著數目的增多而明顯增大,一直在5%左右,由此可見,ATRIM 方法優(yōu)于WCM 方法以及STA/LTA 方法,具有更高的預警準確性。
方法首先建立兩級回歸的事件預警模型,對海量歷史事件進行規(guī)格化處理,引入一級移動回歸法提取數據特征,通過可變網格對數據進行劃分,并基于支持域選取特征點;其次,基于提取的數據特征,通過二級線性回歸法建立事件預警模型,并對模型進行最小二乘誤差分析,構建事件置信域,實現流式數據與預警模型的相似匹配;最后,提出基于判識因子的事件分階實時預警方法,通過判識因子變換策略對事件未來變化趨勢進行預估計,實現事件的分階實時預警。