多角度分析,通訊時序數據的預測與異常檢測挑戰


通訊作為一個堪比水電氣甚至影響更大的一種社會基礎服務,特別是5G建設以后,系統更加復雜。對通訊質量優化,能耗優化,運維優化等挑戰更高。

各種通訊系統中,大量的軟硬件模塊,出於業務、性能、故障等監控的目的,產生並采集了大量與時間相關的各種指標數據。基於這些數據,可以實現各種能力,如預測,異常檢測等,並提供為有價值的服務:比如基於預測實現:流量預測、用戶預測輔助容量規划,設備節能,客戶流失管理;基於異常預測實現:故障預警、故障發現、故障關聯過濾,輔助修復等,減少業務損失和人力投入。

問題

1.1)什么是時序(Time Series)

時序數據,是被測量對象上按特定時間(一般固定周期)持續測量到的數值序列。

數學形式可表示為:

X = {X1, X2, ...}, also is X = {Xt : t∈T}

1.2)什么是時序預測(Time Series Prediction)

時序預測,是根據一定長度歷史時序,預測將來一步到多步的時間點的時序數值。

數學形式可表示為:

Y = f (X),

X = { …, Xt-m-2, Xt-m-1, …, Xt-2, Xt-1}

Y = {Xt, Xt+1, ..., Xt+n, Xt+n+1}

1.3)什么是時序異常檢測(Time Series Anomaly Detection)

時序異常檢測,是從一條或多條時序中,獨立或者關聯,識別出顯著不同於其他大多數的少數疑似點。

數學形式可表示為:

y = f (X),

X = {X1, X2, ...}, also is X = {Xt : t∈T}

y ∈ {0,1}

乍看之下,時序數據的異常檢測,輸入數據形式簡單,任務也很明確,一般情況輸入的數量也很小,很容易設計各種算法來做異常檢測,而且有不同類型的大量異常檢測算法可以直接使用或者改進使用。

事實上,要實現一個(套)綜合能力強大,能很好的適合通訊領域的要求的時序數據異常檢測算法,挑戰非常大。

挑戰

1)一般性的挑戰:

a) 普適:能適用不同類型的指標,不同采樣間隔,不同物理/業務含義,不同的曲線波形,不同數據取值范圍,是否有缺失值等。

b) 魯棒:能容忍時序中的一定程度的變化,持續高質量檢測,比如數據分布的小變化如均值方差、周期頻率與幅度,噪音大小等的小變動,比如是否有lag和lag的變動等。

c) 檢測能力強:指標從檢測難度看,有相對容易檢測指標,比如正常時均值不變或者僅有極小方差的,或者指標有一個或較少幾個周期構成的周期性強且異常點明顯的指標;也更有大量指標曲線非常復雜,經過特定的算法計算后,特別是在有樣本標注監督信號的情況下,才能夠分離出異常點,甚至難以分離出異常點。后者對算法檢測能力的強大要求較高,但是,對高難度的指標的檢測和普適甚至無標注下的普適檢測算法會形成矛盾。

d) 檢測精度高:異常檢測效果通常可以通過精度、召回、F1值等衡量。既要精度高,又要召回高,很難兩全的;漏報太高則異常檢測的目的無法達到,誤報太高對后續處理特別運維人工參與時干擾太大。

2)通訊領域中更多的挑戰:

a)針對不同局點、不同網絡、不同業務類型,能夠以較少人力開局和維護;否則對數千局點,每個局點、每套系統,數百數千種類型,數萬數十萬指標,需要數人天甚至數人月,且專業人員才能調試穩定,成本極高。

b)在不同設備上,如何檢測速度快,消耗資源少;通訊系統不同系統的運行環境差別較大;有無線網絡中網絡邊緣基站的ARM小節點,也有核心網中數據中心的X86集群。有些指標采樣時間間隔為小時甚至更長,但有些核心系統的指標,以5分鍾,1分鍾,甚至以秒計。

c)設備上研發的系統,被部署到運營商的環境后,算法研究人員和系統研發人員,都沒有辦法再直接接觸到系統,進行監測優化,基於較少數據實現普適的算法,零接觸的運行與自檢自我維護,提出挑戰。

