蔡瑞初,吳思宇,喬杰
(廣東工業(yè)大學(xué) 計算機(jī)學(xué)院,廣州 510006)
故障事件序列由連續(xù)時間下的離散事件組成,常以服務(wù)器狀態(tài)日志、設(shè)備運(yùn)行記錄、系統(tǒng)異常告警的形式出現(xiàn)在大型應(yīng)用程序[1-3]、自動化系統(tǒng)[4-6]、通信網(wǎng)絡(luò)[7-8]等現(xiàn)實(shí)應(yīng)用場景中。基于故障事件序列數(shù)據(jù)發(fā)現(xiàn)故障之間的格蘭杰因果關(guān)系,對研究故障機(jī)制、預(yù)測預(yù)防潛在故障[9-10]以及定位故障根因[11-12]等工作有重要的推動作用。以大型的通信網(wǎng)絡(luò)場景為例,由于具有網(wǎng)絡(luò)規(guī)模巨大、設(shè)備類型多樣等特點(diǎn),單點(diǎn)故障極易引發(fā)大規(guī)模相關(guān)故障事件,通過人工難以對大量故障事件進(jìn)行及時響應(yīng)和定位根因。因此,基于歷史故障事件序列發(fā)現(xiàn)網(wǎng)絡(luò)故障類型之間的因果關(guān)系,有助于高效準(zhǔn)確地定位告警根因,提高運(yùn)維效率,降低運(yùn)維成本。
然而故障事件序列所具有的數(shù)據(jù)稀疏、信息量少、時間精度低的特點(diǎn),對現(xiàn)有的格蘭杰因果發(fā)現(xiàn)算法帶來許多挑戰(zhàn)。另外,在現(xiàn)實(shí)場景的應(yīng)用中,為了保證算法結(jié)果的可靠性,降低線上應(yīng)用風(fēng)險,常要求模型算法能夠引入一些由專家標(biāo)注、業(yè)務(wù)反饋得到的直接、非直接因果結(jié)構(gòu)先驗(無環(huán)先驗、依賴性先驗、故障根因標(biāo)注等),并在此基礎(chǔ)上進(jìn)行格蘭杰因果關(guān)系發(fā)現(xiàn)。因此,如何有效引入結(jié)構(gòu)先驗,是實(shí)現(xiàn)事件序列因果關(guān)系建模落地應(yīng)用亟需解決的問題。
現(xiàn)有的許多工作被提出用于發(fā)現(xiàn)事件序列背后的因果關(guān)系,其中包括基于約束的時序快速因果推斷算法(time series Fast Causal Inference,tsFCI)[13]、瞬時條件獨(dú)立彼得-克拉克算法(Peter&Clark algorithm with Momentary Conditional Independence test,PCMCI)[14]、
基于轉(zhuǎn)移熵的方法[15-16]。將這類方法運(yùn)用到故障事件序列因果發(fā)現(xiàn)場景,需要將故障事件序列數(shù)據(jù)轉(zhuǎn)化為等時間間隔中事件發(fā)生次數(shù)所組成的時間序列,這導(dǎo)致部分時間數(shù)據(jù)丟失。另一種更多應(yīng)用于事件序列的因果發(fā)現(xiàn)場景的方法是多變量霍克斯過程[17-19]。這類方法利用點(diǎn)過程建模故障事件序列,利用由基礎(chǔ)強(qiáng)度和激發(fā)強(qiáng)度構(gòu)成的強(qiáng)度函數(shù)刻畫格蘭杰因果機(jī)制,并利用稀疏正則項對事件間的影響強(qiáng)度參數(shù)進(jìn)行稀疏約束,如乘法交替方向法[10](Alternating Direction Method of Multipliers and Majorization Minimization,ADM4)和基于稀疏群套索正則的最大似然估計算法[8](Maximum Likelihood Estimator with Sparse-Group-Lasso,MLE-SGL)。然而這類方法在優(yōu)化過程中存在無法有效引入因果先驗、剔除間接因果影響、保證稀疏性的問題,使得結(jié)果可靠性不足,效果十分依賴于強(qiáng)度閾值的選擇。
針對現(xiàn)有模型存在的問題,本文提出一種面向故障序列的格蘭杰因果發(fā)現(xiàn)的霍克斯過程模型。在霍克斯過程模型基礎(chǔ)上,設(shè)計基于貝葉斯信息準(zhǔn)則(Bayesian Information Criterion,BIC)的兩步結(jié)構(gòu)優(yōu)化算法,用于發(fā)掘故障事件序列背后的格蘭杰因果關(guān)系。基于貝葉斯信息準(zhǔn)則構(gòu)造的目標(biāo)函數(shù),以?0范數(shù)作為稀疏懲罰項,有效隔離間接因果效應(yīng),保證結(jié)構(gòu)的稀疏性。為優(yōu)化這一目標(biāo)函數(shù),將基于期望最大化(Expectation-Maximization,EM)算法的參數(shù)優(yōu)化模塊與基于爬山法的結(jié)構(gòu)搜索模塊相結(jié)合,提出兩步結(jié)構(gòu)優(yōu)化算法,通過迭代優(yōu)化格蘭杰因果網(wǎng)絡(luò)參數(shù)和結(jié)構(gòu),在保證優(yōu)化效率的同時,有效引入因果結(jié)構(gòu)先驗,提高模型可靠性。而對于故障運(yùn)維場景中時間記錄精度低的問題,將霍克斯過程模型擴(kuò)展到離散時間域上,從強(qiáng)度函數(shù)和目標(biāo)函數(shù)兩個角度,討論霍克斯模型在離散時間域和連續(xù)時間域上的關(guān)聯(lián)。
本節(jié)將形式化定義本文重點(diǎn)解決的問題,進(jìn)而從多變量點(diǎn)過程定義出發(fā),介紹霍克斯過程,并給出霍克斯過程下格蘭杰因果的定義。
在自動化系統(tǒng)的運(yùn)維場景中,故障可以抽象為由類型和發(fā)生時間表示的事件,因此,系統(tǒng)在一段時間內(nèi)發(fā)生采集到的故障告警記錄可以用事件序列形式化地表示。其中:V表示事件類型的集合;T表示事件序列的記錄時間范圍;(vn,tn)表示第n個事件,其發(fā)生在tn時刻,類型為vn。為了方便建模,事件序列可以等價地轉(zhuǎn)化為函數(shù)形式,用一個計數(shù)函數(shù)族C={Cv(t)|t∈T,v∈V}表示。其中:Cv(t)記錄了發(fā)生在時刻t之前的v類事件的數(shù)量;dCv=Cv(t+dt)-Cv(t)。事件類型之間的格蘭杰因果結(jié)構(gòu)則能用有向圖G=(N,E)表示。其中:E表示因果邊的集合。因此,對于這個事件序列的格蘭杰因果發(fā)現(xiàn)問題,給出如下定義:
定義1利用給定事件序列的觀測數(shù)據(jù)E=發(fā)現(xiàn)不同事件類型V背后的因果結(jié)構(gòu)G=(N,E)。
多變量點(diǎn)過程作為一個隨機(jī)過程模型,常被用于建模刻畫多種類型的事件序列之間的影響機(jī)制。多變量點(diǎn)過程的建模核心是構(gòu)造各個事件類型發(fā)生的強(qiáng)度函數(shù)λv(t):
本文所采用的霍克斯過程[20]是點(diǎn)過程的一種特殊形式,常被用于建模事件之間的相互激發(fā)的機(jī)制?;艨怂惯^程考慮了一種特定類型的強(qiáng)度函數(shù),該函數(shù)測量過去事件對于當(dāng)前時刻強(qiáng)度的激發(fā)程度,這種激發(fā)影響隨時間變化而變化,具體形式如下:
在本文中,使用不同衰減系數(shù)δk的指數(shù)函數(shù)作為基函數(shù),即κk(t)=δkexp(-δkt)。
在現(xiàn)實(shí)場景中,故障序列數(shù)據(jù)往往以一定的時間間隔進(jìn)行采集,如每秒更新一次數(shù)據(jù),存在記錄精度不夠的情況。因此,本文工作還關(guān)注離散時域下事件序列的建模。在離散時間域下,T變?yōu)橐粋€離散時間域T={0,Δt,2Δt,…,T},其中Tt-={t′|t′∈T,t′≤t-Δt}。因此,事件序列Xv,t=Cv(t+Δt)-Cv(t)可以用時間序列X={Xv,t|v∈V,t∈T}表示,表示時間間隔[t,t+Δt)中事件的發(fā)生次數(shù)。在這種情況下,給出離散時間域下霍克斯過程模型的擴(kuò)展,其強(qiáng)度函數(shù)的表示形式如下:
在離散時間域的事件序列建模中,λv(t)表示的是每個時間間隔[t,t+Δt)中的平均強(qiáng)度,Xv,t取值服從期望為λv(t)Δt的泊松分布。而在理想狀態(tài)下,記錄時間精度提高,時間間隔趨近于0,則有Δt→dt,Xv,t→dCv(t),那么離散時間域強(qiáng)度函數(shù)(式(4))則會轉(zhuǎn)化為連續(xù)時間下的強(qiáng)度函數(shù)(式(3))。
在文獻(xiàn)[21]中,作者對點(diǎn)過程格蘭杰因果關(guān)系的定義[22],揭示了霍克斯過程的強(qiáng)度函數(shù)和格蘭杰因果結(jié)構(gòu)之間的關(guān)系,具體如下:
定理1假設(shè)一個霍克斯過程其條件強(qiáng)度函數(shù)如式(2)所示,且滿足格蘭杰因果結(jié)構(gòu)G=(N,E),則格蘭杰因果邊v'→v?E,當(dāng)且僅當(dāng)所有t∈T滿足?v',v(t)=0。
根據(jù)定理1 可以進(jìn)一步得出,在模型(式(3))中,v' 不是v的格蘭杰原因當(dāng)且僅當(dāng)對于所有k∈{1,2,…,K}滿足αv',v,k=0。那么在給定因果結(jié)構(gòu)G=(N,E)下,能夠?qū)艨怂惯^程的強(qiáng)度函數(shù)(式(3))做進(jìn)一步簡化:
在離散時間域下,強(qiáng)度函數(shù)的形式為:
其中:Pv表示給定格蘭杰因果結(jié)構(gòu)G=(N,E)下,事件類型v的格蘭杰原因事件類型的集合,即v在G中的父節(jié)點(diǎn)。
基于定理1 可知,為了獲得合理的因果結(jié)構(gòu),稀疏性約束是至關(guān)重要的。因此,本文在似然度的框架下,基于貝葉斯信息準(zhǔn)則構(gòu)造目標(biāo)函數(shù),將?0范數(shù)作為稀疏懲罰項,以保證結(jié)構(gòu)的稀疏性。
由于在連續(xù)時間域下,霍克斯過程的似然函數(shù)已經(jīng)在許多工作中被很好地定義,為了將離散時間域的事件序列建模也引入到本文的模型框架中,本節(jié)針對離散時間域,從泊松分布的角度構(gòu)造似然度函數(shù)。在本文模型中,似然度是關(guān)于G和Θ的函數(shù),給定事件序列觀測數(shù)據(jù),對數(shù)似然函數(shù)如式(7)所示:
進(jìn)一步地,通過對Δt取極限,令Δt→dt,能夠?qū)㈦x散時間域下的似然函數(shù)擴(kuò)展到連續(xù)時間域上,從而得到連續(xù)時間域下霍克斯過程的似然函數(shù):
然而只將對數(shù)似然函數(shù)作為目標(biāo)函數(shù)容易產(chǎn)生過多的冗余因果邊。為了保證結(jié)構(gòu)的稀疏性,將貝葉斯信息準(zhǔn)則的懲罰項引入本文的目標(biāo)函數(shù)中,從而得到如下目標(biāo)函數(shù):
其中:p=|V|+K|E|表示模型的參數(shù)數(shù)目[23];m表示在T中發(fā)生的所有的事件數(shù)目。BIC 懲罰項等價于關(guān)于模型參數(shù)的?0范數(shù)正則項。p為參數(shù)的?0范數(shù),而正則項的權(quán)重能夠隨樣本數(shù)目變化而調(diào)整,具有更強(qiáng)的適應(yīng)性。
本節(jié)將介紹如何優(yōu)化上述帶?0稀疏約束的目標(biāo)函數(shù)。雖然現(xiàn)有工作針對這一問題已經(jīng)提出了多種方法,如ADM4 方法采用低秩約束對鄰接矩陣進(jìn)行約束,MLE-SGL 方法進(jìn)一步引入了對因果強(qiáng)度的稀疏性正則化,但它們的性能很大程度上取決于稀疏性正則化權(quán)重的選擇或結(jié)構(gòu)剪枝的閾值,并且現(xiàn)有方法存在無法引入直接、間接因果性先驗的不足。
針對上述問題,本文提出基于EM 和爬山法的兩步稀疏優(yōu)化算法(Two Step Sparse Optimization,TSSO),迭代進(jìn)行參數(shù)估計和結(jié)構(gòu)搜索的步驟,以保證學(xué)到一個稀疏的因果結(jié)構(gòu),并提供了在結(jié)構(gòu)搜索過程中引入先驗信息的方法。算法求解部分可以分為結(jié)構(gòu)評分模塊和結(jié)構(gòu)搜索模塊。結(jié)構(gòu)評分模塊通過給定因果結(jié)構(gòu),利用EM 優(yōu)化參數(shù)計算結(jié)構(gòu)的BIC評分,即(G,Θ;E);結(jié)構(gòu)搜索模塊利用爬山法搜索BIC評分最高的因果結(jié)構(gòu),即
在格蘭杰因果結(jié)構(gòu)評分模塊中,對于給定的因果結(jié)構(gòu)G,本文利用EM 算法估計參數(shù)Θ,計算結(jié)構(gòu)G的BIC 評分基于EM 算法的思想,通過引入隱變量z∈N×T×{1,2,…,K},用于告警事件發(fā)生的具體原因,推導(dǎo)出參數(shù)Θ的迭代優(yōu)化公式。
參數(shù)μv的迭代公式為:
而參數(shù)αv',v,k的迭代公式為:
在格蘭杰因果結(jié)構(gòu)評分模塊中,利用上述公式迭代更新給定結(jié)構(gòu)G的模型參數(shù),直至收斂,具體的算法流程如算法1 所示。
算法1因果結(jié)構(gòu)評分模塊
需要注意的是,由于目標(biāo)函數(shù)的非凸性質(zhì),EM算法存在收斂到局部最優(yōu)解的風(fēng)險,因此在實(shí)踐中,通常會嘗試不同的參數(shù)初始起點(diǎn)進(jìn)行優(yōu)化,并取評分最高的參數(shù)作為結(jié)果。
為搜索最優(yōu)的格蘭杰因果結(jié)構(gòu),本文參照文獻(xiàn)[24],使用爬山法,以通過EM 的優(yōu)化得到的BIC評分為基礎(chǔ),選出BIC 評分——最高的結(jié)構(gòu)G,具體的算法流程如算法2 所示。
算法2因果結(jié)構(gòu)搜索模塊
在算法2 中,V(G′)表示G′的鄰居結(jié)構(gòu),即通過對結(jié)構(gòu)G′進(jìn)行一次增邊、刪邊或轉(zhuǎn)邊的操作,得到的結(jié)構(gòu)的集合。在結(jié)構(gòu)搜索模塊中,通過初始化搜索結(jié)構(gòu)(步驟1)、加入對搜索空間的約束(步驟7)等形式,靈活地引入直接、非直接的因果先驗。具體地,在步驟7 中,通過將不滿足無環(huán)條件的格蘭杰因果結(jié)構(gòu)剔除的方式,引入因果無環(huán)先驗性先驗。
現(xiàn)有一些關(guān)于BIC 一致性以及爬山法的相關(guān)工作,也為本文算法的可靠性提供了理論支撐。根據(jù)文獻(xiàn)[23]中的證明可知,在給定足夠大的樣本量的情況下,霍克斯過程BIC 評分的一致性是漸進(jìn)成立的。而文獻(xiàn)[25]中給出證明指出,由于BIC 得分所具有的一致性屬性,這種基于爬山法的結(jié)構(gòu)優(yōu)化算法能夠找到真實(shí)的因果圖。
對本文算法的時間復(fù)雜度進(jìn)行分析。在結(jié)構(gòu)評分模塊中,計算復(fù)雜度主要取決于EM 算法。EM 算法的迭代次數(shù)為常數(shù),因此,給定一個因果結(jié)構(gòu)G,EM 算法的時間復(fù)雜度為O(Km3e)。其中:K代表核函數(shù)中的基函數(shù)κk的數(shù)目;m是指發(fā)生事件的總數(shù);e表示因果結(jié)構(gòu)G中因果邊的數(shù)目。需要注意的是,如果使用基函數(shù)κk滿足κk(t1+t2)=κk(t1)κk(t2),那么EM 的計算復(fù)雜度就能降低為O(Km2e),因為每個發(fā)生的事件的強(qiáng)度都可以只用前一個發(fā)生事件的強(qiáng)度來計算。因此,在實(shí)踐中,常使用指數(shù)形式函數(shù)作為基函數(shù),降低計算復(fù)雜度O(Km2e)。為了使結(jié)果更具普適性,下面的分析將不考慮選擇特殊基函數(shù)的情況。
在結(jié)構(gòu)搜索模塊中,時間復(fù)雜度主要取決于每個事件類型對應(yīng)的原因類型的數(shù)目。根據(jù)BIC 評分的一致性假設(shè),因果結(jié)構(gòu)搜索會從邊數(shù)為0 的空圖開始,在找到所有的E條因果邊后結(jié)束。那么,最壞的情況下,即當(dāng)所有的因果邊都指向同一個事件類型時,算法的時間復(fù)雜度最高,具體為:
在這種情況下,由于本文每次加邊只需要更新原因事件類型集合發(fā)生變化的事件類型對應(yīng)的評分即可,因此每加一條邊的時間復(fù)雜度為O(Km3|V|e)。而最好的情況是因果邊都均勻地分布在每一種事件類型上,因此每一種類型的原因事件類型數(shù)目為在這種情況下,本文算法的時間復(fù)雜度將降低為:
在具體的工程實(shí)現(xiàn)過程中,得益于似然度函數(shù)能夠按事件類型進(jìn)行分解的特性,結(jié)構(gòu)搜索模塊能夠通過并行化計算進(jìn)一步提高計算效率。
本節(jié)使用模擬數(shù)據(jù)以及兩個真實(shí)場景的數(shù)據(jù)對模型進(jìn)行評估。將TSSO 與主流的事件序列格蘭杰因果發(fā)現(xiàn)方法進(jìn)行對比,其中包括基于獨(dú)立性檢驗的PCMCI 算法、基于低秩約束的霍克斯過程模型的ADM4 算法,以及在此基礎(chǔ)上使用更加復(fù)雜強(qiáng)度函數(shù)的MLE-SGL 算法。本文采用F1 評分(F)作為評價指標(biāo),計算公式如下:
其中:TP表示算法預(yù)測正確的因果邊的數(shù)目;FP為算法預(yù)測錯誤的因果邊的數(shù)目;FN為真實(shí)因果結(jié)構(gòu)中沒有被算法發(fā)現(xiàn)的因果邊的數(shù)目。
在模擬數(shù)據(jù)實(shí)驗中設(shè)計5 個控制變量實(shí)驗,通過指數(shù)形式的霍克斯過程生成數(shù)據(jù),強(qiáng)度函數(shù)為其中αv',v表示v'對v的激發(fā)強(qiáng)度。每次實(shí)驗都會隨機(jī)生成格蘭杰因果結(jié)構(gòu)以及霍克斯過程參數(shù)。5 個實(shí)驗變量包括:不同的基礎(chǔ)強(qiáng)度采樣范圍{(0.000 05,0.000 1),(0.000 1,0.000 5),(0.000 5,0.001),(0.001,0.005),(0.005,0.01)},激發(fā)強(qiáng)度系數(shù)取值范圍{(0.01,0.03),(0.03,0.05),(0.05,0.07),(0.07,0.09),(0.1,0.3),(0.3,0.5),(0.5,0.7),(0.7,0.9)},平均入度{0.5,1,1.5,2,3,4},樣本數(shù)量{4 000,6 000,8 000,10 000,15 000,20 000,25 000,30 000},以及事件類型數(shù)目{10,20,30,40,50}。其中:加粗的部分為控制變量實(shí)驗中的默認(rèn)設(shè)置;β默認(rèn)為0.1。此外,為使數(shù)據(jù)更加接近真實(shí)場景情況,在模擬生成的事件發(fā)生時間的基礎(chǔ)上加上一個采樣出的高斯噪聲,并將事件發(fā)生事件的精度設(shè)置為1 s,模擬現(xiàn)實(shí)中故障記錄過程中存在時間偏差、精度不足的情況。
圖1 展示了不同基礎(chǔ)強(qiáng)度取值范圍下的實(shí)驗結(jié)果,可以看出,基礎(chǔ)強(qiáng)度對本文方法的影響不大,而對于其他方法,尤其是ADM4 和MLE-SGL,隨著基礎(chǔ)強(qiáng)度增大,其效果下降明顯。這是因為隨著基礎(chǔ)強(qiáng)度增大,自發(fā)發(fā)生事件的占比變多,容易與不同事件類型之間的相互影響相混淆,引入冗余的因果邊。這說明TSSO 中,基于貝葉斯信息準(zhǔn)則的?0范數(shù)懲罰項能夠更有效剔除冗余的因果關(guān)系。
圖1 針對基礎(chǔ)強(qiáng)度的控制實(shí)驗結(jié)果Fig.1 Results of control experiments on base intensity
圖2 顯示了不同激發(fā)強(qiáng)度取值下的實(shí)驗,可以看出,由于激發(fā)強(qiáng)度取值跨度大,各種方法對于激發(fā)強(qiáng)度的取值大小都比較敏感。這是因為:直觀上,當(dāng)激發(fā)強(qiáng)度取值過小,一些由于事件類型相互影響產(chǎn)生的事件容易與自發(fā)發(fā)生的事件混淆,導(dǎo)致因果邊的漏檢測、誤檢測;而由于模擬數(shù)據(jù)時間精度低,且存在記錄噪聲的情況,當(dāng)激發(fā)強(qiáng)度過大時,原因和結(jié)果事件容易落在同一個時間間隔中(模擬數(shù)據(jù)為1 s),增大判斷格蘭杰因果方向的難度。在這種情況下,本文方法仍優(yōu)于其他對比方法,表明本文方法具有較好的穩(wěn)定性。
圖2 針對激發(fā)強(qiáng)度的控制實(shí)驗結(jié)果Fig.2 Results of control experiments on excitation intensity
如圖3 所示,本文方法在小樣本量的情況下仍然保持較好的性能表現(xiàn),這主要是因為結(jié)構(gòu)評分函數(shù)中的BIC 罰項能夠適應(yīng)不同的數(shù)據(jù)樣本量,保證不同樣本量下BIC 評分的一致性。
圖3 針對樣本數(shù)量的控制實(shí)驗結(jié)果Fig.3 Results of control experiments on sample size
由圖4 和圖5 可以看出,事件類型數(shù)目和平均出度對于本文模型的影響不大,驗證了本文方法在格蘭杰因果結(jié)構(gòu)規(guī)模及密度下的魯棒性。
圖4 針對事件類型數(shù)目的控制實(shí)驗結(jié)果Fig.4 Results of control experiments on number of event type
圖5 針對平均出度的控制實(shí)驗結(jié)果Fig.5 Results of control experiments on average out-degree
真實(shí)數(shù)據(jù)實(shí)驗分別在無線基站網(wǎng)絡(luò)告警場景和城際蜂窩網(wǎng)絡(luò)告警場景數(shù)據(jù)上進(jìn)行測試。對比方法包括PCMCI 和MLE-SGL、ADM4。在實(shí)驗中,除了F1 評分之外,進(jìn)一步引入精確率(P)和召回率(R)作為模型性能的評價指標(biāo),計算公式如下:
其中,真實(shí)結(jié)構(gòu)標(biāo)簽通過專家標(biāo)注得到。
4.2.1 無線基站網(wǎng)絡(luò)告警場景
在無線基站網(wǎng)絡(luò)場景中,實(shí)驗所使用的數(shù)據(jù)采集于一個包含2 476 個基站設(shè)備的無線網(wǎng)絡(luò),時間跨度為37 d,包含605 217 條故障告警記錄,涉及18 種告警類型。
需要注意的是,基于專家知識,在這個場景,故障之間的格蘭杰因果是滿足無環(huán)的先驗的。因此,在TSSO 的結(jié)構(gòu)搜索模塊中(步驟7)加入結(jié)構(gòu)無環(huán)的約束,將不滿足無環(huán)約束的因果結(jié)構(gòu)從搜索空間中剔除。加入有向無環(huán)約束后的算法用TSSO-DAG表示。由表1 可以看出,本文方法在準(zhǔn)確率和召回率上,相比對比方法都有明顯優(yōu)勢(加粗?jǐn)?shù)據(jù)表示最優(yōu)值)。F1 評分比對比方法中表現(xiàn)最優(yōu)的ADM4 高出了16.45%。這說明基于BIC 評分能夠在更有效地剔除冗余因果邊的同時,發(fā)現(xiàn)難以被其他方法檢測到格蘭杰因果關(guān)系。
表1 無線網(wǎng)絡(luò)故障數(shù)據(jù)上的實(shí)驗結(jié)果Table 1 Experimental results on wireless network alarm data
4.2.2 城際蜂窩網(wǎng)絡(luò)告警場景
為進(jìn)一步測試算法的性能,在一個更具挑戰(zhàn)性的城際蜂窩網(wǎng)絡(luò)告警場景數(shù)據(jù)集上進(jìn)行實(shí)驗。在這個場景中,數(shù)據(jù)是從配置了3 087 個網(wǎng)元設(shè)備的蜂窩網(wǎng)中采集的,包含228 030 條告警記錄,涉及18 種告警類型,時間跨度為7 d。在此數(shù)據(jù)集中,存在時間跨度小、樣本分布不平衡的情況。實(shí)驗結(jié)果如表2所示。其中:加粗?jǐn)?shù)據(jù)表示最優(yōu)值;TSSO 為不加無環(huán)先驗的算法;TSSO-DAG 表示加入無環(huán)約數(shù)的算法。
表2 蜂窩網(wǎng)絡(luò)告警數(shù)據(jù)集實(shí)驗結(jié)果Table 2 Experimental results on cellular network alarm dataset
由表2 可以看出,在召回率的指標(biāo)上,各種方法的表現(xiàn)都不夠好,這可能是因為數(shù)據(jù)分布不均勻、采集時間跨度短,導(dǎo)致一些強(qiáng)度較弱的格蘭杰因果關(guān)系所對應(yīng)的數(shù)據(jù)沒有被采集到。通過與其他方法對比可以得出,即使沒有引入無環(huán)先驗,TSSO 的結(jié)果仍明顯優(yōu)于其他對比方法,尤其是在精確率指標(biāo)上提升明顯。這說明本文方法能夠更有效地保證結(jié)構(gòu)的稀疏性,剔除冗余、間接的格蘭杰因果關(guān)系。而從TSSO-DAG 的結(jié)果可以看出,在加入了無環(huán)性約束后,模型的表現(xiàn)有了進(jìn)一步的提升,在F1 評分上,較對比方法中ADM4 高出15.18%,在精確率指標(biāo)上,較沒有無環(huán)約束的TSSO 提升了13.49%??梢钥闯?,在這個場景中,無環(huán)先驗的引入對于提升模型的可靠性有很大的幫助。
同時由表2 也可以看出,對于這種更具挑戰(zhàn)性的場景,先驗知識與反饋的引入就顯得尤為重要。因此,為進(jìn)一步討論先驗知識引入的有效性和必要性,在此真實(shí)數(shù)據(jù)的基礎(chǔ)上設(shè)計兩個實(shí)驗,模擬兩種故障運(yùn)維場景中常見的先驗、反饋形式,對本文方法進(jìn)行測試。
1)引入根因標(biāo)注案例反饋的實(shí)驗
在運(yùn)維場景中,對于一段時間內(nèi)出現(xiàn)的一系列告警,業(yè)務(wù)專家會標(biāo)記出告警對應(yīng)的根因并反饋給運(yùn)維人員做進(jìn)行處理。在本文方法中,能夠通過記錄所有案例中根因及其后繼節(jié)點(diǎn),并將存在不滿足該條件的因果圖從搜索空間中剔除掉的方式,對模型進(jìn)行矯正,從而引入根因標(biāo)注案例反饋信息。本文通過對已知的因果圖中的告警類型進(jìn)行隨機(jī)采樣(每次采樣選取5~10 個告警類型)模擬一段時間內(nèi)出現(xiàn)的告警類型,并通過因果圖定位其中的根因,以此作為模擬根因標(biāo)注案例反饋數(shù)據(jù)。如圖6 所示,相比于原始結(jié)果,少量的根因標(biāo)注案例反饋的引入就能讓TSSO 的性能有顯著的提升,最終能使模型的F1 評分提高22.43%,其中精確率達(dá)到0.78,提升了20.98%。
圖6 引入根因標(biāo)注案例反饋的實(shí)驗結(jié)果Fig.6 Results of experiment of introducing root cause feedback
2)引入因果依賴性先驗的實(shí)驗
依賴性先驗是指對于兩個故障類型,已知其存在因果依賴關(guān)系但是無法判斷其因果方向。在TSSO 中,通過修改結(jié)構(gòu)搜索終止條件的方式,引入依賴性先驗,保證輸出的因果圖的骨架包含先驗告警對。在模擬依賴性先驗數(shù)據(jù)方面,本文對已知因果結(jié)構(gòu)的骨架的邊集合進(jìn)行采樣,模擬依賴性先驗數(shù)據(jù),進(jìn)行實(shí)驗。如圖7 所示,橫坐標(biāo)表示格蘭杰因果骨架的采樣的比例,即先驗的故障對數(shù)目占真實(shí)因果邊的比例。可以看出,依賴性先驗引入則更側(cè)重于提高模型召回率,能夠在保證精確率穩(wěn)定的情況下,使召回率得到顯著提升,且F1 評分提升29.93%。
圖7 引入因果依賴性先驗的實(shí)驗結(jié)果Fig.7 Results of experiment of introducing dependence priors
現(xiàn)有基于事件序列的格蘭杰因果發(fā)現(xiàn)算法難以有效引入因果先驗,保證所學(xué)因果結(jié)構(gòu)的稀疏性,在稀疏、時間精度低故障事件數(shù)據(jù)上,存在結(jié)果不穩(wěn)定、可靠性差的問題。本文提出一種面向故障序列的因果發(fā)現(xiàn)的霍克斯過程模型。將霍克斯過程拓展到離散時間域,并依據(jù)貝葉斯信息準(zhǔn)則構(gòu)造以?0范數(shù)為稀疏懲罰項的目標(biāo)函數(shù),保證因果結(jié)構(gòu)稀疏性。同時通過結(jié)合EM 算法與爬山法,提出兩步迭代優(yōu)化算法,發(fā)掘故障事件背后的格蘭杰因果關(guān)系,在保證優(yōu)化效率的情況下,有效引入因果結(jié)構(gòu)先驗,進(jìn)一步提高模型的可靠性。實(shí)驗結(jié)果表明,與ADM4、MLE-SGL、TSSO 和PCMCI 算法相比,本文方法在模擬數(shù)據(jù)和真實(shí)數(shù)據(jù)下具有更高的準(zhǔn)確率。后續(xù)將通過引入深度點(diǎn)過程模型的框架,使用表達(dá)能力更強(qiáng)的模型捕捉機(jī)制更復(fù)雜的因果關(guān)系。