成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

網易如何做到數據指標異常發現和診斷分析?

人工智能 算法
指標對業務至關重要,快速準確地檢測出異常指標可以幫助我們及時發現和解決業務中的問題。本文將分享網易嚴選在指標異常檢測與診斷分析方面的實踐。

一、背景介紹

指標與業務息息相關,其價值在于發現問題和發現亮點,以便及時地解決問題和推廣亮點。隨著電商業務的進一步發展,業務迭代快、邏輯復雜,指標的數量越來越多,而且指標之間的差異非常大,變化非常快,如何能夠快速識別系統各項異常指標,發現問題的根因,對業務來說至關重要。如果通過手動的方式去設置報警閾值容易出現疏漏,且非常耗時,成本較高。我們希望構建一套自動化方法,能夠達成以下目標:

  • 自動化無需依賴用戶輸入:傳統的方式是需要定義異常規則、歸因維度等等,在自動化系統中不再需要用戶手動輸入。
  • 通用性:能夠適應多種多樣的指標分布,不同的指標匹配不同的方法。
  • 時效性:實現天級、小時級的指標異常檢測和歸因。
  • 準確性和主動性:實現數據找人的目標。

接下來將分別介紹指標異常檢測、指標異常診斷。

二、指標異常檢測

1、異常有哪些

數據科學工作的第一步是對問題進行定義。我們對異常的定義是數據指標的異常,指標的過高過低、大起大落都不正常,都需要進行預警和診斷。指標的異常分為以下三種:

圖片

  • 絕對值異常

指的是不遵循指標固有的分布,在統計學上的離群點,它反映的是業務當下的狀態。

  • 波動異常

環比過大的突增點或者突降點,反映的是業務當下突然的變化。

  • 趨勢異常

前兩種異常是偏單點的,是短暫劇烈的,而有些異常則相對隱蔽,是在中長期呈現出確定性上升或者下降的趨勢,往往預示著某些潛在的風險,所以我們也要進行趨勢的異常檢測,進行業務預警和提前干預。

這三種異常是相互獨立的,不同的場景可能對應不同類型的異常。

比如上圖中A點同時發生了絕對值異常和波動率異常,B點因為與上一天的環比變化不大,所以只報了絕對值異常。C點和D點都只報了波動異常,但是其原因是不一樣的,C點指標突降的原因是由B點造成,屬于指標的正常回落,這種需要通過后處理邏輯解決。

2、指標異常將測框架

圖片

為了實現指標檢測的通用性、自動化以及時效性,我們設計了一套基于統計檢驗的無監督檢測框架。

  • 絕對值異常檢測

首先絕對值檢測主要是基于GESD 檢驗算法,它的原理是通過計算統計量來尋找異常點。過程如下:

假設數據集中有最多r個異常值。第一步先找到離均值最大的樣本i,然后計算統計量Ri,即xi 減去均值后的絕對值,除以標準差。接下來計算對應的樣本點i的臨界值λi,其中的參數,n 是總共的樣本量,i是已剔除的第幾個樣本,t是具有 n-i-1自由度的t 分布的p 百分點,而p與設定的置信度α(一般α取值為0.05)及當前樣本量有關。

第二步是通過剔除離均值最大的樣本i,然后重復上面步驟,一共r次。

第三步尋找統計量 Ri 大于λi的樣本,即為異常點。

這種方法的優點,一是無需指定異常值的個數,只需要設定異常的上限,在上限范圍內,算法會自動捕捉異常點;二是克服了3Sigma檢出率過低(小于1%),只能檢出非常極端異常的問題。

在GESD算法中可以通過控制檢出率的上限去做適應,但是這個方法的前提是要求輸入的指標是正態分布。我們目前觀測的電商業務指標絕大多數是屬于正態分布的,當然也有個別業務指標(<5%)屬于非正態分布,需要采用其他方法來兜底,如quantile。

  • 波動異常檢測

第二種是波動異常檢測,主要是基于波動率分布,計算分布的拐點。這里不能直接對波動率分布套用上面的辦法,主要是因為指標波動率絕大多數不是正態分布所以不適用。找拐點的原理是基于二階導數和距離來尋找曲線上的最大彎曲點。增長的波動率大于 0,下降的波動率小于 0,針對在 y 軸兩側大于 0 和小于 0 的部分,分別要找兩個波動率的拐點,波動率超出拐點的范圍,就認為是波動異常。但個別情況下拐點會不存在,或者拐點來得太早,導致檢出率太高,所以也需要其他的方法來兜底,如quantile。一種檢驗方法不是萬能的,需要組合來使用。

  • 趨勢異常檢測