d)基於時序預測和異常檢測的算法,一般會有后續的動作被執行。這些動作不僅包含生成數據報表用於容量規划,基於異常檢測發出的運維告警;還可能被用戶在系統類執行某些其他直接影響業務的動作,諸如降級,關斷,在線擴容等。嚴重錯誤的預測和異常檢測結果可能引起不期望甚至不可接受的動作被執行。

下面逐個詳細分析挑戰:

2.1)從數據上看

a) 給定一條時序數據序列,比如[…, 1.9, 2.0, 2.1, 1.9, 2.0,2.1, 99.9],如何理解並利用其中的信息?如果只是直接利用原始的數值,可能有些異常,即使有明確的標注也不能被學習和檢測,甚至有明確的規則都不能被定位出來,比如:每天凌晨3點,如果指標超過30.0則是異常。顯然,時序數據中,除了原始指標值本身,要考慮充分利用time,按日歷calendar比如周等可用於周期對齊的信息,如果使用機器學習模型,會隱式或者做特定編碼輔助顯式的方式表達前后關系、時間信息,這樣有助於異常檢測。對於時間利用的理解,有些序列只需要理解和利用到相對規律性周期並表示即可,有些序列則需要理解和利用到日歷時間,因為包含但不限於通訊系統,這些指標的產生的系統受人類社會的活動或強或若的影響。

b) 如何理解時序數據的生成來源?一般的,可以理解為一條時序背后,是一到多個“作用力”的共同作用,產生出不同的變化和振盪。有些作用力,可能是極度偶發的,無論多強大多“完美”的算法,都難以去分析甚至發現規律。而有些指標中的作用力,更多的表現為統計意義上累加的結果,其可預測性更高,異常可檢測性就更高。因此,在待檢測指標較少,指標預測和異常檢測業務價值較大的場合,通過對指標產生的作用力做業務分析,分析其波動的來源和大小,多個作用力是獨立還是某種相關(正/反),是否具有直覺意義上的規律,就非常重要。

c) 在通訊領域中,為了降低基於指標異常檢測的重復報警,降低誤報率等,通常會嘗試補充除時序本身以外的信息,其主要包括:指標的靜態配置信息(比如:是否是某種ratio還是原始物理值;是原始值還是通過某函數甚至綜合多個指標計算出的派生值),多條指標的相關性信息(人工配置或者自動發現的相關性);指標產生的拓撲信息(其中拓撲可能是相對靜態的底層物理層,也可能是動態變化的上層各邏輯層)。在這些信息中,各種信息的利用各有挑戰:比如ratio中成功率,如果單純的看6個9不一定算高,而3個9不一定算低,還需要結合其原始值(總數和成功數,甚至其他負載指標)來綜合考慮。在拓撲信息的利用中,不僅僅是如何表示拓撲(比如做圖嵌入等),更大的挑戰在於,如果是邏輯層非常動態的拓撲,維護和准確利用有效拓撲快照非常有挑戰性,從工程上還需要平衡拓撲利用的價值和成本。

d) 在實際工程中,海量的不同層級的采集點上,指標數據如果需要檢測,大部分需要就地檢測,否則通過網絡傳輸和存儲后再計算,對網絡、存儲、計算、時效性上都不可接受。因此,在設備上的就地檢測,系統不可能緩存太長的數據,也就是說:檢測算法本身,無論是否學習,數據的可見范圍都很小,這對算法要挖掘到長周期規律挑戰極大。

e) 檢測系統介入業務系統的時刻,被檢測指標所代表的業務系統,可能處在其不同的生命周期(新裝期,上升期,成熟期,退出期,等),不同的生命周期體現在指標上,其數據分布特點(均值,方差,周期頻率,周期振幅,周期延遲等)可能有較大差異;當物理系統在擴容,版本更換,配置調整等改變時,其數據分布特征可能也會發生較大差異;通訊系統所服務的用戶,其人群的移動,周邊的環境變化等,也同樣會引起數據分布變化。算法是否具有對短期異常波動和長期模式變化的在線快速判定能力,有很大的挑戰。

f) 從指標特定的多樣性上看,有的指標正常狀態平直(穩定在一個常數,方差為0),有的指標雖有波動但很穩定(滑窗內均值變化極小,方差較小(相對於異常發生時的取值范圍)),有的有明顯的一個到多個周期(可能是簡單的加性關系或者乘性關系,也可能是較為復雜的其他合成關系);有的指標則很難通過可視化或者簡單的基於統計或者分解的方法過濾出潛在異常點。

