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

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

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