曾偉 中國聯通江西分公司 南昌市 330000
目前傳統的用戶行為審計是依托于各個網絡設備及其附屬的網管設備進行,各設備單獨運行,缺陷主要表現在審計策略修改難度大,用戶行為越來越復雜,無法做到同步滿足業務需求。各個廠家間審計策略無法聯動。審計時效性不足,只能實現被動的事后審計。本文提出了使用機器學習技術對用戶行為數據審計的方法,使用機器學習中的異常檢測算法判定異常用戶。
機器學習是一類算法的總稱,這些算法從大量歷史數據中挖掘出其中隱含的規律,并用于預測或者分類。異常檢測又被稱為是“離群點檢測”,核心是利用各種統計的、距離的、密度的量化指標去描述數據樣本跟其他樣本的疏離程度。審計系統從用戶消費數據、用戶繳費數據、用戶通信話單數據、用戶漫游話單數據、賬戶間融合關系數據等角度形成一個用戶的綜合數據標簽,利用各種異常檢測算法標注異常,在此基礎上利用大數據技術實現自動化。根據數據處理流程,審計系統包括以下模塊:
數據采集和清洗:數據是分析的基礎,從網絡設備、計費系統、財務系統采集數據,經數據格式轉換后統一錄入數據庫。
異常檢測:使用機器學期中的異常檢測(anomaly detection)算法對用戶行為標記。成熟的用戶行為異常檢測算法較多,有 iForest、LOF等,但由于各種算法原理不同針對不同類型的數據有效性也不同,本文提出將各種算法計算出來的結果經變化后加權使用,綜合各算法的優勢。
異常輸出:通過異常檢測算法,將用戶每個異常通信行為、消費行為標記為一個風險標簽,形成用戶行為畫像,可以做到可視化展示。

圖1 用戶行為審計系統框架圖
數據進入異常檢測模塊后,分別經由4個異常檢測函數處理,輸出各自的檢測判斷結果(P1,P2,P3,P4),將結果變換加工后得到最終的用戶異常結果S,范圍[0,1],越接近0用戶行為越不可能發生,代表用戶行為異常。
Isolation Forest是一種適用于連續數據(Continuous numerical data)的無監督異常檢測方法。應用中l=ceiling(log2(ψ)),戶行為公式為,結果接近1就被模型判定為異常,結果接近0判定為正常,結果接近0.5表示選擇的樹深度不足以判定,需要增加最大深度l。根據2020年1月的用戶流量數據分析,取樣本ψ=4096和ψ=128的結果如下:

圖2 ψ=4096(左)和ψ=128(右)異常檢測結果
綜合考慮計算能力和區分度,ψ值為128可以滿足區分異常用戶的要求。
通過比較每個用戶行為點和其鄰域點的密度來判斷該用戶是否為異常點,如果密度越低,越可能被認定是異常點。每個用戶行為點的密度表達公式為
這個比值越大于1,說明用戶行為點的密度小于其鄰域點密度可能是異常點。
通過LOF可以很明顯的找出流量異常高或者流量比例異常高的用戶。
用戶的總流量是典型的高斯分布,當用戶流量異常大或者上行流量與下行流量比值異常高時標記為異常。參數配置的重點是利用現網用戶數據作為樣例,計算出μ(平均值)和σ(標準差),使得分布函數將用戶流量數據盡量覆蓋。將2020年1-6月用戶流量數據(Xup,Xdown)作為訓練樣例可以得到,μup=53.67,σup=36.10,μdown=287.66,σdown=125.91。將某用戶的月度上下行流量帶入公式:
用戶裝機行為相對獨立,月度每個渠道的入網用戶數和裝機用戶數大致可以認為服從泊松分布:公式根據2020年1-6月用戶入網和裝機數據推算,月度渠道的入網用戶數與裝機用戶數大致相等,λ約為30.13,概率越小代表用戶行為越異常。
綜合前面的幾個異常檢測模型的輸出結果,統一將結果設置為[0,1]之間,其中0表示異常,1表示正常。P1-P4分別表示iForest、LOF、高斯分布和泊松分布的輸出結果,總得分:S =
S表示兩種異常檢測模型和兩種經典模型輸出結果的綜合評分,分值越接近0,表示這個用戶行為越不可能發生,也就代表用戶行為越異常。
系統直接調用了Python相應函數計算每個用戶的S值,其中iForest調用sklearn庫中的IsolationForest函數:LOF調用sklearn庫中的LocalOutlierFactor函數。
2020年某月,系統對發現東北某省有一批寬帶用戶預警標識為異常,S值普遍小于0.1,用戶集中入網,上下行流量比例與大部分用戶不同。進一步分析這批用戶存在撥號時間、入網時間、繳費時間集中的現象。聯系當地分公司現場核實,發現這是一起通過系統漏洞,利用公眾寬帶匯聚后用于CDN業務,違反了工信部《關于清理規范互聯網網絡接入服務市場的通知》的規定,當地分公司立即關停業務,為企業挽回損失,降低運營風險。

圖4 違規用戶違規匯聚現場
本文設計了一種利用機器學習、異常檢測的方法,通過對不同設備采集的用戶通信行為和消費行為數據進行特征分析,有效的識別出異常行為用戶,為企業挽回經濟損失。
目前系統中對用戶行為的特征建模較為簡單,系統存在一定的誤判可能性。隨著用戶行為數據的積累和模型參數的優化,將著手進行用戶多維度行為分析,引入各特征之間的結合方法,進行更深入的研究。