天天看點

如何發現異常商業資料?達摩院用這套算法1、異常檢測的業務2、機器資料的異常檢測3、商業資料的異常檢測4、總結

如何發現異常商業資料?達摩院用這套算法1、異常檢測的業務2、機器資料的異常檢測3、商業資料的異常檢測4、總結

​小叽導讀:本文将集中分享阿裡巴巴達摩院機器智能技術時序智能組與阿裡資料團隊合作成果——異常資料檢測技術的演進和商業資料端的應用展示。文中提到的技術由阿裡巴巴達摩院決策智能團隊開發,本文由達摩院算法專家宋曉旻撰寫。

阿裡服務成千上萬的商家和企業,日常的資料異常檢測非常重要,一旦發生資料異常影響不可估量。

本篇文章介紹了阿裡巴巴達摩院機器智能技術時序智能組與阿裡資料團隊合作成果——異常資料檢測技術的演進和商業資料端的應用展示。

1、異常檢測的業務

所謂異常檢測就是監測并發現資料中不符合正常行為的異常模式。它已廣泛用于交易監測、故障診斷、疾病檢測、入侵檢測、身份辨識等領域。例如商家退貨比例飙升可能是競争對手惡意刷單,網絡流量的異常可能意味着受攻擊主機上敏感資訊的洩密,信用卡的異常消費等欺詐行為會導緻巨大的經濟損失。

異常檢測在各個方面都對阿裡的業務有巨大的幫助:

對于商業資料,它能更快的發現/溯源問題,幫助商業決策,賦能商業效益;

對于機器資料:在運維層面可以更快的發現、定位、排查問題。減少人力,提高服務品質;

對于保障資料安全:它能監控敏感資料,及時發現安全隐患。

以上提到資料主要都是随時間變化的,我們也集中力量開發時序資料分析的算法。

2、機器資料的異常檢測

常見的時序異常檢測模型包括統計模型、時序預測、無監督、有監督、關系型模型等。

在“異常資料檢測技術"研究之前,達摩院時序智能組已經在高噪音“機器”資料的時序異常檢測上積累了半年的經驗,産品經過數月的疊代,算法架構和主要的部件如周期分解等都得到了打磨。其中的報警效果得到了業務方Tesla,kmon等的認可。

如何發現異常商業資料?達摩院用這套算法1、異常檢測的業務2、機器資料的異常檢測3、商業資料的異常檢測4、總結

圖 1. 典型機器資料的異常檢測

一個典型的機器資料如上圖1所示。它的噪音(起伏)較大。使用者關心的往往是持續一段時間的整體變化,如圖中橙色标記的點,而對于之前單個的起伏不定的單個異常不感興趣。達摩院時序智能團隊使用了Robust estimate的方法,使得算法能夠區分使用者感興趣的異常和一般的噪音。

3、商業資料的異常檢測

商業資料與機器資料異常檢測的不同及挑戰

在“異常資料檢測技術"研究中,時序智能的算法遇到了新的挑戰。商業資料并不能簡單的複用機器資料上的算法。

首先,商業資料來源多樣化,異常的定義也多樣化,不可能同一組參數/算法來涵蓋所有的需求。

阿裡資料所研究的商業資料中常見的資料類型,包括“daily平穩”,“實時累積”,“稀疏(sparse)”,“機器資料”,“周期資料”,“非周期資料”(其它)等。

如何發現異常商業資料?達摩院用這套算法1、異常檢測的業務2、機器資料的異常檢測3、商業資料的異常檢測4、總結

圖 2. “Daily平穩”資料-例如GMV每日成交額

如何發現異常商業資料?達摩院用這套算法1、異常檢測的業務2、機器資料的異常檢測3、商業資料的異常檢測4、總結

圖 3. “實時累積”資料 - 例如pv,uv等每天清零并累積的數

如何發現異常商業資料?達摩院用這套算法1、異常檢測的業務2、機器資料的異常檢測3、商業資料的異常檢測4、總結

圖 4. “稀疏"(sparse)資料 - 例如app的通路量等

如何發現異常商業資料?達摩院用這套算法1、異常檢測的業務2、機器資料的異常檢測3、商業資料的異常檢測4、總結

圖 5. “機器資料” - 例如CPU負載,網絡流量等基礎設施的資料,一般抖動/噪音較大

如何發現異常商業資料?達摩院用這套算法1、異常檢測的業務2、機器資料的異常檢測3、商業資料的異常檢測4、總結

圖 6. “周期”資料-例如某些有周期性的交易或交通資料等

其次的挑戰是:商業資料相對機器資料,雖然噪音較小,但是異常出現的更加頻繁,敏感度要求非常準确。對漏報和誤報的要求都很高。

