天天看點

入選 SIGMOD2021 的時間序列多周期檢測通用架構 RobustPeriod 如何支撐阿裡業務場景?

本文作者:張穎瑩,文青松,孫亮,何凱,柯旻,蔣君偉



近日,由阿裡雲計算平台和阿裡雲達摩院合作的時序多周期檢測相關論文RobustPeriod: Robust Time-Frequency Mining for Multiple Periodicity Detection被SIGMOD 2021 (Research Track)接收[1]。這也是阿裡巴巴首次以第一機關在SIGMOD 的Research Track發表的論文。

ACM SIGMOD國際資料管理會議(ACM SIGMOD International Conference on Management of Data)由美國計算機協會(ACM)資料管理專業委員會(SIGMOD)發起,是資料庫領域具有最高學術地位的國際性學術會議,其論文錄取難度極高,SIGMOD位列資料庫方向的三大頂級會議之首 (其次是VLDB及ICDE),被中國計算機學會(CCF)推薦為A類會議。本年度的SIGMOD會議将于2021年6月20日至2021年6月25日在中國西安召開。

本次工作是前沿算法與阿裡雲實際業務場景緊密結合落地的典型案例。論文提出的RobustPeriod是一套具有魯棒性的時間序列多周期檢測通用架構,它不僅在理論上具備創新性,同時基于它構築的時間序列異常檢測和預測服務支撐了阿裡雲大資料計算平台的多個業務場景。本文除了介紹RobustPeriod的核心技術亮點,還将重點解釋如何将它構築成服務來解決阿裡雲的業務痛點。

一、業務需求和難點

論文的靈感來源于阿裡雲大資料計算平台真實的業務場景需求。在大資料平台運維和營運的場景中,有很多需要監控的名額,例如機器的CPU、記憶體和存儲使用率,批處理作業的運作時間,流式作業的吞吐量等。這些名額都屬于時間序列,同時這些時間序列中可能存在一些重複出現的模式,即周期性。甚至在一條時間序列中可能存在多種周期性,例如某個作業的TPS曲線,可能既存在天周期,即每天的淩晨都是流量高峰;同時又存在周周期,即工作日相對流量較高,周末流量偏低。如果我們能夠自動且精準地識别出每個名額中存在的各個周期,那麼就能更高效地對這些名額進行異常監控,及時發現偏離周期性的異常點,甚至可以準确地對這些名額的未來每個時刻的走勢進行預測,進而提前進行資源規劃。是以,異常檢測和預測是周期檢測的兩個典型應用。此外,由于周期也是時間序列的典型特征之一,該周期的檢測和識别也能廣泛應用于時間序列之間關系的模組化。

入選 SIGMOD2021 的時間序列多周期檢測通用架構 RobustPeriod 如何支撐阿裡業務場景?

圖1. 大資料平台運維場景部分監控名額示例(注:圖中紅色部分表示資料缺失)

然而,對雲監控名額進行周期檢測并非易事。圖1展示了一部分名額的示例,我們發現這類名額具有如下特點:

(1)由于時序資料的複雜性,周期檢測受到時序資料中除周期成分外的其他的成分的幹擾,包括了趨勢的變化(如緩緩增長或下降的趨勢),噪音和異常點,甚至由于業務特性或采集問題可能出現大段的資料缺失。圖1最左上角還展示了類似『稀疏型』的周期性資料。

(2)天周期、周周期、年周期可能交織存在且存在一些特例,如很多資料集中都有長周末(正常周末2天+額外1天)的現象。

(3)由于涉及的業務場景繁多,不同曲線的業務背景、模式、粒度等都存在較大差異。難以人工設定一些先驗的周期資訊。

(4)雙十一、618等大促,小長假等特殊情況都會對周期的判别造成幹擾。

(5)随着業務的發展,周期性并非一成不變而是具有一定動态性。

上述特點給周期的識别帶來了很大的挑戰。我們需要一套高效魯棒的通用算法架構,能夠自動識别出任意一條時間序列中存在的周期數量,并且準确計算每個周期的長度。

二、RobustPeriod周期檢測架構介紹

現有的周期檢測算法主要集中在基于周期圖(Periodogram)的頻域算法和基于自相關函數(ACF)的時域算法兩個方向。然而這些算法要麼無法很好處理長周期,要麼容易受到趨勢、噪音和異常值的影響,或者依賴先驗的基準周期長度資訊,抑或是無法處理多周期的情況,是以這些算法都無法很好地應對上面所提到的諸多挑戰。

