石旭榮,陳 辰,劉 權,高有利,劉賢松(.中國聯(lián)通網絡AI中心,上海 00050;.上海諾基亞貝爾股份有限公司,上海 006)
在通信網絡中,不同設備商的設備其自身在運行工作時,通過對設備進行如性能和可靠性等的監(jiān)控會形成一系列的指標數(shù)據,設備側的異常是引起業(yè)務質量惡化和業(yè)務故障的源頭之一,借助人工智能,基于這些監(jiān)控數(shù)據進行指標的預測,從而在設備端提前進行預警并采取行動預案,以降低業(yè)務的影響度。
本文將探討從實際情況出發(fā)基于機器學習進行設備監(jiān)控指標異常預測的工作,旨在快速發(fā)現(xiàn)網絡業(yè)務質量惡化的問題,做到先于用戶發(fā)現(xiàn)問題。
不同于其他KPI數(shù)據,從過往設備監(jiān)控數(shù)據的獲取過程中發(fā)現(xiàn),引起業(yè)務質量惡化的根因有很多,設備端的異常也僅僅是眾多原因中的一條,很難確定業(yè)務質量惡化和設備監(jiān)控信息的具體數(shù)據對應關系。同時不同場景下,設備的監(jiān)控指標也會有不同的表現(xiàn)形式,此外不同小區(qū),對應著不同廠商的設備,這就使得數(shù)據本身很復雜。
這也意味著,如果從有監(jiān)督學習來設計模型的方式的阻力會很大,并且有標簽的數(shù)據量非常少,不足以支持有監(jiān)督模型的訓練學習。
在進行方案設計的過程中,必須考慮到上述的這些實際情況。從數(shù)據的特點上來看,設備運行時的監(jiān)控指標是典型的時間序列數(shù)據。這樣可以通過時間序列算法來進行基礎模型的選型。對時間序列的數(shù)據來說,可以設置時間窗口和窗口長度,確定一個T時間點,使用T+0之前的數(shù)據進行訓練,使用T+1及之后的數(shù)據進行測試,同時可以調整窗口的長度N,預測未來N的時間長度的指標數(shù)據,這樣模型訓練中訓練集和測試集數(shù)據的問題可以得到解決。
同時再結合場景,根據不同場景進行時間序列模型的構建,會使得模型更具有針對性。進一步的,可以在不同場景中繼續(xù)區(qū)分不同的設備廠商甚至是同一個廠商不同設備的類型和不同的設備版本,這樣會使模型更加聚焦。如此,“冷啟動”這個模型時可以獲得精度上的保證,并對后續(xù)的數(shù)據沉淀和模型優(yōu)化更新積累質量比較高的“打標”數(shù)據。
圖1示出的是模型方案。
圖1 模型方案
在設計好模型的方案后,根據模型方案,分步進行模型的構建與實現(xiàn),其中機器學習算法的選型是關鍵。
在同一區(qū)域的數(shù)據中,不同場景的分離可以通過結合B域數(shù)據,O域數(shù)據來進行實現(xiàn),并找到合適的場景類別數(shù)。這方面的工作可以通過聚類算法實現(xiàn)。在此次的實現(xiàn)中,通過對不同聚類算法的比較并進行選擇,最后使用了K-Means聚類算法進行場景的分類,并通過聚類算法的肘分析法來確定場景分類的具體數(shù)量。
也可以結合上述數(shù)據對廠商及設備直接進行區(qū)分。在實際的情況中,有的廠商,其設備類型或者設備版本對應的數(shù)據量很小,則不對該廠商做進一步區(qū)分,而是直接建模。這樣,不同廠商對應不同的廠商模型,同時不同廠商下也會存在不同的設備模型。
而這些模型也可以根據數(shù)據的特點分別使用不同的時間序列算法來進行實現(xiàn),可以選擇如下的時間序列模型。
回歸模型:把監(jiān)控的指標值和時間做對應關系,通過回歸模型來做值的預測?;貧w模型主要包括線性回歸、邏輯回歸、多項式回歸、逐步回歸、嶺回歸、套索回歸、ElasticNet回歸等。在此次應用中,絕大部分網絡性能指標會隨著用戶行為周期性而發(fā)生變化,在多變量預測的情況下雖然回歸模型有較好的解釋性,但是無法兼顧到指標周期性變化的特征,所以具有周期性的業(yè)務質量指標不建議用回歸模型進行預測。
ARMA/ARIMA等模型:ARMA自回歸滑動平均模型是研究時間序列的重要方法,由自回歸模型(簡稱AR模型)與移動平均模型(簡稱MA模型)為基礎“混合”構成。ARIMA模型名為差分整合移動平均自回歸模型,又稱整合移動平均自回歸模型(移動也可稱作滑動),也是時間序列預測分析方法之一。如果設備的監(jiān)控時間序列數(shù)據是穩(wěn)態(tài)的,時間序列也不會隨著時間的推移而出現(xiàn)非穩(wěn)態(tài)的變化,那么在此場景下可使用這類模型進行未來值的預測。
時間序列分析模型:是定量預測方法之一。它包括一般統(tǒng)計分析(如自相關分析、譜分析等),統(tǒng)計模型的建立與推斷,以及關于時間序列的最優(yōu)預測、控制與濾波等內容。經典的統(tǒng)計分析都假定數(shù)據序列具有獨立性,而時間序列分析則側重研究數(shù)據序列的互相依賴關系。后者實際上是對離散指標的隨機過程的統(tǒng)計分析,所以又可看作是隨機過程統(tǒng)計的一個組成部分。故而,時間序列分析模型也經常用于異常檢測。
基本思想:根據系統(tǒng)的有限長度的運行記錄(觀察數(shù)據),建立能夠比較精確地反映序列中所包含的動態(tài)依存關系的數(shù)學模型,并借以對系統(tǒng)的未來進行預報。
基本原理:一是承認事物發(fā)展的延續(xù)性。應用過去數(shù)據,就能推測事物的發(fā)展趨勢。二是考慮到事物發(fā)展的隨機性。任何事物發(fā)展都可能受偶然因素影響,為此要利用統(tǒng)計分析中加權平均法對歷史數(shù)據進行處理。
模型結構:時間序列F(x)可以表示為3個因素的函數(shù),即:
圖2示出的是原始指標趨勢圖。
圖2 原始指標趨勢圖
長期趨勢:T(x)為趨勢,長時間的、緩慢的變化(見圖3)。
圖3 分解后T(x)趨勢圖
周期性趨勢:S(x)為季節(jié)、周期,周期性的變化(見圖4)。
圖4 分解后S(x)趨勢圖
隨機性變化:R(x)為隨機性變化,即各種原因導致的系統(tǒng)變化(見圖5)。
時間序列分解的方法有很多,較常用的模型有加法模型和乘法模型。
圖5 分解后R(x)趨勢圖
加法模型為:F(x)=T(x)+S(x)+R(x);乘法模型為:F(x)=T(x)·S(x)·R(x)。
加法模型更多傾向于組成模型的各個因子是獨立的,乘法模型更多傾向于各個因子之間有影響,尤其是周期性變化比較明顯的應用。由于告警通常是多種因素導致的,因素與因素之間基本獨立,所以,理論上本算法適合使用加法模型。但實際應用中發(fā)現(xiàn),某些指標(如流量)數(shù)值變化特別大,單獨使用加法模型易受數(shù)值范圍的影響,于是對數(shù)據取對數(shù),并加上合適的偏移量,最終將加法模型轉換為有偏置的乘法模型。
通過時序分解,可對單一指標過去n周的數(shù)據分解為3個函數(shù),其中趨勢和周期是由系統(tǒng)決定的(穩(wěn)定),隨機項是應該特別關注的,正常情況下,隨機項的范圍應該處于一定合理范圍內,一旦超出合理范圍則表示異常。這里假設異常服從正態(tài)分布(當因素較多、互相獨立時這種假設比較容易驗證),根據正態(tài)分布密度函數(shù)推出。圖6示出的是正態(tài)分布圖。
圖6 正態(tài)分布圖
處于1σ之內占總體的68.3%而處于3σ之內則占到整體的99.7%,實際上關注的是3σ之外的分布(實際應用中通常取3.5σ~4.5σ),這部分理論上不應該發(fā)生,一旦發(fā)生即表示需要特別關注。所以
輸出為預測門限的上限和下限,以N個周期為單位,提前預測N天的告警門限(其中N可以自定義,當前N=7)。
在對設備的監(jiān)控應用中,時間序列分析模型適用于大部分業(yè)務質量的惡化監(jiān)控,其中加法模型適用于指標波動較大的指標,如業(yè)務流量等;乘法模型適用于指標波動較小的指標,如成功率、異常占比等。
Facebook-prophet:該算法基于時間序列分解和機器學習擬合實現(xiàn),可以設置突變點,以及對季節(jié)性和趨勢性進行預測,亦可以考慮節(jié)假日的影響,對有些場景來說,比如在已知確定的節(jié)假日時間,重大事件活動時間的情況下,使用該模型會更有優(yōu)勢。
模型結構:Prophet的本質是一個可加模型,基本形式如下:
其中g(t)是趨勢項,s(t)是周期項,h(t)是節(jié)假日項,εt是誤差項并且服從正態(tài)分布。Prophet算法使用加性模型的好處是可以刻畫時間序列的不同變化部分:整體走勢、周期性變化、節(jié)假日影響和異常點。
整體走勢:Prophet里使用了2種趨勢模型:飽和增長模型和分段線性模型。這2種模型都包含了不同程度的假設和一些調節(jié)光滑度的參數(shù),并通過選擇變化點來預測趨勢變化。
周期性變化:Prophet用傅里葉級數(shù)來建立周期模型。
對N的調節(jié)起到了低通濾波的作用。
節(jié)假日影響:節(jié)假日需要用戶事先指定,每一個節(jié)假日都包含其前后的若干天。比如中國的雙十一、春節(jié)以及美國的黑五等。
異常點:擬合那些無法用模型描述的異常點。
所以,如果設備的指標數(shù)據不具有明顯的周期性,也沒有很強的趨勢性,那么該算法并不是首選。但大部分業(yè)務質量指標都具有明顯的周期性,而且也同樣會受到節(jié)假日的影響。故而,對于網絡質量惡化的監(jiān)控來說,這個算法只需要做少許的修改就能使用網絡質量惡化的監(jiān)控,而且也是落地性較強,效果較好的算法。
LSTM:LSTM通常被稱為“長短期記憶網絡”,是一種特殊的RNN,能夠學習長期依賴關系,屬于一種基于時間序列的深度機器學習算法。LSTM是一種含有LSTM區(qū)塊或其他的一種類神經網絡,與RNN神經元一樣,LSTM神經元在其管道中可以保持記憶,以允許解決順序和時間問題,而不會出現(xiàn)影響其性能的消失梯度問題,也是在訓練數(shù)據量較大情況下會選擇的算法。在此次課題中,出現(xiàn)某個廠商可以獲取1年以上數(shù)據量的情況,使用了該算法,具有較好的性能,但當數(shù)據量較少,在半年以下時,該算法的表現(xiàn)反而不如其他模型,極端情況下甚至也不如回歸模型。
圖7為該模型在某個廠商數(shù)據上的模型表現(xiàn),設置預測的窗口長度在3時,亦顯示了較高的預測精度。
圖7 廠商設備監(jiān)控指標LSTM模型性能
以上的模型需要結合實際情況以及業(yè)務的特征進行選擇,不同的業(yè)務場景、不同的數(shù)據特征、不同的數(shù)據條件都會影響最終的算法選擇。在未來,可以考慮結合知識圖譜的方式,學習算法與數(shù)據特征之間的關系,最終實現(xiàn)算法的自動選擇。
在得到“冷啟動”的模型后,通過AIaaS進行模型的部署上線,并和生產系統(tǒng)進行對接生產數(shù)據。同時時間序列模型在T時間點對T+1時間數(shù)據的預測,在T+1時刻到來時即可能得到驗證,故而能快速地形成模型和數(shù)據的閉環(huán)。
如此可以通過AIaaS平臺定時任務或周期性地發(fā)起對模型的重新訓練和優(yōu)化,進行模型的更新。達到數(shù)據閉環(huán)和模型閉環(huán)的效果。如此在訓練階段即使準確度較低的“冷啟動”模型也能夠在灰度發(fā)布后,通過在線試運行一段時間以適配提高模型精度。
圖8示出的是線上數(shù)據的閉環(huán)和模型的更新。
圖8 線上數(shù)據的閉環(huán)和模型的更新
受用戶行為因素影響,小區(qū)感知指標的波動性很大,并且具有周期性的特征。所以,對于小區(qū)感知指標惡化問題的監(jiān)控,在上述算法中Prophet是最為合適的算法。在本案例中將采用Prophet算法對重要區(qū)域的小區(qū)進行準實時的感知惡化的監(jiān)控,以縮短問題發(fā)現(xiàn)時間,保障用戶感知。
例:小區(qū)19******9,TCP時延連續(xù)惡化。小區(qū)指標趨勢如圖9所示。
圖9 小區(qū)指標
圖9中灰色的曲線代表預測的指標惡化閾值,紅色代表實際的指標值。其中指標惡化閾值是通過Prophet算法計算得出的,即圖9中灰色的陰影部分是指標正常的波動區(qū)間,一旦指標超出這個區(qū)間,那么就是一次用戶感知的惡化。在圖9中看到15個小區(qū)感知惡化的異常點,并且這15個感知惡化的異常時間點影響用戶數(shù)均在200人上,其中影響最大的人數(shù)為719人。通過快速定位的結果可以看出,這15個小區(qū)感知惡化問題都是因為負荷問題導致,無線上行資源受限,最終使得小區(qū)下客戶的時延惡化,影響客戶感知,快速置信度均達到了95%以上,其中近一半的快速定位置信度達到了100%。快速定位亦是通過機器學習算法得出的,在本案例中采用的是關聯(lián)算法。通過關聯(lián)算法從歷史數(shù)據中得出用戶感知惡化與性能指標惡化的對應關系,從而完成感知指標惡化的快速定位,完成最終的感知惡化監(jiān)控落地。
經驗證,通過Prophet算法識別的感知惡化問題準確率能達到85%。圖10為實際驗證的匯總結果。
圖10 準確率統(tǒng)計圖
核心網網元感知指標亦會受到用戶行為因素影響,隨著活躍用戶數(shù)的周期性變化,指標也會存在一定的周期性波動,但波動范圍較小。在本案例中,采用時間序列分析的算法實現(xiàn)核心網網元感知監(jiān)控。
圖11所示的是某省核心網TCP1/2步握手時延趨勢。圖11中,灰色的部分為通過時間序列分析算法得出的動態(tài)門限,紅色的部分為實際的指標趨勢。明顯可以看出,紅色圈出的部分實際指標值已經超過了動態(tài)門限的閾值,即為異常的時間點。然后,通過自動的定界,結果顯示為NAT以上原因(即多個NAT異常或NAT以上網元的異常)。在本案例中,定界采用的是多維替代分析法。最后通過實際的人工驗證證實,網絡中有2個NAT分別有2塊板子老化導致用戶TCP時延異常。
在本案例中,通過核心網的準實時監(jiān)控,在用戶大量投訴前主動發(fā)現(xiàn)了問題,并通過及時地處理恢復了正常,實際用戶的投訴量與同類問題相比降低至少60%以上,同樣證實了采用時間序列的方式進行業(yè)務質量監(jiān)控,可以先于用戶發(fā)現(xiàn)問題。
目前采用時間序列分析算法的全省級感知監(jiān)控告警準確性達90%以上。
圖11 TCP核心網側動態(tài)門限
此次基于機器學習進行廠商設備監(jiān)控指標預測的應用。在進行方案設計的過程中,在分析了監(jiān)控數(shù)據的特點,并從實際的工作角度出發(fā)考慮到了不同應用場景下不同廠商,甚至是同一廠商內不同設備、不同版本下的情況,設計和構建了“冷啟動”的指標預測模型。不同廠商下,對應不同模型,同一廠商下對應不同的設備模型,形成了“千人千面”的特點,上線后,可以通過數(shù)據的沉淀繼而進行模型的在線優(yōu)化更新,不斷提高模型的在線服務時間。
值得注意的是“基于機器學習進行廠商設備監(jiān)控指標預測的應用”,只能幫助發(fā)現(xiàn)異常,在實際的應用中還需要進行進一步的問題定界定位,才能夠最終實現(xiàn)應用落地,并且獲得較好的效果。