時(shí)間序列在數(shù)據(jù)智能上的應(yīng)用——轉(zhuǎn)轉(zhuǎn)獬豸

1 評(píng)論 4092 瀏覽 21 收藏 13 分鐘

本篇文章針對(duì)轉(zhuǎn)轉(zhuǎn)內(nèi)部的數(shù)據(jù)實(shí)時(shí)監(jiān)控系統(tǒng)——獬豸進(jìn)行了全面的分析,這項(xiàng)應(yīng)用不僅能夠監(jiān)控核心指標(biāo),而且還擁有自定義指標(biāo)和日志監(jiān)控的能力。

一、什么是獬豸

性別曲直。見(jiàn)人斗,觸不直者。聞人爭(zhēng),咋不正者。

——「漢·異物志」

獬豸是轉(zhuǎn)轉(zhuǎn)內(nèi)部關(guān)于數(shù)據(jù)實(shí)時(shí)監(jiān)控的一整套系統(tǒng),為轉(zhuǎn)轉(zhuǎn)各項(xiàng)業(yè)務(wù)發(fā)展,風(fēng)險(xiǎn)控制等保駕護(hù)航。

在通用的核心指標(biāo)同環(huán)比監(jiān)控之外,它還提供業(yè)務(wù)方自定義指標(biāo)和日志監(jiān)控的能力,并且根據(jù)時(shí)間序列模型進(jìn)一步開(kāi)發(fā)出智能監(jiān)控功能,大幅優(yōu)化了準(zhǔn)確率和靈敏度兩項(xiàng)指標(biāo)。

二、時(shí)間序列的定義

傳統(tǒng)的同環(huán)比監(jiān)控存在各種弊端。他們雖靈活簡(jiǎn)單,但存在選擇合適閾值,選擇對(duì)比周期及誤報(bào)率較高的情況,適用于簡(jiǎn)單場(chǎng)景,但在一些對(duì)準(zhǔn)確度和靈敏度要求比較高的環(huán)境下就不適合了。

在這種前提下,我們選擇了時(shí)間序列模型來(lái)作為突破點(diǎn)。時(shí)間序列也稱(chēng)動(dòng)態(tài)序列,是指將某種現(xiàn)象的指標(biāo)數(shù)值按照時(shí)間順序排列而成的數(shù)值序列。

它由兩個(gè)組成要素構(gòu)成:

  1. 第一個(gè)要素是時(shí)間要素;
  2. 第二個(gè)要素是數(shù)值要素。

根據(jù)時(shí)間和數(shù)值性質(zhì)的不同,還可以分為時(shí)期時(shí)間序列和時(shí)點(diǎn)時(shí)間序列。在時(shí)間序列的研究上,一般會(huì)有兩種做法:分解預(yù)測(cè)和模型解析。

時(shí)間序列在數(shù)據(jù)智能上的應(yīng)用-轉(zhuǎn)轉(zhuǎn)獬豸

分解預(yù)測(cè)適用于趨勢(shì)性和周期性明顯的非平穩(wěn)時(shí)間序列。它的核心思想是將整個(gè)時(shí)間序列分解為長(zhǎng)期趨勢(shì),季節(jié)變動(dòng),循環(huán)變動(dòng)和不規(guī)則變動(dòng)四種類(lèi)型,對(duì)每種變動(dòng)進(jìn)行單獨(dú)的研究和預(yù)測(cè),最后再合稱(chēng)為復(fù)合型的時(shí)間序列。

其中,季節(jié)變動(dòng)一般以周,月,季為單位,呈現(xiàn)出一種周期性變動(dòng)。指數(shù)平滑模型分為加和模型和乘積模型,取決于隨著時(shí)間推移波動(dòng)幅度是否越來(lái)越大。

模型解析適用于平穩(wěn)時(shí)間序列,它更偏向于通過(guò)回歸方式,找到當(dāng)前周期的變量與之前周期的統(tǒng)計(jì)關(guān)系,主要有 ARMA 模型和 ARIMA 模型。