最後一個挑戰是,有的商業資料在一段時間内随時間單調上升(或下降),之前的算法會在持續上升(或下降)後報警。但是阿裡資料的daily平穩資料要求不報警,并且要置信區間自動跟随資料的趨勢上升(下降)。

我們将以上需求,歸納為技術上的挑戰:

如何讓資料自動分類與參數推薦;

如何保持讓算法保持穩定的敏感度,不受異常的幹擾;

如何讓置信區間自動跟随資料的趨勢;

這三個技術難題成了異常檢測上線的攔路虎。

商業資料異常檢測場景的成果

經過多次交流回報,優化了之前的算法,并且解決了上一節中列出的三個攔路虎,讓新的異常檢測算法為新零售業務資料賦能。

我們在優化模型之前,它沒有分解的能力,處理周期的能力很弱,且不能區分長期的整體變化和短期的突變。

原始資料直接用來預測會被異常所幹擾,無法穩定的判斷異常,并且置信區間的計算量非常大。

總之,優化前的算法的穩定性和可解釋性比較差,對周期性和大促等異常的反應很不穩定,無法滿足業務的需求。而研究後的新算法基于分解和統計模型,它的穩定性和可解釋性很強,且對周期性的處理很完備,對各類異常的幹擾很穩健。

下面列出4個在平台上收集的真實案例。它們都是在時序資料上做異常檢測。藍線是真實資料,算法計算出置信區間的上下界。黃線是上界,黑線是下界。如果真實資料在上下界之間是正常,超出了就是異常。

Daily平穩資料

亮點:自動識别為daily平穩資料,新算法檢測

如何發現異常商業資料?達摩院用這套算法1、異常檢測的業務2、機器資料的異常檢測3、商業資料的異常檢測4、總結

圖 7.異常檢測:優化前的daily平穩資料異常檢測

如何發現異常商業資料?達摩院用這套算法1、異常檢測的業務2、機器資料的異常檢測3、商業資料的異常檢測4、總結

圖 8.異常檢測:優化後的daily平穩資料

圖7和圖8對比了優化前後算法對于daily平穩的效果。在3月2~3日,交易量有了大幅的上升(圖8中的紅框),陡增了20%,這是一個異常。優化前的算法上下界不是很合理,上界随着資料向上移動,下界過于寬松。沒有檢測出這個異常。圖8中,新算法根據資料近期的波動振幅自動調整安全區間的上下界,寬度合理,正确的識别出3月2号的這個異常。并且,之後幾天的上下界一直比較平穩,沒有受到這個異常的擾動。

實時累積資料

亮點:優化後算法區間靈敏度高,保障不漏報

如何發現異常商業資料?達摩院用這套算法1、異常檢測的業務2、機器資料的異常檢測3、商業資料的異常檢測4、總結

圖 9.異常檢測:優化前的累積資料

如何發現異常商業資料?達摩院用這套算法1、異常檢測的業務2、機器資料的異常檢測3、商業資料的異常檢測4、總結

圖 10.異常檢測:優化後的累積資料

圖9中的上下界過寬,會漏掉很多異常。而圖10中的上下界離真實資料非常近,保障不漏報。

機器資料

亮點:優化前算法完全不可用,優化後能自動識别高噪音資料,合理設定資料上限安全區間

如何發現異常商業資料?達摩院用這套算法1、異常檢測的業務2、機器資料的異常檢測3、商業資料的異常檢測4、總結

圖 11.異常檢測:優化前的非周期資料

如何發現異常商業資料?達摩院用這套算法1、異常檢測的業務2、機器資料的異常檢測3、商業資料的異常檢測4、總結

圖 12.異常檢測:優化後的非周期資料

對于機器資料,圖11的上下界随着高噪音資料上下跳動,不可靠。圖12中的上下界非常穩定,且不受大促(3/4)的高點影響。

稀疏資料

亮點:優化後能自動識别為稀疏、并識别資料周期,優化前算法完全不可用

如何發現異常商業資料?達摩院用這套算法1、異常檢測的業務2、機器資料的異常檢測3、商業資料的異常檢測4、總結

圖 13.異常檢測:優化前的稀疏資料

如何發現異常商業資料?達摩院用這套算法1、異常檢測的業務2、機器資料的異常檢測3、商業資料的異常檢測4、總結

圖 14.異常檢測:優化後的稀疏資料

圖13中優化前的算法無法對稀疏資料的進行檢測。圖14的優化過的算法,可以提取稀疏資料中的高點,進行判斷,減少了大量的誤報。

商業資料異常檢測的技術

資料的自動分類與參數推薦

由于涉及到接入資料類型的錯綜複雜,既有商業資料,也有機器資料;商業資料中也有很多種類。使用者需求以及對異常的定義也不盡相同。在大規模部署的時候,不可能每一條都去人工識别和配置。