第三種是趨勢異常檢測,基于Man-Kendall檢驗。先計算統計量S, 其中sgn 是符號函數,根據指標序列前后值的相對大小關系,兩兩配對可以得到 -1、1、0 這樣3個映射值。對統計量S做標準化,就得到了Z,可以通過查表的方式換算到p值。統計學上當 p 值小于 0.05,就認為有顯著性的趨勢。

它的優點一是非參數檢驗,即可以適用于所有的分布,因此不需要兜底方法。優點二是不要求指標序列連續,因為在進行趨勢異常檢測的時候,需要事先剔除絕對值異常的樣本,所以大多數指標序列并不連續,但這個方法是可以支持指標不連續的。

  • 異常檢測后處理

三種異常結束之后,需要進行后處理的工作,其目的主要是減少不必要的報警,降低對業務的打擾。

第一種是數據異常,這的數據異常不是指數據源出錯了,因為數據源是在數倉層面,由數倉團隊來保證。這里的數據異常指的是上周期的異常導致了本周期的波動異常,比如某個指標昨天上漲了100%,今天又下降了50%,這種情況就需要基于規則來進行剔除,剔除的條件就是(1)上個周期存在波動或絕對值異常(2)本周期的波動屬于回歸正常的,即有波動異常但無和波動異常同向的絕對值異常。比如昨天上漲了100%,今天下降 50% ,經后處理模塊會過濾掉,但是如果下降了99%,此時觸發了絕對值異常還是需要預警的。通過這種方式我們一共剔除了40% 以上的波動異常。

第二種后處理是基于S級大促的信息協同,這種大促中每個小時都可能會出現指標的異常,大家都知道原因,因此沒有必要去進行播報。

三、指標異常診斷

1、指標異常診斷層次劃分

根據結論的可行域和確定性,可以將推斷分為三個層次,即確定性推斷、可能性推斷和猜測性推斷。

圖片

2、指標異常診斷方法比較

不同推斷層次對應著不同的診斷方法。

圖片

猜測性推斷,結論主要依賴人的經驗,結論相對不明確,可操作空間有限,不在本文的方法討論范圍之內。

可能性推斷,(1)可以基于機器學習去擬合指標數據,做回歸預測,計算特征的重要性,這種方法的缺點是不能解釋單次異常的原因。(2)如果想解釋單次的異常要加上一個 shap value 算法,它可以計算每一次預測值,每一個輸入特征對于目標的貢獻值。這種方法具有一定的可解釋性,但是不夠精準,而且只能得出相關性,并非因果性。(3)可以通過貝葉斯網絡來構建指標間關系的圖和網絡,但缺點是計算相對復雜,并且黑盒。

確定性推斷,主要是基于拆解貢獻度算法。拆解貢獻度算法不管是加法、乘法還是除法,都是按照拆解方式來衡量各部分指標或者結構的變化對整體的影響。優點是確定性比較強,白盒化,適應性比較強,能夠精準定位到異常所在的位置。但是它也存在其天然的缺點,就是針對同一個指標,有非常多的維度可以去拆解,會帶來組合維度爆炸的問題。

3、業務現狀

數據科學的很多問題都需要結合業務的實際場景來選擇相應的方法。因此在介紹我們的方法之前,先來介紹一下業務現狀。

圖片

我們知道,平臺電商的增長方式是由流量留存和付費轉化來驅動的。隨著人口紅利見頂,流量獲取日趨困難,網易嚴選進行了戰略升級,由平臺電商轉型成為品牌電商,將京東、淘寶等平臺電商轉變成品牌合作伙伴。

而品牌電商的增長驅動方式是通過全渠道協同爆品突圍,塑造明星品類來立住品牌。比如大家了解網易嚴選不一定是通過我們的APP,可能是通過淘寶、京東上買了一些商品從而了解到我們這個品牌。網易嚴選的增長視角從圍繞用戶的拉新、留存、付費,轉化為了圍繞爆品商品的打造和渠道的突破增長。

品牌電商的指標分級可以分為戰略層、戰術層、執行層。戰略層對應的是一級指標,即北極星指標。比如大盤的GMV,它衡量的是目標的達成情況,服務于公司的戰略決策。戰術層對應的是二級指標,是通過將一級指標分拆到各級部門和業務線得到的,服務的是過程管理。執行層對應的是三級指標,是將二級指標進一步拆分到各級類目商品以及負責人,服務具體實施。

基于目前品牌電商的這種指標分級方式,以及需要定位到部門、人、商品這樣的需求,所以需要我們的算法具有確定性、可解釋性和白盒化。因此我們采用了基于拆解的方式,計算每一層每部分的指標對于整體的影響占比,也就是前面提到的拆解貢獻度方法。

4、拆解貢獻度計算方法

貢獻度的計算方式包括三種,一類是加法,一類是乘法,還有一類是除法。

圖片