基于此,我們提出了RobustPeriod,一套具有魯棒性的時間序列多周期檢測通用架構。其基本流程如下圖所示,主要包含三個關鍵步驟:

入選 SIGMOD2021 的時間序列多周期檢測通用架構 RobustPeriod 如何支撐阿裡業務場景?

圖2. RobustPeriod周期檢測算法架構流程

(1)預處理階段(Pre-processing)

我們使用線性內插補點法對缺失值進行填充以應對大段資料缺失的場景。同時使用HP濾波(Hodrick–Prescott trend filtering)對時間序列中的趨勢項進行提取并剔除。

(2)多重周期的分解(Decoupling Multiple Periodicities)

為了解決多重周期交織在同一個時間序列中的問題,我們首先使用最大重複離散小波轉換(Maximal overlap discrete wavelet transform, MODWT)分離出不同層次的周期性。MODWT具備的良好特性使得它可以應對任意長度的時間序列,同時可以很好地處理不平穩的時間序列和非高斯噪音。基于分解出的不同層次的周期成分和它們對應的小波方差(wavelet variance), 我們可以對這些周期成分進行強弱排序,并優先輸出更顯著的周期成分。

(3)單周期檢測(Robust Single Periodicity Detection)

在完成了多重周期的分解後,接下來的問題就變成了如何準确地對單重周期進行檢測。在這個階段我們設計了一套稱為Huber-ACF-Med的流程,它包含兩個子步驟。首先是利用基于Huber-Periodogram的Fisher’s Test生成每個層次的周期長度候選項,然後再利用ACF對這些候選項進行驗證優化,最終得到這條時間序列所包含的所有周期長度。

在我們的論文中,我們不僅從理論上對RobustPeriod的合理性進行了論證,同時在模拟資料集、公開資料集和阿裡雲計算平台的真實資料集中對我們的算法進行了充分的驗證,利用消融分析驗證了每一個步驟的重要性,并和其他的前沿經典算法如Siegel,AUTOPERIOD,Wavelet-Fisher進行了對比。結果顯示,無論是在單周期還是多周期場景的檢測中,我們的算法都取得了最優的效果。特别是在有趨勢噪音和異常值的真實資料集中,我們的算法具有明顯優勢。

三、基于RobustPeriod構築的TData/IAD時序異常檢測和預測服務

前文提到,異常檢測和預測是周期檢測的兩個典型應用,為了讓RobustPeriod能在實際業務場景中發揮效用,我們将它整合到了阿裡雲大資料智能運維TData平台和達摩院決策智能IAD (Intelligent Anomaly Detection)平台,并且在它的基礎上構築出了時序異常檢測和時序預測這兩項通用線上服務。

(1)TData, IAD平台的時序異常檢測

圖3展示了時序異常檢測服務的算法架構,主要包括周期檢測、周期分解RobustSTL/RobustTrend, 和統計檢驗三大子產品[2-9]。RobustPeriod作為核心前置子產品決定了後續的算法分析鍊路,影響了最終檢測的準确性。當RobustPeriod識别出某條時間序列的周期性後,我們基于各層次周期成分的長度,利用RobustSTL和RobustTrend分解算法準确分離出趨勢項、周期項和殘差項,進而更加準确地識别出曲線是否有偏移原有模式的異常點,滿足使用者不同場景、不同類型的異常檢測需求。對于TData的使用者來說,隻需将名額接入并選擇關注的異常類型,不需要具備任何機器學習基礎,也不需要提供曲線的任何先驗資訊或标注,即可得到準确的檢測結果。

入選 SIGMOD2021 的時間序列多周期檢測通用架構 RobustPeriod 如何支撐阿裡業務場景?

圖3. TData時序異常檢測算法架構

(2)TData, IAD平台的時序預測

圖4展示了時序預測服務的算法架構,主要包括周期檢測、預測和評估三大子產品。預測子產品作為RobustPeriod的下遊,我們同樣基于周期檢測的結果采用了分而治之的思想。對于具有周期性的曲線使用了TBATS模型(Exponential smoothing state space model with Box-Cox transformation, ARMA errors, Trend and Seasonal components)進行預測,因為它可以高效處理複雜的周期成分。而對于那些被判别為不具備周期性的曲線,我們則直接利用經典的ARIMA模型進行預測。