前者全稱(chēng)為 Auto Regression Moving Average,即自回歸移動(dòng)平均,可再細(xì)分為 AR 模型,MA 模型和 ARMA 模型;后者多出來(lái)的 I 為 Integrated,意為整合自回歸移動(dòng)平均。

三、指數(shù)平滑模型

移動(dòng)平均模型建立在當(dāng)前數(shù)據(jù)可以由歷史數(shù)據(jù)推演而來(lái)的前提上,根據(jù)移動(dòng)時(shí)間窗口的大小和系數(shù)不同,還會(huì)分為周期移動(dòng)平均,加權(quán)移動(dòng)平均和全期平均。

指數(shù)平滑是加權(quán)移動(dòng)平均的一種,采用全期數(shù)據(jù),但會(huì)根據(jù)歷史數(shù)據(jù)和當(dāng)期數(shù)據(jù)時(shí)間的距離,逐漸降低該該部分的影響程度。

這個(gè)在下面的公式展開(kāi)時(shí)會(huì)聊到。拆解時(shí)間序列時(shí),它所包含的時(shí)間序列類(lèi)型越豐富,模型會(huì)越復(fù)雜。按類(lèi)型不同,可分為一次平滑,二次平滑和三次平滑。

其中,一次平滑模型:水平項(xiàng) + 不規(guī)則變動(dòng)(誤差項(xiàng))二次平滑模型,即霍爾特(Holt)模型;增加長(zhǎng)期趨勢(shì)三次平滑模型,即霍爾特溫特斯(Holt-Winters)模型;在二次平滑模型的基礎(chǔ)上,再增加季節(jié)變動(dòng)。

時(shí)間序列在數(shù)據(jù)智能上的應(yīng)用-轉(zhuǎn)轉(zhuǎn)獬豸

一次平滑模型

時(shí)間序列在數(shù)據(jù)智能上的應(yīng)用-轉(zhuǎn)轉(zhuǎn)獬豸

二次平滑模型

時(shí)間序列在數(shù)據(jù)智能上的應(yīng)用-轉(zhuǎn)轉(zhuǎn)獬豸

三次平滑模型

s為平滑(smooth)值,x為觀察值,i為周期數(shù),α,β和γ均為平滑參數(shù)。

指數(shù)平滑模型中,一般會(huì)選擇若干個(gè)周期做平均作為初始平滑值。

在一次平滑模型里,我們可以看到當(dāng)前周期的平滑值等于當(dāng)前周期的觀測(cè)值和上個(gè)周期的平滑值加上一定的權(quán)重系數(shù) α 得到,即平滑參數(shù)。所得出的平滑值將作為下個(gè)周期的預(yù)測(cè)值。

根據(jù)這個(gè)公式我們可以得出兩個(gè)關(guān)鍵點(diǎn):首先,α 介于 0 到 1 間,越趨近于 0 越平滑,此時(shí)每個(gè)周期的平滑值都相等。

此外,對(duì)公式進(jìn)行展開(kāi)后, 你會(huì)發(fā)現(xiàn)每個(gè)周期的觀測(cè)值x都對(duì)當(dāng)前周期的平滑值產(chǎn)生了影響,且隨著周期越遠(yuǎn)而呈(1-α)冪次增大,因此整個(gè)方法被稱(chēng)為「指數(shù)平滑法」。

一次平滑法比較簡(jiǎn)單,但因?yàn)轭A(yù)測(cè)值均來(lái)自歷史數(shù)據(jù),指數(shù)平滑值序列會(huì)出現(xiàn)一定的滯后偏差。我們可以通過(guò)調(diào)整 α 的大小來(lái)減少這種偏差,但當(dāng)如果 α 調(diào)整到最大即 α=1 仍舊無(wú)法解決問(wèn)題時(shí),便需要對(duì)模型進(jìn)行修正。

在一次指數(shù)平滑的基礎(chǔ)上再加上趨勢(shì)變動(dòng)的部分,因此也稱(chēng)為二次指數(shù)平滑。

