©作者 | 曲奇
01 概述通常時序數據的異常值主要分為三類:
02 時序數據常用特征
時序數據常見特征
特征 |
描述 |
周期 (頻率) |
數據出現周而複始的現象 |
趨勢 |
數據呈現上漲、下跌的走勢 |
季節性 |
在一年或者更短的時期内在一個趨勢線上重複性和可預測的變動 |
自相關 |
代表數據之間的相關依賴 |
非線性 |
時間序列中包含了非線性模型表示的複雜數據集 |
偏态 |
測量對稱性,或更加明确地說,缺乏對稱性 |
峰度 |
如果數據相對于正常分布達到峰值或平坦,則采取措施 |
林中小丘 |
衡量時間序列的長期記憶 |
李亞普諾夫指數 |
衡量附近軌迹的發散速度 |
用于建模實驗的常見指标,衡量模型好壞
指标 |
描述 |
Bias |
誤差的算術平均值 |
MAD |
平均絕對偏差,也稱為 MAE |
MAPE |
平均絕對百分比誤差 |
MSE |
誤差的均方 |
SAE |
絕對錯誤的總和 |
ME |
平均誤差 |
MASE |
平均絕對比例誤差 |
MPE |
平均百分比誤差 |
主要分為三大類:
基于統計模型的異常點檢測
基于數據,構建一個概率分布模型,得出模 型的概率密度函數。通常,異常點的概率是很低的。
基于正泰分布的一元異常點檢測
多元正态分布的異常點檢測
對于多元高斯分布檢測,我們希望使用類似于一元高斯分布的方法。例如,如果點關于估計的數據具有低概率,那麼就把它們分類為異常點。
實際上馬氏距離也是統計算法,點到基礎分布的Mahalanobis距離與點的概率直接相關
綜上所述,兩種基于統計模型的異常點檢測方法,需要建立在标準的統計學技術(如分布 參數的估計)之上。這類方法對于低維數據效果可能較好,但是對于高維數據,數據分布非常 複雜,基于統計模型的檢測效果會比較差。
基于鄰近度的異常點檢測
馬氏距離
容易證明:點到數據均值的Mahalanobis距離與點的概率直接相關,等于點的概率密度的對數加上一個常數。因此,可以對Mahalanobis距離進行排序,距離大的,就可以認為是異常點。
KNN
基于密度的異常點檢測
從基于密度的觀點來說,異常點是低密度區域中的對象。
定義密度的方法有以下三種。
逆距離
一個對象的密度為該對象周圍k個最近鄰的平均距離的倒數。
半徑 d 内的個數
即一個對象周圍的密度等于該對象指定半徑 d 内對象的個數。d是人為選擇的,那麼這個d的選擇就很重要了。
相對密度
即用點 x 的密度與它最近鄰 y 的平均密度之比作為相對密度。
獨立森林 Isolation Forest
首先,要理解獨立森林,就必須了解什麼是獨立樹,下文簡稱 iTree 。iTree 是一種随機二 叉樹,每個節點要麼有兩個子節點(稱為左子樹和右子樹),要麼沒有子節點(稱為葉子節點)。給定數據集D,這裡 D 的所有屬性都是連續型變量, iTree 的構成如下:
iTree 構造完成後,接下來對數據進行預測。預測的過程就是把測試記錄從 iTree 根結點開始搜索,确定測試記錄落在哪個葉子節點上。iTree 能檢測異常的假設是:異常點一般都是非常稀有的,在 iTree 中很快會被分到葉子節點上。也就是說,在 iTree 中,異常值一般表現為葉子節點到根節點的路徑 h(x) 很短。因此,可以用 h(x) 來判斷一條記錄是否屬于異常值。
實現中還有注意的點:
綜上所述,獨立森林本質上是一種非監督算法,不需要先驗的類标簽。在處理高維數據時,不是把所有的屬性都用上,而是通過峰度系數(峰度小,長尾太長了,比較難判斷異常;峰度大,則大部分數據集中,方便判斷)挑選一些有價值的屬性,然後再進行 iForest 的構造,算法效果會更好。
顔色越深代表異常值得分越高, 顔色越淺代表異常值得分越低。可以看出,模型預測效果不錯,顔色分布規律與 test 和 outlier 數據集完全吻合。
04 業界實踐
常見的開源的異常監測系統
,
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!