智能預警:如何自動化識別異常數據?了解下產品化設計

4 評論 9016 瀏覽 109 收藏 11 分鐘

編輯導語:產品設計最難的地方不在于“設計”,而在于“決策”。因為決策的依據來源于“場景——用戶——需求”,但對業務的認知局限會導致其信息理解上的偏差。本篇文章帶你了解異常判定下的產品設計。

“今天和朋友們聊聊數據分析、數據產品設計中經常面臨的場景:異常判定,并看看如何進行預警相關的產品設計?!?/p>

關于BI系統,之前分享過阿里的Quick BI,微信公眾平臺的看板設計,以及數據圖表相關設計。今天和大家聊聊常見的場景:異常數據的識別,以及預警相關功能的產品化設計。

一、場景概述

我們在做數據分析的時候,有一個重要的環節,就是發現目前運行數據的異常,然后基于異常尋找原因、提出意見和建議。

如果是人工判斷異常數據的話,往往通過恰當的可視化圖形就能很好地發現,比如下面數據走勢的異常:

智能預警:如何自動化識別異常數據?了解下產品化設計

或者下面的數據關系的異常,通過回歸曲線很容易發現右下角的異常點。

智能預警:如何自動化識別異常數據?了解下產品化設計

但是對于機器而言,想要識別異常數據,就比較麻煩了。這就是咱們今天將重點展開討論的內容:如何通過系統化的規則或者算法,識別異常數據。

由于數據的類型多種多樣,我們針對不同數據類型分別展開。

二、時序異常數據識別

時間序列相關的異常判定,應該是我們最常見的異常識別情景。尤其是在數據產品中,我們關注的大部分內容都是和時間序列有關系。

智能預警:如何自動化識別異常數據?了解下產品化設計

大家可以仔細回想一下你平時看到的數據監控看板等等,無論形態如何,基本都涉及了時間維度。但凡涉及時間維度,那么異常的識別都是基于時間來識別的,且識別的是最新一段時間是否異常(用最新數據鑒定歷史數據異常并沒有任何業務意義)。

了解了上面的內容,下面我們聊聊都有哪些時序異常數據的識別方法。

1. 基于固定數值

這個比較好理解,就是直接按照固定的數值進行異常判定。邏輯簡單、容易實現與理解。

智能預警:如何自動化識別異常數據?了解下產品化設計

比如上圖中,我們設定固定數值是[3800-5600],在這個區間范圍內的數據,我們認為是正常數據;低于或者高于該區間的數據,認為是異常數據。

固定數值判斷異常的方法,核心在于如何取合理區間的上下限。如果有明確的業務紅線,可以將業務紅線設為上下限;如果沒有業務限制,可以使用分位數進行取值,比如歷史5%-95%分位認為是正常的。

對于一個發展比較穩定業務而言,設定固定的絕對數值是沒啥問題的。但是對于一個快速發展期的業務,很明顯,固定數值并不適用。

智能預警:如何自動化識別異常數據?了解下產品化設計

隨著時間的變化,合理的區間也相應發生了變化。這種情況不適合用固定數值進行異常判定,而是需要相對值。

2. 基于相對數值

上面講到了固定數值方法的缺點。因此,我們考慮相對數值的方法。提到相對值,主要就是同比和環比(關于同比和環比可參考歷史文章)。

智能預警:如何自動化識別異常數據?了解下產品化設計

由于同比通常的定義指的是與去年同期比較,因此針對單天,我們往往是與上周進行對比。如此,上周的數值就是基準值,再增加一個波動區間范圍即可。比如上周二的新增用戶數200,波動范圍設定[-10%,10%],那么本周二如果新增用戶數在180-220則認為是正常的;超出該范圍則判定異常。

該方法也有明顯的缺點。如果上周二就是一個異常值(假設數值異常低),而本周二數據是恢復正常了。那么根據相對值得判定邏輯,很容易把本周二判定為「異常高」。這是點對點對比的缺點。

3. 基于統計分布

如何能避免單個異常點對后續判斷的影響呢?這里就可以基于統計分布進行規則建立。

智能預警:如何自動化識別異常數據?了解下產品化設計

這里我們可以采取 均值±標準差×3的方式。這里的均值可以采取當天之前一段時間的均值,比如90天、30天;標準差也選取相應時間段的標準差;倍數可以基于情況設置。

由于均值是一段時間內的均值,不是某一個具體點。因此通過這種方式,能消除異常數據對于后續的異常判定。

4. 基于時序模型

最后,還可以基于時間序列模型進行異常判定。

在統計模型中,有一類模型是專門針對時間序列進行建模的,用以預測未來一段時間的數據走勢。我們可以建立相應的ARMA模型等,基于實際值和預測值的差異,判定是否異常。

智能預警:如何自動化識別異常數據?了解下產品化設計

關于時間序列模型,我們這里就不展開了,后續會專門針對時間序列統計模型詳細分享相關基礎知識。

三、預警功能產品化設計

最后,我們一起看看預警功能的產品設計,這里主要以神策為例,看看預警功能的設計思路。

1. 預警設置

神策將預警功能和事件分析進行了結合,在做事件分析相關功能時,可以直接添加「預警」,進行預警配置。

智能預警:如何自動化識別異常數據?了解下產品化設計

下面是點擊「預警」后的配置界面:

智能預警:如何自動化識別異常數據?了解下產品化設計

配置基本信息中包括了規則名稱、監控指標、維度等;預警設置中包括監控時間粒度、監控時間、預警方式、觸發規則、通知方式等。

2. 預警觸發規則

預警配置中,最核心的一步就是進行預警規則的設置了。神策支持了兩種預警方式:智能預警和自定義預警。

智能預警:如何自動化識別異常數據?了解下產品化設計

這里的智能預警并未明示具體的邏輯,我猜主要就是基于統計分布和時序模型進行的所謂智能預警。而自定義預警主要包括了對比特定值(即固定值)以及歷史某期(即相對值)進行預警規則設置。

當然,自定義預警的閾值是用戶自行填寫的,沒有給出提示。

3. 預警通知

預警的通知配置,也是整個預警功能中必不可少的一部分。這里主要支持三種方式:系統通知、企業群通知、郵件通知。

智能預警:如何自動化識別異常數據?了解下產品化設計

關于時序預警相關的方法,以及產品化的介紹,就分享這些。這里強調一點,雖然數據看板的時序數據占了大多數,但是仍然有非時序的數據呈現。關于非時序的異常數據該如何鑒定異常呢?這個我們后面找時間再詳細分享。

另外,后面有機會聊聊,BI系統如何在異常判斷的基礎上,進行智能化分析。

#專欄作家#

NK冬至,公眾號:首席數據科學家,人人都是產品經理專欄作家。在金融領域、電商領域有豐富數據及產品經驗。擅長數據分析、數據產品等相關內容。

本文原創發布于人人都是產品經理。未經許可,禁止轉載。

題圖來自Unsplash,基于CC0協議。

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 干貨

    來自北京 回復
  2. 干貨滿滿,感謝大佬!

    來自廣東 回復
  3. 不錯

    來自上海 回復
  4. 來自北京 回復