原理和一次平滑法相近,即在α的基礎(chǔ)上再平滑一次,產(chǎn)生一個(gè)二次平滑值β。同理,在二次平滑的基礎(chǔ)上,加上季節(jié)變動(dòng)的平滑值便成為三次平滑。

在實(shí)際的應(yīng)用過(guò)程中,指數(shù)平滑因其簡(jiǎn)單和可解釋性,被廣泛地應(yīng)用在各種指標(biāo)監(jiān)控和智能運(yùn)維場(chǎng)景中。

四、ARMA 及 ARIMA 模型

有些時(shí)間序列可能不存在明顯的波動(dòng)特征,而且一步步去試探分離出對(duì)應(yīng)的波動(dòng)類(lèi)型過(guò)程也比較繁瑣,因此在模型預(yù)測(cè)里,就直接采用模型回歸擬合的方法,來(lái)實(shí)現(xiàn)對(duì)平穩(wěn)時(shí)間序列的預(yù)測(cè)。

獬豸最后采用了平滑指數(shù)模型,ARMA 這塊沒(méi)有深入研究,僅在這里解釋下具體的定義和應(yīng)用方向。

AR(p):即 Auto regressive,自回歸模型。含義是當(dāng)前時(shí)間點(diǎn)的值等于過(guò)去若干個(gè)時(shí)間點(diǎn)的值的回歸。因?yàn)橹灰蕾?lài)于自己過(guò)去的歷史值,故稱(chēng)為自回歸;如果依賴(lài)過(guò)去最近的 p 個(gè)歷史值,稱(chēng)階數(shù)為 p,記為 AR(p) 模型。

時(shí)間序列在數(shù)據(jù)智能上的應(yīng)用-轉(zhuǎn)轉(zhuǎn)獬豸

MA(q):即 Moving Average,移動(dòng)平均模型。含義是當(dāng)前時(shí)間點(diǎn)的值等于過(guò)去若干個(gè)時(shí)間點(diǎn)的預(yù)測(cè)誤差的回歸。預(yù)測(cè)誤差=模型預(yù)測(cè)值-真實(shí)值;如果序列依賴(lài)過(guò)去最近的q個(gè)歷史預(yù)測(cè)誤差值,稱(chēng)階數(shù)為q,記為MA(q)模型。

時(shí)間序列在數(shù)據(jù)智能上的應(yīng)用-轉(zhuǎn)轉(zhuǎn)獬豸

AR 和 MA 兩個(gè)模型疊加在一起即為 ARMA(p,q) 模型,表示隨機(jī)變量的取值不僅與以前 p 期的序列值有關(guān)還與前 q 期的隨機(jī)擾動(dòng)有關(guān)。

時(shí)間序列在數(shù)據(jù)智能上的應(yīng)用-轉(zhuǎn)轉(zhuǎn)獬豸

因?yàn)?ARMA 模型要求平穩(wěn)性,不平穩(wěn)的序列需要通過(guò)一定手段轉(zhuǎn)化為平穩(wěn)序列,一般采用的手段是差分。平穩(wěn)程度可通過(guò)肉眼觀測(cè)或 DF (Dickey-Fuller)方法進(jìn)行檢測(cè)。因此對(duì)于一些不平穩(wěn)序列,一般會(huì)采取 ARIMA(p,q,d) 模型,其中 d 即差分階數(shù),它的定義如下:

I(d):即 Integrated。含義是模型對(duì)時(shí)間序列進(jìn)行了差分。d 表示差分的階數(shù),t時(shí)刻的值減去t-1時(shí)刻的值,得到新的時(shí)間序列稱(chēng)為1階差分序列。

1階差分序列的1階差分序列稱(chēng)為2階差分序列,以此類(lèi)推,直至差分之后的時(shí)間序列變得平穩(wěn)。另外,還有一種特殊的差分是季節(jié)性差分S,即一些時(shí)間序列反應(yīng)出一定的周期T,讓t時(shí)刻的值減去t-T時(shí)刻的值得到季節(jié)性差分序列。

五、應(yīng)用場(chǎng)景及優(yōu)化