拆解方法如上圖中所示。Y是要進行拆解的目標指標,比如大盤的GMV,Xi是其下某個拆分維度下第 i 個維值,比如某個省市的GMV,Xi1 代表當前周期的指標,Xi0 表示上一個周期的原始值。

加法的拆解公式很好理解,每個維值的變化值ΔXi除以整體的原始值Y0,就是它的貢獻度。

乘法拆解采用了LMDI(Logarithmic Mean Index Method)乘積因子拆解的方式。兩邊同時取對數ln,即可得到加法形式,再按照上述方法,就可以得到各因子的貢獻度。維值的前后比率比較大,貢獻度就比較大。

除法采用雙因素拆解方法,即每一個部分、每一個維值對整體的貢獻度是由兩個因素構成。第一個因素是波動貢獻,用AXi 表示;第二個因素是結構變化貢獻BXi,即每部分的結構變化貢獻。舉個例子,每個部門的毛利率都提升了但整個公司的毛利率卻下降了。原因大概率就是某個低毛利的部門銷售占比變大了,拖垮了整體,也就是我們熟知的辛普森悖論的情況。除法拆解算法中,引入BXi這部分結構變化的貢獻,就能夠解決這個問題。

貢獻度的一個很重要的特性就是可加性,滿足 MECE 不重不漏的原則。不管哪種拆解方式,把某個拆解維度下的全部維值貢獻 CXi進行加和,都可以得到整體的變化率ΔY%。

5、指標拆解維度爆炸問題

圖片

假設我們對某個一級指標的異常原因進行拆解,比如銷售額或者毛利額等等,拆分的維度可以是銷售渠道或省市地區,也可以按照商品的品類、新老客等。假設有 n 種拆分維度,那么就需要生成 n 個維度對應的中間表,然后針對每個維度下面的每一個維度值Xi,去計算指標變化,才能得到其貢獻度。

為了精準地找到指標異常的原因,面臨的問題是只拆單個維度,只能得到該維度的結論,定位不到精準的問題所在。如果拆解的維度太細,比如把所有的維度都進行組合,那每一項的貢獻度又太小,還是無法得到主要的原因。所以這里需要層層的下鉆和窮舉,在各種維度組合中搜索我們想要的結論。

假設目前有 n 種拆分維度,那么就需要首先建立2n個中間表,建立中間表的過程中要確保口徑一致,并滿足數倉規范,工作量是非常大的。建好這些中間表之后,再分別調用拆解算法的API計算相應的貢獻度,這就產生了非常大的計算和存儲消耗,即維度爆炸的問題。

6、指標拆解維度爆炸問題優化

圖片

為了解決維度爆炸的問題,對實現方案進行了以下優化:

優化1:把維度拆解的流程轉變為基于貢獻度聚合。前文中提到,因為貢獻度具有可加性,首先調用一次算法計算最細粒度的末級指標的貢獻度,然后需要哪個維度的貢獻度,就用它去做 group by 條件對貢獻度求和。這樣能夠省略中間表的 IO 過程,只需要一次算法調用,在集群上執行求和操作也會比調用指標拆解算法快得多。

上述是針對一級指標進行的異常診斷,我們實際業務中還需要對二級指標進行診斷,這種方法只需要再對貢獻度做一次歸一化即可,不需要重復計算,可以針對一級、二級指標同時進行異常診斷。

計算效率的問題得以解決,但仍存在一個問題,即結果的空間復雜度非常大,達圖片。假設k是平均每個維度下的維值個數,單維度拆解空間圖片+ 雙維度拆解空間圖片+ 三維度拆解空間圖片+ n維度拆解空間圖片=圖片

圖片

優化2:根據實際業務需要限制維度組合實現剪枝,將結果的空間復雜度從圖片降至

圖片圖片

以內。具體包括兩個操作,第一個是對維度進行分組,對于具有天然層次關系的維度,比如一級渠道和二級渠道,如果拆到二級渠道,其實一級渠道信息已經有了,就不用對一級渠道和二級渠道進行冗余的組合了,只需要對于跨組的維度進行組合就可以了。第二個是限制維度組合的維數,因為在歸因診斷分析的時候,實際業務不會關注到特別復雜的維度上去,一般由兩三個維度組合起來就夠用了。

優化3:基于維度基尼系數排序,確定最佳維度,實現異常精準定位。有了剪枝后的若干拆分度以及對應的維值貢獻度,如何才能優中選優,定位到主要原因呢?直觀的想法就是某個維度的粒度越細,且頭部top維值貢獻度越大,就越可能是指標異常的最主要原因。基尼系數是比較適合這個場景的度量方式,用1減每一部分的貢獻度的平方和越小,說明拆分維度越合理。

