В
應用
異常檢測用於以下領域:
1)設備故障預測
因此,2010年,伊朗離心機遭到震網病毒攻擊,導致設備進入非最佳運作狀態,部分設備因加速磨損而癱瘓。
如果在設備上使用異常檢測演算法,則可以避免故障情況。
尋找設備運作中的異常不僅用於核工業,還用於冶金和飛機渦輪機的運作。 在其他領域,使用預測診斷比由於不可預測的故障而可能造成的損失更便宜。
2)詐欺預測
如果從您在阿爾巴尼亞波多利斯克使用的卡片中提取資金,交易可能需要進一步檢查。
3)異常消費模式識別
如果某些客戶表現出異常行為,則可能存在您沒有意識到的問題。
4)異常需求和負載識別
如果快速消費品商店的銷售額低於預測的置信區間,則值得找出發生這種情況的原因。
識別異常的方法
1)具有一類一類SVM的支援向量機
適用於訓練集中的資料服從常態分佈,但測試集中包含異常情況。
一類支援向量機在原點周圍構造一個非線性曲面。 可以設定資料被視為異常的截止限制。
根據我們 DATA4 團隊的經驗,One-Class SVM 是解決發現異常問題最常用的演算法。
2)隔離森林法
採用「隨機」造樹方法,排放物將在早期階段(在樹的較淺深度)進入葉子,即排放更容易「隔離」。 異常值的隔離發生在演算法的第一次迭代中。
3)橢圓包絡線及統計方法
當資料呈常態分佈時使用。 測量值越接近混合分佈的尾部,該值越異常。
其他統計方法也可以包含在此類中。
圖片來自 dyakonov.org
4) 公制方法
方法包括 k-近鄰、k-近鄰、ABOD(基於角度的異常值偵測)或 LOF(局部異常值因子)等演算法。
如果特徵中的數值之間的距離相等或標準化(以免測量鸚鵡中的蟒蛇),則適用。
k近鄰演算法假設正常值位於多維空間的某個區域,且到異常點的距離將大於到分離超平面的距離。
5)聚類方法
聚類方法的本質是,如果一個值距離聚類中心超過一定量,則該值可以被認為是異常的。
最主要的是使用正確聚類資料的演算法,這取決於具體任務。
6) 主成分法
適用於突顯色散變化最大的方向的情況。
7)基於時間序列預測的演算法
這個想法是,如果一個值落在預測置信區間之外,則該值被視為異常。 為了預測時間序列,使用了三重平滑、S(ARIMA)、boosting 等演算法。
時間序列預測演算法在上一篇文章中討論過。
8)監督學習(迴歸、分類)
如果資料允許,我們會使用從線性迴歸到循環網路的各種演算法。 讓我們衡量一下預測值與實際值之間的差異,並得出數據偏離常態的程度的結論。 重要的是演算法具有足夠的泛化能力且訓練集不包含異常值。
9) 模型試驗
讓我們將搜尋異常的問題視為搜尋建議的問題。 讓我們使用 SVD 或分解機來分解我們的特徵矩陣,並將新矩陣中與原始矩陣顯著不同的值視為異常。
圖片來自 dyakonov.org
結論
在本文中,我們回顧了異常檢測的主要方法。
發現異常在許多方面都可以稱為一門藝術。 不存在可以解決所有問題的理想演算法或方法。 更多時候,使用一組方法來解決特定情況。 異常檢測是使用一類支援向量機、隔離森林、度量和聚類方法以及使用主成分和時間序列預測來進行的。
如果您知道其他方法,請在文章的評論中寫下它們。
來源: www.habr.com