因?yàn)榛ヂ?lián)網(wǎng)產(chǎn)品的指標(biāo)存在明顯的不平穩(wěn)性,所以我們采取了指數(shù)平滑模型來(lái)做獬豸的核心模型,它被廣泛應(yīng)用在:指標(biāo)預(yù)測(cè)智能監(jiān)控智能運(yùn)維。

在指標(biāo)預(yù)測(cè)中,我們先通過(guò)某個(gè)核心指標(biāo)的近一段時(shí)間的曲線形狀,判斷應(yīng)該適合二次平滑指數(shù)模型,

時(shí)間序列在數(shù)據(jù)智能上的應(yīng)用-轉(zhuǎn)轉(zhuǎn)獬豸

在擬合過(guò)程中,我們發(fā)現(xiàn)整體預(yù)測(cè)效果不錯(cuò),但是在凌晨和傍晚數(shù)據(jù)連續(xù)下降和上升的時(shí)候,預(yù)測(cè)值存在一定的滯后性。

時(shí)間序列在數(shù)據(jù)智能上的應(yīng)用-轉(zhuǎn)轉(zhuǎn)獬豸

觀測(cè)到凌晨和傍晚有明顯的上升趨勢(shì),因此增加在周期性因子里加上趨勢(shì)變量,即周期性趨勢(shì)(非全周期趨勢(shì))。最后的擬合趨勢(shì)已經(jīng)非常接近了,效果如下:

時(shí)間序列在數(shù)據(jù)智能上的應(yīng)用-轉(zhuǎn)轉(zhuǎn)獬豸

在智能監(jiān)控上,還需要加上對(duì)誤差的監(jiān)控,這涉及到比較器的設(shè)計(jì)。經(jīng)過(guò)我們分析預(yù)測(cè)誤差值呈正態(tài)分布。如果誤差分布在99%范圍之外,即min(μ – 2.58δ, -0.06t), max(μ + 2.58δ, 0.06t),系統(tǒng)便會(huì)認(rèn)為數(shù)據(jù)異常,觸發(fā)報(bào)警。

時(shí)間序列在數(shù)據(jù)智能上的應(yīng)用-轉(zhuǎn)轉(zhuǎn)獬豸

時(shí)間序列在以上介紹兩大類(lèi)方法外,還有 LSTM 模型,格蘭杰因果模型(Granger Causality)等等。

本文只做了常見(jiàn)模型的簡(jiǎn)單介紹,有需求可以參考以下文章深入了解。

參考文獻(xiàn):

  • 數(shù)據(jù)分析技術(shù):時(shí)間序列分析;時(shí)間是把殺豬刀
  • Holt Winter 指數(shù)平滑模型;
  • 基尼系數(shù)Wiki定義
  • 《商務(wù)與經(jīng)濟(jì)統(tǒng)計(jì)方法(第15版)》時(shí)間序列挖掘;
  • 預(yù)測(cè)算法-三次指數(shù)平滑法(Holt-Winters)
  • ARIMA模型詳解;
  • 陳水平基于時(shí)間序列的短期數(shù)據(jù)預(yù)測(cè)—ARMA模型的設(shè)計(jì)與實(shí)現(xiàn);
  • 猜你喜歡數(shù)據(jù)分析的基本方法論;
  • 三個(gè)步驟告訴你如何設(shè)計(jì)高效Dashboard;
  • 4年估值20億美元的大數(shù)據(jù)公司:Domo的神秘國(guó)度;
  • 三個(gè)步驟告訴你如何設(shè)計(jì)高效Dashboard。

 

作者:陳新濤,現(xiàn)任轉(zhuǎn)轉(zhuǎn)數(shù)據(jù)負(fù)責(zé)人,曾任美團(tuán)外賣(mài)首任數(shù)據(jù)產(chǎn)品經(jīng)理。公眾號(hào):三生萬(wàn)數(shù)(ID:ourStone)

本文由 @陳新濤 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載

題圖來(lái)自Unsplash,基于CC0協(xié)議

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 目前還沒(méi)評(píng)論,等你發(fā)揮!