入選 SIGMOD2021 的時間序列多周期檢測通用架構 RobustPeriod 如何支撐阿裡業務場景?

圖4. TData時序預測算法架構

此外TData/IAD時序異常檢測和時序預測服務的算法均搭建在阿裡雲之上,充分利用了雲服務帶來的性能優勢和穩定性,即使面對海量的名額,分析流程也能在秒級完成。

四、最佳業務實踐

阿裡雲大資料智能運維TData平台和達摩院決策智能IAD平台提供的時序異常檢測和預測通用服務,接入成本低結果準确且運作穩定,目前已經為阿裡雲計算平台,阿裡資料,搜尋推薦等的多個BU的産品提供支援,這裡我們列舉了幾例最佳實踐給大家提供參考。

(1)MaxCompute資料品質異常檢測(DQC)

MaxCompute是阿裡雲提供的一項面向分析的EB級别大資料計算服務,不僅服務于阿裡集團、螞蟻金服、菜鳥、優酷、高德等事業部,同時也為公共雲和專有雲使用者提供計算能力。對于海量資料計算服務而言,資料準确性是資料品質的關鍵,也是所有離線系統加工時的第一保障要素。是以MaxCompute為使用者提供了資料品質的異常校驗功能,當産出的資料較往常模式有變化時,會通知使用者或阻塞生産鍊路以防止資料污染擴散。

過去,使用者需要為每一個計算任務手工配置資料品質校驗規則,随着使用者增長和業務體量的擴大,目前僅阿裡巴巴内部每天運作的任務數就已經達到近千萬,人工配置規則需要耗費過多人力,已經無法滿足需求。是以MaxCompute為資料品質監控提供了動态門檻值的功能,其底層即是Tdata異常檢測服務。

MaxCompute上運作的資料計算任務與其對應的業務緊密相關,是以資料品質監控名額所展現出的模式也受其對應業務的影響。這也就意味着,不同資料計算任務的資料品質監控名額可能具有完全不同的周期性,例如大促期間菜鳥的業務高峰可能相對與淘寶天貓的電商業務高峰就具有一定滞後性。而我們的RobustPeriod則很好地解決了這類業務痛點,針對不同的任務曲線,我們都可以自動化地對其周期性進行精準計算和分解,進而提升異常檢測的準确性。目前DQC的動态門檻值功能已經覆寫了阿裡集團多個BU,同時作為付費項目輸出到了公共雲,為更多外部使用者提供了智能檢測的服務。

(2)實時計算Flink作業流量預測和自動擴縮容(AutoScale)

實時計算Flink是阿裡雲基于Apache Flink 建構的企業級、高性能實時大資料處理系統。在阿裡集團内部,目前全部核心業務已經用上Blink。除了技術大考雙11之外,ET城市大腦實時計算規劃着杭州交通,淘寶、天貓每天為數億使用者展現實時的“專屬”頁面。Flink作業通常需要長時間持續運作,資料和作業的流量會随着時間不斷變化,是以所需的作業資源也會随之變化。如果按照作業低峰期的需求進行資源配置,作業将在流量高峰出現時計算延遲等異常情況而無法正常運作;而如果持續以作業高峰期的資源需求量進行配置,則會造成叢集的資源使用率變低。是以我們需要自動化的、自适應地對Flink作業進行動态資源調優,以保證作業正常運作的前提下優化資源使用率,這就是Flink的自動擴縮容功能(AutoScale) 期望達到的目标。

早期的AutoScale版本屬于被動擴縮容,即隻有檢測出作業出現延遲等因為資源問題導緻的異常狀态時,才會觸發資源的調優。這種被動擴縮容的方式雖然能緩解作業的異常問題,但觸發調整時作業已經受到了不同程度的影響。是以在阿裡雲内部使用的最新的版本中,TData為實時計算Flink的AutoScale功能提供了時序預測服務,使其能提前感覺作業流量的變化趨勢,進而提前對作業資源的配置進行規劃和調整,減少作業因為資源問題出現的異常情況,同時最大限度地提升資源使用率。

(3) 阿裡資料官智能洞察和商業資料的異常檢測