上圖右側舉了1個例子,針對某次銷量異常,第一種按商品維度去拆,因為每個商品的貢獻度太小,所以基尼系數非常大。第二種按照二級渠道的粒度去拆,粒度比較粗,算出來的基尼系數可能是一個比較大的值。第三種按照一級行業叉乘二級渠道去算,基尼系數很有可能更小,因為二級渠道再下鉆一層,有的部分出現了正的貢獻度,有的部分出現了負的貢獻度。正的貢獻度就是對于指標的波動有正向積極作用的部分,負向貢獻度就是有負向作用的。在這個例子中可以看到拆分維度行業1叉乘渠道1貢獻度60%,被歸為主因,也是比較符合我們認知的。所以通過基尼系數我們能夠找到較為合理的拆分維度和導致指標異常的主因。

四、QA

Q1: 請問用什么指標評估診斷的準確率?

A1: 因為我們用的是確定性診斷,結論是非常明確的。如果從單純指標這個層面來看,是通過計算寫代碼實現來保證準確率的。如果從業務理解的角度,比如這次異常是因為某個業務進行了某個正常的操作,或者因為其他原因導致誤報或漏報,這種情況是通過收集 badcase的方式來進行準確率的評估。

Q2: 貢獻度的拆解會混合使用嗎?比如GMV的拆解,最初使用加法進行渠道拆解,后續使用乘法公式,怎樣評判使用不同拆解方式的順序?

A2: 這是一個非常好的實踐上的問題。首先,加法和乘法混合使用這個思路是可行的,可以采用貪心地方式去搜索,算出來每一步的TOP維度值對應貢獻度及下一步拆解后的貢獻度,結合貢獻度下降的多少來確定下一步是通過加法的拆解,還是通過乘法來拆解。

另外一種思路是先按照某一個方向,比如針對電商GMV,可以先通過加法來進行拆解,不斷地拆解,拆解到最底層,比如某個商品,再對這個商品進行乘法拆解,這個商品為什么 GMV 下跌了,是流量下跌了還是轉化率下跌了等等。具體的做法需要結合實際中不同的業務需求,以及時效性、開發成本等方面的考慮。

在網易嚴選目前的場景中,考慮到通用性以及業務現狀,作為品牌電商,在外渠售賣的時候,流量、轉化率等因素對于我們來講是黑盒的,所以在我們的業務場景中,主要是以加法拆解為主。

責任編輯:姜華 來源: DataFunTalk
相關推薦

2011-11-09 15:49:52

API

2021-06-04 05:54:53

CIO數據驅動數字轉型

2022-05-06 10:58:55

數據庫智能診斷

2009-11-20 11:37:11

Oracle完全卸載

2010-01-13 21:58:02

綜合布線數據安全

2019-04-25 10:40:02

分庫分表MySQL數據庫

2016-01-08 10:03:07

硅谷通吃互聯網

2019-08-08 10:18:15

運維架構技術

2010-03-30 10:44:05

Nginx啟動

2024-12-04 13:52:30

2021-05-24 10:55:05

Netty單機并發

2022-09-09 08:41:43

Netty服務端驅動

2024-03-13 07:35:34

歸因診斷算法KPI 指標

2022-05-29 22:20:35

元宇宙大網傳輸網易

2011-02-21 17:58:40

vsFTPd

2022-08-16 11:33:43

數據分析業務數據

2019-07-01 15:40:53

大數據架構流處理

2021-11-16 20:05:33

數字化

2011-06-22 09:45:46

JavaScriptAPI

2017-11-14 08:25:36

數據庫MySQL安全登陸
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 美女拍拍拍网站 | av一级毛片 | 亚洲成人精品免费 | 成人午夜毛片 | 久久免费精品视频 | 久久久久久久电影 | 99这里只有精品视频 | 亚洲视频免费在线观看 | 日韩在线观看视频一区 | 午夜视频在线 | 精品一区二区三区在线播放 | 成人在线一区二区 | 国产精品成人一区二区三区夜夜夜 | 欧美精品网站 | 日本精品一区二区 | 天堂网色| 99热在这里只有精品 | 不卡一区二区三区四区 | 精品国产亚洲一区二区三区大结局 | 欧美不卡在线 | 亚洲国产成人一区二区 | 亚洲色图综合网 | 免费精品视频 | 亚洲视频一区二区三区 | 91久久北条麻妃一区二区三区 | 久久久久久亚洲国产精品 | 美国一级毛片a | 成人免费在线小视频 | 午夜视频在线 | 国产一区二区三区欧美 | 久久久久九九九九 | 国产欧美一区二区久久性色99 | 中文字幕在线不卡 | 日韩有码一区 | 精品伊人久久 | 国产精品久久久久久福利一牛影视 | 亚洲高清一区二区三区 | 九九久久久 | 国产美女久久 | 成人在线免费视频 | 亚洲精品中文字幕av |