統計技術

Analysis Workspace 中的異常偵測使用一系列先進的統計技術來判斷是否應將某個觀察值視為異常。

根據報表中使用的日期詳細程度,我們採用 3 種不同統計技術,分別進行每小時、每日、每週/每月異常偵測。各種統計技術概觀如下。

每日詳細程度的異常偵測

對於每日詳細程度報表,演算法會考量數個重要因素,盡可能提供最準確的結果。首先,演演算法會根據演演算法從時間序列模型或極端值偵測模型(稱為功能分段)這兩種類別中選擇的可用資料,決定要套用的模型型別。

時間序列模型選擇是以下列錯誤、趨勢和季節性(ETS)型別的組合為基礎,如Hyndman等所述。 (2008)。 此演算法會特別嘗試下列組合:

  1. ANA (加總錯誤、無趨勢、加總季節性)
  2. AAA (加性錯誤、加性趨勢、加性季節性)
  3. MNM (乘法錯誤、無趨勢、乘法季節性)
  4. MNA (乘法錯誤、無趨勢、加性季節性)
  5. AAN (加總錯誤、加總趨勢、無季節性)

演演算法會選取具有最佳平均絕對百分比誤差(MAPE)的組合,以測試每個組合的適用性。 但是,如果最佳時間序列模型的MAPE大於15%,則會套用功能分段。 一般而言,重複程度高的資料(例如,一週接著一週,或一個月接著一個月)最適合時間序列模型。

在模型選擇之後,演演算法會根據假日和逐年季節性調整結果。 對於假日,演算法會查看在報表日期範圍內是否有下列假日:

  • 陣亡將士
  • 7 月 4 日
  • 感恩節
  • 黑色星期五
  • 網路星期一
  • 12月24至26日
  • 1 年 1 月
  • 12 月 31 日

系統會根據多個客戶資料點中的廣泛統計分析,識別哪些假日的趨勢最能帶來最大數量的客戶,進而選取合適的假日。此清單當然不是對所有客戶或業務週期都詳盡無遺,但套用假日可大幅改善幾乎所有客戶資料集的整體演演算法效能。

選好模型,也確定報表日期範圍內的假日後,演算法會以下列方式進行:

  1. 建構異常參考期。 此異常參考期最多包含報表日期範圍前35天,以及1年前的相符日期範圍。 必要時考慮閏日,並包含可能發生在前一年不同日曆天的任何適用假日。

  2. 根據最新資料,測試目前期間內的假日 (不包括前一年) 是否異常。

  3. 如果目前日期範圍內的假日為異常,則根據前一年的假日,調整目前假日的期望值和信賴區間 (考慮加入之前與之後的各 2 天)。目前假日的校正是根據下列項目的最低平均絕對百分差:

    1. 加總效果
    2. 乘法效果
    3. YoY差異

注意以下範例中聖誕節和新年當天效能的大幅改善:

兩個折線圖顯示有或沒有假日效能的效能變更。

每小時詳細程度的異常偵測

每小時資料依賴的時間序列演算法與每日詳細程度演算法相同。不過,每小時詳細程度又大幅依賴兩個趨勢模式:24 小時週期以及週末/平常日週期。為了擷取這兩個季節性影響,每小時的演演算法會使用上述的相同方法,為週末和工作日建構兩個不同的模型。

每小時趨勢的訓練時段依賴336小時的回顧時段。

每週和每月詳細程度的異常偵測

每週和每月趨勢的表現方式,與以每日或每小時詳細程度為基礎的每週或每日趨勢不同,因此要使用不同的演算法。對於每週和每月,兩步驟的極端值偵測方法稱為廣義極端學生化偏差(GESD)測試。 此測試會考慮結合調整盒形圖方法(發現離群值的非引數方法)的預期異常最大數量,以決定離群值最大數量。 兩步驟為:

  1. 調整盒形圖函數:此函數決定給定輸入資料內的異常值最大數。
  2. GESD 函數:使用步驟 1 的輸出,套用至輸入資料。

接著,假日和YoY季節性異常偵測步驟會從今年的資料中減去去年的資料。 然後使用上述的兩步驟程式再次反複處理資料,以確認異常狀況與季節性相關。 這兩個資料詳細程度都使用選定報表日期範圍的 15 期回溯包含 (15 個月或 15 週) 以及 1 年前的對應日期範圍用以訓練。

recommendation-more-help
080e5213-7aa2-40d6-9dba-18945e892f79