檢測異常的 9 種方法

В 上一篇文章 我們討論了時間序列預測。合乎邏輯的延續將是一篇關於識別異常的文章。

應用

異常檢測用於以下領域:

1)設備故障預測

因此,2010年,伊朗離心機遭到震網病毒的攻擊,導致設備運作模式非最優,加速磨損,造成部分設備無法使用。

如果設備使用了異常檢測演算法,就可以避免故障狀況。

檢測異常的 9 種方法

尋找設備運作中的異常不僅用於核工業,還用於冶金和飛機渦輪機的運作。在其他領域,使用預測診斷比發生不可預測的故障時可能造成的損失更便宜。

2)詐欺活動的預測

如果您從在阿爾巴尼亞波多利斯克使用的卡片中提取資金,則交易可能需要額外的驗證。

3)識別異常消費模式

如果您的某些客戶表現出異常行為,則可能存在您尚未意識到的問題。

4)異常需求和負載的識別

如果快速消費品商店的銷售額低於預測置信區間,則值得找出發生這種情況的原因。

檢測異常的方法

1)單類SVM

當訓練集資料遵循常態分佈,而測試集包含異常時適用。

一類支援向量機圍繞原點建構非線性曲面。可以為被視為異常的資料設定截止值。

根據我們DATA4團隊的經驗,One-Class SVM是解決異常檢測問題最常用的演算法。

檢測異常的 9 種方法

2)隔離森林法

採用「隨機」方法建構樹,排放將在早期階段(樹的較淺深度)落入葉子中,即排放更容易「隔離」。異常值的選擇發生在演算法的第一次迭代期間。

檢測異常的 9 種方法

3)橢圓包絡與統計方法

當資料呈常態分佈時使用。測量值越接近混合分佈的尾部,數值就越異常。

其他統計方法也可以包含在此類中。

檢測異常的 9 種方法

檢測異常的 9 種方法
圖片來自dyakonov.org

4)度量方法

這些方法包括 k 最近鄰、k-th 最近鄰、ABOD(基於角度的異常值檢測)或 LOF(局部異常值因子)等演算法。

如果特徵中的值之間的距離相等或標準化(以便不會測量鸚鵡中的蟒蛇),則適用。

k-最近鄰演算法假設正常值位於多維空間的某個區域內,到異常的距離將大於到分離超平面的距離。

檢測異常的 9 種方法

5)聚類方法

聚類方法的本質是,如果一個值與聚類中心的距離超過某一值,則可以認為該值是異常的。

最主要的是使用一種能夠正確聚類資料的演算法,這取決於特定的任務。

檢測異常的 9 種方法

6)主成分方法

適用於區分色散變化最大的方向。

7)基於時間序列預測的演算法

這個想法是,如果一個值超出預測置信區間,則該值被視為異常值。使用三重平滑、S(ARIMA)、提升等演算法來預測時間序列。

上一篇文章討論了時間序列預測演算法。

檢測異常的 9 種方法

8)監督學習(迴歸、分類)

如果資料允許,我們會使用從線性迴歸到循環網路的演算法。讓我們測量預測值和實際值之間的差異,並得出數據偏離標準值的程度的結論。重要的是演算法具有足夠的泛化能力並且訓練樣本不包含異常值。

9)模型試驗

讓我們將發現異常的問題視為尋找建議的問題。我們將使用 SVD 或因式分解機來分解我們的特徵矩陣,新矩陣中與原始矩陣有顯著差異的值將被視為異常。

檢測異常的 9 種方法

圖片來自dyakonov.org

結論

在本文中,我們介紹了異常檢測的主要方法。

從很多方面來說,發現異常都可以被視為一門藝術。不存在可以解決所有問題的理想演算法或方法。更多的時候,是用一套方法來解決一個具體的案例。異常檢測使用一類支援向量機、隔離森林、度量和聚類方法以及主成分和時間序列預測來執行。

如果您知道其他方法,請在文章的評論中寫下來。

來源: www.habr.com

為具有 DDoS 保護、VPS VDS 服務器的站點購買可靠的主機 🔥 購買具備 DDoS 防護的可靠網站寄存服務,包括 VPS 和 VDS 伺服器 | ProHoster