【云駐共創】火遍網絡的KPI異常檢測到底什么梗?
目錄

1. 網絡KPI介紹
1.1 什么是KPI?
1.2 什么是網絡KPI?
2. 異常檢測步驟
2.1 舉例說明
2.2 異常表現形式
2.2.1 常見異常
2.2.2更復雜的異常表現形式
2.3 異常定義
2.3.1 離群點與異常
2.3.2 不同領域的異常
2.4 異常檢測的主要方法
2.4.1 基于距離的方法
2.4.2基于分布的方法
2.5 時間序列異常檢測的難點
2.5 異常檢測常見方法
2.5.1 Z-score方法
2.5.2滑動平均法(Moving Average,MA)
2.5.3 指數加權滑動平均法(Exponential Weighted Moving Average,EWMA)
2.6 同比與環比
2.6.1 Boxplot方法
2.7 算法總結
2.7.1 KPI異常檢測實例
總結異常檢測
3. 異常檢測演示
3.1 創建模型
3.2 項目演示
3.2.1 平均異常檢測
3.2.2 局部突增異常
4. 答疑Q&A
5. 總結
1. 網絡KPI介紹
KPI可以看作是一種時間序列,時間序列包含時間戳以及時間戳上對應的取值。(例如股票走勢,氣溫變化,心電圖等等都可以被看做時間序列)
網絡設備在運行的過程中會持續的產生大量的數據,例如告警,KPI,日志,MML等等。KPI是能夠反映網絡性能與設備運行狀態的一類指標。比較常見的KPI指標有:
網絡設備KPI也可以看做是時間序列。
KPI的規模龐大,一個網元的原始KPI 5000+,衍生KPI約00+
KPI的表現形式也各不相同,例如
2. 異常檢測步驟
網絡KPI異常檢測是工程師的‘眼睛’,幫助工程師看到問題要識得廬山真面目,必須采用有效的KPI異常檢測方法
比如說我們要預測2019年11月29日1:00的數據。我們要它進行異常檢測,那么我們可以取11月29號0:00到0:55分的歷史數據。進行構造模型。記作F,此模型即可以給出11月29日1:00預測的下載成功率是92.7,得到數據之后與1:00的真實結果71.12進行對比。用殘差的方式進行相見,可以得到相減值為21.58,假如說我們定義的異常門限為10。則可以發現殘差已經大于門限,此時即可以上報異常。
遇到的難點有:
時間序列相對復雜
函數F()構造復雜
這就需要我們有有效的KPI異常檢測方法
成功率指標在某一時刻突降
錯誤碼指標在某一時刻突增
可以看到在圖片中出現了明顯的突增(錯誤碼)和突降(成功率)
下圖案例來自于某一設備溫度時間序列,根據經驗來看,此設備溫度應該維持在10度-20度之間,可以看到在此時圖片左側有非常明顯的突增。
當溫度突增到80度,而右側的突增則不是特別明顯,但是右側對于設備的影響非常嚴重(不允許超過20度),這就是對設備門限的控制適當
模式變換
此圖為心電圖,人的心跳反應在心電圖上就是相當于周期波動,可以看到在中間有一段紅色相對平坦的信號,可以看出它與正常信號的差異非常明顯,由于他沒有波動,可以認為此人此時心跳可能驟停
離群點:離群點Outlier是一個更廣泛的概念,通常指與樣本總體差別較大的點
異常的定義:異常是樣本空間中的一種樣本,它們與樣本空間中其他樣本是如此的不同,以致人們不得不懷疑它們是通過另外一種機制產生的。-Hawkins,1980
如下圖所示,正常的預測點位于綠色部分,異常的預測點位于紅色圓圈
再如下圖所示,假設此人身高2.26米,可以認為是一個離群點,如果身高3米,可以認為是一個異常
因為人類不可能身高3米,但極其特殊人的身高可以為2.26米
離群點與異常的不同:
離群點雖然與樣本總體差別較大,但仍在可接受的范圍內,只是出現的概率較小一些
異常則完全由不同的機制產生
實踐當中通常不加以嚴格區分
異常的定義中沒有說明數據類型,因此適用廣泛,包括表格數據、圖像、文本、時間序列,異常的定義都是一致的
例如下圖可以看到右側黑色車輛有一個軋白線的的違章動作,對于交警處理違章問題幫助很大
此圖為NLP自然語言處理,正常評論為與內容相關的評論,而惡意評論則是一些與內容不相干的評論
總結:異常的兩個特點:==明顯區別==,==極少出現==
1.1根據樣本集X計算當前樣本x的預測值x~0~
1.2計算樣本真實值x與x~0~的距離d=|x-x~0~|
1.3若距離大于閾值t,則判斷為異常
2.1根據樣本集X計算當前樣本x的分布f(x)
2.2根據分布f和樣本真實值x做假設檢驗,計算p值
2.3若p值低于顯著性水平a(0.05),則認為檢測到異常
時間序列檢測的難點最主要的就是門限的設置,因為不同人對異常的感受是不一樣的,有的人可能感受很敏感,有的人覺得無所謂,他們心目中的門限可能有高有低,這是一個很難去統一的標準。
異常是與眾不同的,但是這個"眾"我們應該怎樣去定義,下面通過一個例子來解釋
下面這個圖為時間序列,可能很難發現他有與眾不同的點
但是將時間序列拉長后如下圖所示
可以看出紅色部分本身即為異常
一組正態分布樣本中,偏離均值3倍標準差之外的區間的概率密度很低,若樣本落在這個區間,則很可能是異常
Zscore是衡量正態分布樣本的偏離程度的指標
將時間序列每個時間戳的點視為一個樣本用z-score計算每個時間點的偏離程度,若大于閾值(3)則判斷為異常
注明:只能檢測明顯的值異常,不能檢測序列異常
我們可以看到下圖中間的綠色線為均值,上下面的綠線為標準差,且有3個值Outlier位于綠線外面
Z-score方法弊端:沒有用到任何時間序列的信息,也就是說這個時間序列是否有序,檢測出的異常不會發生變化這顯然是不符合我們需求的,因為很多異常可能是一些局部的特征,所以此方法不能用于檢測序列的異常
MA的方法利用到了序列的特征,滑動平均法基于最近時刻的值估計當前時刻的取值
例如在下面的時間序列,我們要預測1:00的下載成功率,那就把0:00到0:55的下載成功率取平均值,即可以得到1:00滑動平均的結果為3
此圖展示了美國佛羅里達州的新冠人數,藍色線為真實值,紅色線基于7天平均值的預測值
由于序列的距離-相似性,越近的點相似度越高,因此在做滑動平均時采取等權重是不合適的,直觀上來說應當給較近的點較高的權重
第i時刻的加權求和滿足:
S~i~為當前時刻的真實值,α為衰減因子,值越大則最近數據的權重越高,歷史數據的權重越低
采用EWMA,設a=0.5,則預測下一時刻2019/10/22 1:00的取值為93.166
環比:當前時刻與前一時刻之比
例如國家統計局計算GDP以月為單位,比如算2020年2月份的GDP有沒有達到預期,就需要和上個月進行對比,這就叫做環比,環比是當前時刻與前一時刻之比。
如果是2020年2月份和2019年12月份對比,這就叫做同比,同比是當前時刻與上一周期同一時刻之比。
下圖為典型的時間序列
使用同比可以較容易的預測出下一個高峰的出現時間,而環比則很難預測
環比和同比在時間序列檢測中的應用為Boxplot方法
Boxplot雙線圖是數據科學家在分析數據分布的情況下經常用的一種方法
下圖為100名學生的考試成績,中位數為第50名的學生成績,上四分數為第25名孩子的成績,下四分數為第75名孩子的成績
IQR為
超過上限和下限的值均為異常值
下圖為用Boxplot檢測異常值實例(藍色線為預測值,綠線為真實值)
Boxplot(箱線圖)通過繪制數據分布分位數的方式檢測異常點分位數相比于3 sigma:無需假設正態分布,適用更廣
基于同比數據,更符合當前數據的分布
z-score:異常+檢測
MA,EWMA:序列+異常+檢測
Boxplot:時間+序列+異常+檢測
異常:==零維==,樣本之間是獨立同分布的,不存在任何順序關系序列
異常:==一維==,樣本僅與前后樣本有關,只在一個方向上演化
時間序列異常:==二維==,樣本不僅與前后樣本有關,也與上一周期內的樣本有關,在兩個方向演化
例如此飛鏢盤有很多塊組成,可以形成不同的分數,分數與所在的環有關,在同一個環,擊中的概率相同(同比),在不同的環環比情況下外側擊中概率較大,分值相對較小(環比)
KPI異常檢測幫助運營商提前5小時發現問題,保障四地市用戶體驗
及時發送信息
異常檢測的方法有很多,總結起來分為三類
0維:只看整體,不看輪廓
1維:只看輪廓,不看整體
2維:既看整體,又看輪廓
要做好時間序列異常檢測,必須同時做好‘時間’、‘序列’、‘異常三個層面的工作,三者相輔相成,缺一不可。
3. 異常檢測演示
NAIE官網:https://www.hwtelcloud.com/
NAIE模型訓練服務為開發者提供電信領域一站式開發服務,涵蓋數據預處理、特征提取、模型訓練、模型驗證、推理執行和重訓練全流程。該服務提供開發環境和模擬驗證環境,內嵌華為在電信領域30多年積累的的知識和經驗沉淀,內置50+電信領域資產,包括項目模板,算法、特征分析及處理SDK。幫助開發者降低開發門檻,提升開發效率,保障模型應用效果
進入官網,找到模型訓練服務
點擊免費試用,勾選協議,點擊立即使用
點擊進入服務
大家如果不熟悉的話可以選擇使用模板創建
創建完成后即可看到項目
點擊進入項目
通過調整標準差展示效果
下方紅框為異常點
我們可以看到EWMA在這段區間的擬合效果非常好,因為我們選取的窗口比較短,在這個窗口內,如果都為異常點,實際上我們是找不到異常的,我們要找的異常是與眾不同的。
假如說我們要在精神病院中找精神病人,這可能是一個相對容易的工作,但是如果我們在正常人中找一個精神病人,這可能就是比艱難的工作,在精神病院正常人卻成了與眾不同的。所以如果我們使用EWMA方法來做的話,因為他的局部區間的數據非常的小,因此他非常容易收到異常的污染或者無法去準確的衡量他眾在哪,也就無法找到他與眾不同的地方。
如果我們用Boxplot來做會是什么效果呢,我們這款以定義這個時間序列的周期為24,窗口寬度為5,填充為7,效果如下圖所示
上圖紅線和藍線分別為上下界,我們可以看到這個是序列如果我們用異常檢測的做的話,效果如下圖,右側雖然環比小區間有很多異常點,但是我們選取了很多正常的點作為他的與眾不同的"眾",這些"眾"已經足以形成對于異常的的優勢。
總結:算法的本身無所謂優劣,無所謂誰一定比誰好,這個主要是看數據的場景以及我們針對不同的數據采用不同的算法
4. 答疑Q&A
問題一:在實踐當中,怎樣選取合適的方法尋找合適的數據?
答:不同的數據需要采用不同的方法,但是對數據做分類也是較難的問題,我們之前嘗試過定義稀疏或離散類型,但這些對產生一定沖突,分類效果也并不是很準確。所以在實際應用中,我們更多的是從業務的角度出發來進行分類。例如周期性的數據或者平穩的數據來做分類
問題二:滑動窗口平移是用rolling函數嗎
答:其實只要能實現,用rolling函數實現是最方便的方式,如果能有自己的方式也是可以的
問題三:**清華大學裴珊老師的學圖的方法在實際業務中的效果怎樣?
答:目前正在進一步研究,在異常檢測領域,用到的比例并不是很大,大部分用到的使我們現有的方法。因為在實際應用中標簽獲取困難,且不同的人判斷存在不同,"眾"相對主觀。這些都會對結果產生影響。
問題四:在實踐中,這些方法是怎樣決定的?
答:異常檢測需要做一個集成的功能,對不同數據都可以進行檢測
問題五:半監督的方法在異常檢測中的前景?
答:半監督的范圍非常廣,常見的有在大量的數據中通過OnePlus進行同步,難度在于對異常標簽的處理融合問題。
在無標注的方法中可能存在一些標注的點,異常數據無法利用,存在沖突。關鍵點有三個:
不平衡:用無監督方法做一個基本的輸入,進行初刪
判斷錯誤:我們需要對出錯的異常進行處理
數據擴充:半監督檢測會出現標注疏忽
問題六:面對極度不均衡的二分類方法,有什么處理方法?
答:按照一定的采樣頻率,可以采用無監督或者數據擴充方法,先進行初篩在進行分類
問題七:時間序列異常檢測性能分析
答:在實際當中,要考慮到很多方面進行綜合考慮,時間序列異常檢測的進行精準模型的建立(可能出現錯誤),需要對異常對于模型的容忍度較高。可以采用用大量復雜度較低的模型來處理檢測異常,單純考慮精度可能并不是一個非常好的方法。
5. 總結
本文通過我們日常生活中熟悉的場景來介紹網絡KPI異常檢測,非常通俗易懂。KPI異常檢測的難點主要是要把我何為異常,異常是與眾不同的,也就是說當"異常"成了大多數,正常也就成為了異常檢測中的“異常”。這就需要我們在具體應用場景中去具體分析異常的正確模型評價指標。
華為云的iMaster NAIE平臺集成了異常檢測所需要的全部場景(當然也有其他功能),開發者只需要專注于實際的應用場景,將數據導入后便可以進行快速的異常定位,提高運行效率,降低開發難度。
本文整理自華為云社區【內容共創系列】活動。
查看活動詳情:https://bbs.huaweicloud.com/blogs/325315
相關任務詳情:火遍網絡的KPI異常檢測到底什么梗?
機器學習 網絡
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。