我們對資料和業務進行總結,歸納業務方的需求。總結出以下解決方案:

(1)将資料類型歸納為上節介紹過的“daily平穩”,“實時累積”,“離散資料”,“機器資料”,“周期資料”或其它等并開發出分類器,在進行檢測前會自動識别資料類型。

(2)針對資料類型,自動适配不同的模型和參數。如圖15所示。

(3)分解流程:去除周期/趨勢等影響檢驗精度的分量

(4)魯棒的統計檢驗:穩定,準确的判斷異常。

如何發現異常商業資料?達摩院用這套算法1、異常檢測的業務2、機器資料的異常檢測3、商業資料的異常檢測4、總結

圖15.資料自動分類/參數推薦/分解/檢驗的流程

分類器根據資料的特征來工作。分類器會做以下操作:讀取采樣率,判斷資料每天歸零的特性,測量稀疏性,測量噪音大小,判斷周期性等等。然後綜合判斷資料該屬于那一類。在保證準确性的基礎上,我們優化了分類器的速度,檢測時間達到毫秒級。

保持算法保持穩定的敏感度

我們開發了基于M-estimator的方法過濾參考區間的異常,并加入了時間衰減(decay)的系數來調整權重。這保證了算法具有穩定的敏感度,不受異常的幹擾。我們稱之為Robust Ttest。

如何發現異常商業資料?達摩院用這套算法1、異常檢測的業務2、機器資料的異常檢測3、商業資料的異常檢測4、總結

圖16. 置信區間受異常影響的效果比較。從上往下:(1)沒有加Robust Ttest的檢測效果。(2)加入Robust Ttest,沒有decay(3)加入Robust Ttest,decay=0.8 (4)加入Robust Ttest,decay=0.6

由于缺乏打标的資料作為參照,我們選擇了基于統計的無監督異常檢測算法,并做了假設:例如資料分布接近高斯分布,異常資料出現的頻度相對于正常資料較為稀少等。當實際資料違背假設時,就需要對算法做修正。比如,當異常出現并滑動進入左視窗, 即作為參考的資料視窗,就把參考視窗中本來近似與高斯分布打破了。此時需要識别并去除異常的幹擾。

對圖16的詳細解釋如下。從上往下:(1)沒有加入Robust Ttest和decay,可以看到異常右側的置信區間被異常所幹擾,上下寬度變的很大并導緻漏報。(2)加入了Robust Ttest,沒有decay,可以看到異常右側的置信區間沒有被異常所幹擾。但是,在右側有趨勢下降時,置信區間不能很快的跟随。(3)加入了Robust Ttest,并設定decay=0.8,在右側有趨勢下降時,置信區間可以有跟随。(3)加入了Robust Ttest,并設定decay=0.6,在右側有趨勢下降時,置信區間可以很快的跟随。

置信區間能夠跟随資料的趨勢

為了使置信區間能夠跟随資料的趨勢,檢測違反趨勢的異常點。我們采用了基于HP filter的detrend技術,解決了這個難題。

使用了Robust Ttest和decay之後,有些資料(如圖3)具有長期的趨勢,置信區間依然不能及時的跟随。我們使用了基于HP filter的除趨勢(trend)處理。使得置信區間能夠随着長趨勢上升或者下降,隻檢測單點的突起。

如何發現異常商業資料?達摩院用這套算法1、異常檢測的業務2、機器資料的異常檢測3、商業資料的異常檢測4、總結
如何發現異常商業資料?達摩院用這套算法1、異常檢測的業務2、機器資料的異常檢測3、商業資料的異常檢測4、總結

圖17.過年期間daily平穩資料的異常檢測,原資料為深藍實線,上界為灰虛線,下界為淡藍虛線,原資料超過上下界為異常(1)上圖未經過去除趨勢的處理, 上下界很不穩定 (2)下圖經過了去除趨勢的處理,上下界穩定。

4、總結

商業資料的異常出現的更加頻繁,資料漏報和誤報的要求都很高,資料類型也更加多樣化。這些挑戰,被我們在研究中一一闡明,并一一解決。

本文部分内容除引自内部文獻外,部分内容引自:

Q. Wen, J. Gao, X. Song, L. Sun, H. Xu, and S. Zhu, "RobustSTL: A Robust Seasonal-Trend Decomposition Algorithm for Long Time Series," in Proc. Thirty-Third AAAI Conference on Artificial Intelligence (AAAI 2019), Honolulu, Hawaii, Jan, 2019.

Link

Qingsong Wen, Jingkun Gao, Xiaomin Song, Liang Sun, Jian Tan. RobustTrend: A Huber Loss with a Combined First and Second Order Difference Regularization for Time Series Trend Filtering. Proceedings of the 28th International Joint Conference on Artificial Intelligence (IJCAI-19).

.

繼續閱讀