李 維
(中國移動通信集團廣東有限公司,廣州 510000)
離群值是需要檢測的重要指標之一,因此,基于統(tǒng)計和預測的異常監(jiān)測是我們考慮的監(jiān)測方法,例如ARIMA 模型、Ma 算法等。
尤其是Ma 算法,不僅是方法容易實現(xiàn),用時短,部署成本低,而且,在整個生產中進行異常監(jiān)測其實時性能特別高。因此,我們選擇Ma 算法作為異常監(jiān)測算法。
選擇時間序列異常監(jiān)測算法之一的移動平均算法。以計算滑動窗口中數(shù)據(jù)的平均值(某一時間序列的長度),確定序列的移動趨勢,將時間序列123、nyyy 和滑動窗口設置為wu003dn,并計算順序,即可得到移動平均值:

式中,Vt代表T 周期的移動平均值,圖1代表的是指標的時間序列。由圖片中的數(shù)據(jù)可以看出,指標數(shù)據(jù)的變化具有周期性的規(guī)律波動,峰谷值具有明顯差異。為使細節(jié)看得更清晰,對原始時間值進行對數(shù)處理。由此得到,移動平均算法對指數(shù)的周期性規(guī)則的適應性還是很強的,原始數(shù)據(jù)的上升變化也可以從移動平均曲線中得以體現(xiàn)。

圖1 移動平均值曲線
通常,隨著時間的變化,指標也隨之變動,同時呈現(xiàn)一定規(guī)律性。如果有異常時間點,那么對應的指標波動一定不規(guī)則。因此,實際值得離散度可以通過計算實際值殘差的標準來確定,同時也可以確定實際值是否異常。首先,時間序列yn1是根據(jù)一段時間內的正常數(shù)據(jù)生成的,滑動窗口大小n,滑動窗口遍歷時間序列,計算移動平均值和序列殘差的標準差NV,將集合m 乘以正常波動范圍delta 指數(shù)的標準差,然后判斷VNYN 值屬于三角洲?如果是,那么yn 是正常點,否則就是異常點。最后,新數(shù)據(jù)的引入和最早時刻的消除被認為是正確的,如果yn 是正常點,那么VN 值將被加到y(tǒng)n 時間序列中的數(shù)據(jù)中。如果yn 是一個異常點,則下次檢測yn+1時,將移動平均NV 值作為數(shù)據(jù)yn 添加到序列中,移動平均值將替換異常值。它可以減少異常值對后續(xù)時間序列平均值的影響,提高異常檢測的精度。
省級EPG 交互式數(shù)據(jù)采集和分析系統(tǒng)基于省內全網用戶的體驗數(shù)據(jù)。它分析并存儲UV/PV,響應/操作緩慢的用戶數(shù)量,STB 的加載時間,EPG 服務器的頁面加載時間和加載時間,指示燈,操作響應緩慢的用戶數(shù)量(指示燈1)和加載時間機頂盒(指示燈2)以驗證解決方案有很多復雜的因素會影響用戶體驗。
除了每個節(jié)點的故障之外,頁面的不定期更改、機頂盒升級等因素也會影響用戶體驗。所以,實際異常監(jiān)測過程中出現(xiàn)的各類問題,要結合實際業(yè)務特點進行持續(xù)的改進與優(yōu)化異常監(jiān)測方案。指標1與指標2的實際數(shù)據(jù),即連續(xù)30天不間斷的24小時監(jiān)測,兩項指標的數(shù)據(jù)周期都是24小時,差異點較為明顯,指標2呈現(xiàn)上升趨勢。
運維人員認為,EPG 服務器故障造成了低速用戶紫外線輻射量大量增加,而機頂盒升級引發(fā)了加載時間的增加。在移動平均曲線中,X 數(shù)值表示檢測到的異常值。從最后得到的結論來看,基于移動平均算法的異常監(jiān)測方案是準確的。在機頂盒升級后,指標2的時間序列規(guī)則呈現(xiàn)波動,這被認為是異常指標。盡管異常監(jiān)測的最基本要求可以通過移動平均算法的異常檢測方案來實現(xiàn),但是,在日常的業(yè)務環(huán)境中,仍然存在著很多不確定的情況,比如機頂盒升級后,監(jiān)測結果中還有很多報錯信息。所以,我們還要進一步根據(jù)實際的業(yè)務需求,不斷改進和優(yōu)化監(jiān)測方案。
為了消除指標的周期性差異,把每個指標分為24/小時的子序列,同時繪制曲線,檢測其是否異常,把異常檢測結果的真實異常值的檢測效果劃分為原始檢測結果。其效果相似,但成功地消除了后期峰值和趨勢移動平均值的假陽性異常值與實際值接近。
在機頂盒升級后,指標2出現(xiàn)了較大的波動,更高水平的數(shù)值被判斷為異常。由此判斷,簡單的用移動平均值代替異常值,作為由正常業(yè)務的改進與優(yōu)化而帶來的趨勢變化的數(shù)據(jù)指標引入時間序列,這是不夠準確的。
為了處理頁面修改、機頂盒升級后所帶來的的問題,采用人工干預措施,實行半監(jiān)督異常檢測。如果發(fā)現(xiàn)是由正常業(yè)務引發(fā)的指標數(shù)據(jù)異常,就人工記錄實際值,不可以用移動平均值替代實際值增加新序列。機頂盒升級后,滑動窗口可以完全覆蓋正常趨勢,恢復原來的異常檢測方法。人工干預后,一段時間后顯示移動平均值,沒有監(jiān)測到異常數(shù)據(jù)值。由此可見,采用人工干預的半監(jiān)督異常監(jiān)測方法可以更新序列趨勢變化,解決由正常突變而引發(fā)的長期異常誤判問題。
在IPTV 用戶體驗異常檢測中,選擇基于移動平均算法的異常檢測方案應用其中。結合實際生產中遇到的各項問題,如機頂盒升級后存在數(shù)據(jù)誤報,參數(shù)趨勢呈現(xiàn)大波動等,對應將單個指標進行序列劃分和實際值保留。實時監(jiān)控與自動化異常監(jiān)測得到了改進。通過一系列的參數(shù)調整,找到解決方案,異常指標被多次及時發(fā)現(xiàn),為運維人員提高了工作效率。
但是,文中闡述的異常監(jiān)測解決方案還不夠成熟,屬于初期研發(fā)階段,仍在有很多考慮不周的地方。下一步,我們會結合更多的預測模型,嘗試多種方法,減少人工干預,提高整體異常檢測的準確性。