DT阿裡資料官是一款面向使用者的對話式智能資料機器人,以自然語言互動的智能問答,幫助使用者快捷的找到所需資料,随時随地掌握業務動向;以智能洞察為基礎的資料報告支援使用者訂閱,每日推送至釘釘,助力高效決策。智能洞察旨在自動的從多元資料中發掘有價值的規律和資訊傳遞給使用者,其洞察結果往往可以協助回答業務關注的問題。比如:某品牌的銷售趨勢是否健康或其售賣産品的周期性?今天支付金額上升的主要原因有哪些?某關注名額和其他名額的相關性等。我們的魯棒高效周期檢測(Seasonality)以及其他洞察可以幫助業務同學深入挖掘業務狀況,定位根因,為制定快速決策提供基礎。同時,我們基于周期檢測分解的時序異常檢測的效果比原有算法相比有了巨大的提高,能力全量的在DT oneMonitor上線,合作也從“異常檢測”擴大到了的“資料洞察”,“資料安全”等更加廣闊的領域,讓算法更強力和更廣泛的為商業賦能。

(4) 搜尋烽火台智能異常檢測和智能化運維

搜尋的監控系統之前是基于規則的門檻值報警,面對周期性名額,毛刺和稀疏資料等複雜場景難以适用,導緻大部分名額報警泛濫,給使用者帶來很大的困擾。于是搜尋kmon同學基于高頻報警場景聯合達摩院算法嘗試增加異常檢測進行智能報警治理報警泛濫問題。在采用了IAD系統之後,各項異常檢測有了很大的提高,基于周期性的名額波動算法也能很好的識别。

參考文獻

[1] (達摩院時序智能團隊+計算平台大資料基礎工程與技術團隊) Qingsong Wen, Kai He, Liang Sun, Yinging Zhang, Min Ke, and Huan Xu, "RobustPeriod: Time-Frequency Mining for Robust Multiple Periodicities Detection," in Proc. ACM SIGMOD International Conference on Management of Data (SIGMOD 2021), Xi'an, China, Jun. 2021. see also in [arXiv]

[2] (達摩院時序智能團隊) Linxiao Yang, Qingsong Wen, Bo Yang, Liang Sun, A Robust and Efficient Multi-Scale Seasonal-Trend Decomposition, in Proc. of IEEE 46th International Conference on Acoustics, Speech, and Signal Processing(ICASSP 2021), Toronto, Canada, June 2021.

[3] (達摩院時序智能團隊) Qingyang Xu, Qingsong Wen, Liang Sun, A Two-Stage Framework for Seasonal Time Series Forecasting, in Proc. of IEEE 46th International Conference on Acoustics, Speech, and Signal Processing(ICASSP 2021), Toronto, Canada, June 2021.

[4] (達摩院時序智能團隊) Qingsong Wen, Zhe Zhang, Yan Li and Liang Sun, "Fast RobustSTL: Efficient and Robust Seasonal-Trend Decomposition for Time Series with Complex Patterns," in Proc. of the 26th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining(KDD 2020), San Diego, CA, Aug. 2020. [Oral]

[5] (達摩院時序智能團隊) Jingkun Gao, Xiaomin Song, Qingsong Wen, Pichao Wang, Liang Sun, and Huan Xu. RobustTAD: Robust Time Series Anomaly Detection via Decomposition and Convolutional Neural Networks, In the KDD 2020 Workshop on Mining and Learning from Time Series, San Diego, CA, Aug. 2020.

[6] (達摩院時序智能團隊) Qingsong Wen, Zhengzhi Ma, and Liang Sun, "On Robust Variance Filtering and Change Of Variance Detection," accepted for Oral Presentation, in Proc. of IEEE 45th International Conference on Acoustics, Speech, and Signal Processing(ICASSP 2020), Barcelona, Spain, May 2020. [Oral]

[7] (達摩院時序智能團隊) Qingsong Wen, Jingkun Gao, Xiaomin Song, Liang Sun, Huan Xu, Shenghuo Zhu. RobustSTL: A Robust Seasonal-Trend Decomposition Algorithm for Long Time Series. Proceedings of the 33rd AAAI Conference on Artificial Intelligence (AAAI 2019), 33(01), 5409-5416. [Oral] [Link]

[8] (達摩院時序智能團隊) 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 2019).[Oral] [Link]

[9] RobustSTL集團Alibaba Tech 采訪和外部報道: Looking for Trends in the IoT Era: Enhanced Time Series Analysis with RobustSTL.[Facebook Link], [Medium Link]