g) 從原始數據通過某種計算,過濾出能用於門限判定的潛在異常點,有的指標有可分解的趨勢、周期和殘差;有的則完全掩蓋在幅度更大的“噪音”中難以分析。

2.2)從任務上看

a)從最終的異常確認上看:有的異常時基於點來判定,有的異常基於一個序列片段才能判定;有的序列出現方波可能就是異常(正常狀態不可能出現陡升陡降),有的則相反;有的異常必須要基於同比環比做相對比較才能判定,而有的異常基於當前絕對值就可以判斷。

b) 從異常告警發出(確認發出)的時機看,有的異常在第一個疑似異常點發生后就必須報告,而有的異常在必須要在等待若干個周期后才適合上報(比如具有自愈或者可容忍的閃斷),否則誤報太多。

c)僅從一個指標檢測任務上看,任務的定義可能發生變化,包含但不限於:不同用戶對同類網絡相同指標的門限不同,同一用戶對同一網絡同一指標,不同的運維人員或者不同的時間點對異常的定義可能變化(比如門限的高低,越界的方向);對多種形式的潛在異常(方向,絕對值越限,均值變化,方差變化,波形變化,等)哪些算異常,這個判定標准可能發生變化。

2.3)從算法上看

a)有成百上千種主要的算法及其變體,(非嚴格的分類)包含但不限於:基於統計和規則的,基於度量比較的,基於成分分解的,基於機器學習的,基於機器學習-神經網絡的,基於神經分解的,甚至基於類腦的各種算法(HTM,SNN…)。每種方法有算法復雜性、假設多少的差別,最終都有其適用性限制,很難(實際上沒有)一種算法能夠在可檢測性、各檢測質量指標,在各種場合都表現的很好,而且沒有辦法通過集成就一定穩定提高檢測性能。

b)從主流方法上看,基於統計的方法,基於分解定界的方法,基於機器學習(無論是discriminative還是generative)中直接分類還是先預測后判定,等等各種方法,從邏輯上最終都隱式或者顯式的存在一個門限,這個門限的確定,即使在一個網絡中,也沒有辦法一個值就適合所有。

c)如果要每個KPI做特定優化,工程浩大;如果要盡力一套或者有限套算法覆蓋盡可能多的KPI,如何確定這些算法,如何對不同KPI做選擇,存在挑戰。

d)從數據輸入,到檢測結果輸出,可以分為多步完成,以期可控的提升效果;也可以實現為端到端的算法,以方便實現無監督和有監督學習的切換。如果是非端到端的算法,當從無監督算法,試圖利用用戶的有限反饋,提升檢測效果的時候,會存在挑戰,首先要確定哪個KPI在什么時候,通過什么環節的什么算法計算的,這些環節如何利用監督信息,利用監督信息后對原來的計算流程還兼容與否;如何從無監督平滑過渡到有監督,也存在技術挑戰。

e)在用戶提供標注的情況下,標注本身存在挑戰:1)標注不多,2)標注不准,3)標注不全(比如多種異常只標注部分類型),4)標注不新(分布變化,樣本老化)。且在運營商環境,很難大規模交叉驗證,更不可能算法研究人員的人工介入交互分析。

f) 當分布變化,需要在線學習(純在線學習算法,或者簡單的重訓練),訓練的資源限制(不能因為訓練拖慢甚至中斷檢測),訓練的早停和步長等關鍵的超參數的確定,當數據可見范圍很小的時候如何保持中長期的規律,都非常困難。

g) 當分布變化,模型檢測質量劣化,如何:在線無監督的檢測模型劣化(比如基於置信度校准等技術),發起重訓練,或者降級為基於規則的方法,也是比較難以確定的問題。

h) 由於通訊領域的業務的重要性,所有結果如何“盡力”保證質量底線,甚至具有良好的可解釋性,挑戰更大。

到此為止,筆者在簡單的描述問題后,嘗試從多個角度,來分析通訊領域里的時序數據的預測和異常檢測(重點是后者)。作為系列文章,后續將繼續分享,業界的主要算法及其改進,特別是針對通訊領域的這些挑戰,設計新的偏神經網絡的算法,來實現:強普適性、高精度、支持分布變化的在線學習、避免或降低標注的無(自)監督算法,以及算法集成。

 

點我,參與華為雲微話題討論


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM