異常點(diǎn)檢測方法

一、基本概念

異常對象被稱作離群點(diǎn)。異常檢測也稱偏差檢測和例外挖掘。

常見的異常成因:數(shù)據(jù)來源于不同的類(異常對象來自于一個與大多數(shù)數(shù)據(jù)對象源(類)不同的源(類)的思想),自然變異,以及數(shù)據(jù)測量或收集誤差。

異常檢測的方法:

(1)基于模型的技術(shù):首先建立一個數(shù)據(jù)模型,異常是那些同模型不能完美擬合的對象;如果模型是簇的集合,則異常是不顯著屬于任何簇的對象;在使用回歸模型時,異常是相對遠(yuǎn)離預(yù)測值的對象。

(2)基于鄰近度的技術(shù):通??梢栽趯ο笾g定義鄰近性度量,異常對象是那些遠(yuǎn)離其他對象的對象。

(3)基于密度的技術(shù):僅當(dāng)一個點(diǎn)的局部密度顯著低于它的大部分近鄰時才將其分類為離群點(diǎn)。


二、異常點(diǎn)檢測的方法

1、統(tǒng)計方法檢測離群點(diǎn)

統(tǒng)計學(xué)方法是基于模型的方法,即為數(shù)據(jù)創(chuàng)建一個模型,并且根據(jù)對象擬合模型的情況來評估它們。大部分用于離群點(diǎn)檢測的統(tǒng)計學(xué)方法都是構(gòu)建一個概率分布模型,并考慮對象有多大可能符合該模型。離群點(diǎn)的概率定義:離群點(diǎn)是一個對象,關(guān)于數(shù)據(jù)的概率分布模型,它具有低概率。這種情況的前提是必須知道數(shù)據(jù)集服從什么分布,如果估計錯誤就造成了重尾分布。異常檢測的混合模型方法:對于異常檢測,數(shù)據(jù)用兩個分布的混合模型建模,一個分布為普通數(shù)據(jù),而另一個為離群點(diǎn)。

聚類和異常檢測目標(biāo)都是估計分布的參數(shù),以最大化數(shù)據(jù)的總似然(概率)。聚類時,使用EM算法估計每個概率分布的參數(shù)。然而,這里提供的異常檢測技術(shù)使用一種更簡單的方法。初始時將所有對象放入普通對象集,而異常對象集為空。然后,用一個迭代過程將對象從普通集轉(zhuǎn)移到異常集,只要該轉(zhuǎn)移能提高數(shù)據(jù)的總似然(其實(shí)等價于把在正常對象的分布下具有低概率的對象分類為離群點(diǎn))。(假設(shè)異常對象屬于均勻分布)。異常對象由這樣一些對象組成,這些對象在均勻分布下比在正常分布下具有顯著較高的概率。

優(yōu)缺點(diǎn):(1)有堅實(shí)的統(tǒng)計學(xué)理論基礎(chǔ),當(dāng)存在充分的數(shù)據(jù)和所用的檢驗(yàn)類型的知識時,這些檢驗(yàn)可能非常有效;(2)對于多元數(shù)據(jù),可用的選擇少一些,并且對于高維數(shù)據(jù),這些檢測可能性很差。

2、基于鄰近度的離群點(diǎn)檢測。

一個對象是異常的,如果它遠(yuǎn)離大部分點(diǎn)。這種方法比統(tǒng)計學(xué)方法更一般、更容易使用,因?yàn)榇_定數(shù)據(jù)集的有意義的鄰近性度量比確定它的統(tǒng)計分布更容易。一個對象的離群點(diǎn)得分由到它的k-最近鄰的距離給定。離群點(diǎn)得分對k的取值高度敏感。如果k太小(例如1),則少量的鄰近離群點(diǎn)可能導(dǎo)致較低的離群點(diǎn)得分;如果k太大,則點(diǎn)數(shù)少于k的簇中所有的對象可能都成了離群點(diǎn)。為了使該方案對于k的選取更具有魯棒性,可以使用k個最近鄰的平均距離。

優(yōu)缺點(diǎn):(1)簡單;(2)缺點(diǎn):基于鄰近度的方法需要O(m^2)時間,大數(shù)據(jù)集不適用;(3)該方法對參數(shù)的選擇也是敏感的;(4)不能處理具有不同密度區(qū)域的數(shù)據(jù)集,因?yàn)樗褂萌珠撝?,不能考慮這種密度的變化。

3、基于密度的離群點(diǎn)檢測。

從基于密度的觀點(diǎn)來說,離群點(diǎn)是在低密度區(qū)域中的對象。一個對象的離群點(diǎn)得分是該對象周圍密度的逆?;诿芏鹊碾x群點(diǎn)檢測與基于鄰近度的離群點(diǎn)檢測密切相關(guān),因?yàn)槊芏韧ǔS绵徑榷x。一種常用的定義密度的方法是,定義密度為到k個最近鄰的平均距離的倒數(shù)。如果該距離小,則密度高,反之亦然。另一種密度定義是使用DBSCAN聚類算法使用的密度定義,即一個對象周圍的密度等于該對象指定距離d內(nèi)對象的個數(shù)。需要小心的選擇d,如果d太小,則許多正常點(diǎn)可能具有低密度,從而具有高離群點(diǎn)得分。如果d太大,則許多離群點(diǎn)可能具有與正常點(diǎn)類似的密度(和離群點(diǎn)得分)。使用任何密度定義檢測離群點(diǎn)具有與基于鄰近度的離群點(diǎn)方案類似的特點(diǎn)和局限性。特殊地,當(dāng)數(shù)據(jù)包含不同密度的區(qū)域時,它們不能正確的識別離群點(diǎn)。

為了正確的識別這種數(shù)據(jù)集中的離群點(diǎn),我們需要與對象鄰域相關(guān)的密度概念,也就是定義相對密度。常見的有兩種方法:(1)使用基于SNN密度的聚類算法使用的方法;(2)用點(diǎn)x的密度與它的最近鄰y的平均密度之比作為相對密度。


使用相對密度的離群點(diǎn)檢測(局部離群點(diǎn)要素LOF技術(shù)):首先,對于指定的近鄰個數(shù)(k),基于對象的最近鄰計算對象的密度density(x,k) ,由此計算每個對象的離群點(diǎn)得分;然后,計算點(diǎn)的鄰近平均密度,并使用它們計算點(diǎn)的平均相對密度。這個量指示x是否在比它的近鄰更稠密或更稀疏的鄰域內(nèi),并取作x的離群點(diǎn)得分(這個是建立在上面的離群點(diǎn)得分基礎(chǔ)上的)。

優(yōu)缺點(diǎn):

(1)給出了對象是離群點(diǎn)的定量度量,并且即使數(shù)據(jù)具有不同的區(qū)域也能夠很好的處理;

(2)與基于距離的方法一樣,這些方法必然具有O(m2)的時間復(fù)雜度。對于低維數(shù)據(jù)使用特定的數(shù)據(jù)結(jié)構(gòu)可以達(dá)到O(mlogm);

(3)參數(shù)選擇是困難的。雖然LOF算法通過觀察不同的k值,然后取得最大離群點(diǎn)得分來處理該問題,但是,仍然需要選擇這些值的上下界。

4、基于聚類的技術(shù)

一種利用聚類檢測離群點(diǎn)的方法是丟棄遠(yuǎn)離其他簇的小簇。這個方法可以和其他任何聚類技術(shù)一起使用,但是需要最小簇大小和小簇與其他簇之間距離的閾值。這種方案對簇個數(shù)的選擇高度敏感。使用這個方案很難將離群點(diǎn)得分附加到對象上。一種更系統(tǒng)的方法,首先聚類所有對象,然后評估對象屬于簇的程度(離群點(diǎn)得分)(基于原型的聚類可用離中心點(diǎn)的距離來評估,對具有目標(biāo)函數(shù)的聚類技術(shù)該得分反映刪除對象后目標(biāo)函數(shù)的改進(jìn)(這個可能是計算密集的))。基于聚類的離群點(diǎn):一個對象是基于聚類的離群點(diǎn),如果該對象不強(qiáng)屬于任何簇。離群點(diǎn)對初始聚類的影響:如果通過聚類檢測離群點(diǎn),則由于離群點(diǎn)影響聚類,存在一個問題:結(jié)構(gòu)是否有效。為了處理該問題,可以使用如下方法:對象聚類,刪除離群點(diǎn),對象再次聚類(這個不能保證產(chǎn)生最優(yōu)結(jié)果)。還有一種更復(fù)雜的方法:取一組不能很好的擬合任何簇的特殊對象,這組對象代表潛在的離群點(diǎn)。隨著聚類過程的進(jìn)展,簇在變化。不再強(qiáng)屬于任何簇的對象被添加到潛在的離群點(diǎn)集合;而當(dāng)前在該集合中的對象被測試,如果它現(xiàn)在強(qiáng)屬于一個簇,就可以將它從潛在的離群點(diǎn)集合中移除。聚類過程結(jié)束時還留在該集合中的點(diǎn)被分類為離群點(diǎn)(這種方法也不能保證產(chǎn)生最優(yōu)解,甚至不比前面的簡單算法好,在使用相對距離計算離群點(diǎn)得分時,這個問題特別嚴(yán)重)。

對象是否被認(rèn)為是離群點(diǎn)可能依賴于簇的個數(shù)(如k很大時的噪聲簇)。該問題也沒有簡單的答案。一種策略是對于不同的簇個數(shù)重復(fù)該分析。另一種方法是找出大量小簇,其想法是(1)較小的簇傾向于更加凝聚,(2)如果存在大量小簇時一個對象是離群點(diǎn),則它多半是一個真正的離群點(diǎn)。不利的一面是一組離群點(diǎn)可能形成小簇而逃避檢測。

優(yōu)缺點(diǎn):

(1)基于線性和接近線性復(fù)雜度(k均值)的聚類技術(shù)來發(fā)現(xiàn)離群點(diǎn)可能是高度有效的;

(2)簇的定義通常是離群點(diǎn)的補(bǔ),因此可能同時發(fā)現(xiàn)簇和離群點(diǎn);

(3)?產(chǎn)生的離群點(diǎn)集和它們的得分可能非常依賴所用的簇的個數(shù)和數(shù)據(jù)中離群點(diǎn)的存在性;

(4)聚類算法產(chǎn)生的簇的質(zhì)量對該算法產(chǎn)生的離群點(diǎn)的質(zhì)量影響非常大。


新穎性和離群值檢測

離群值檢測:訓(xùn)練數(shù)據(jù)包含離群值,即與其他觀測值相距甚遠(yuǎn)的觀測值。離群檢測估計器會嘗試擬合訓(xùn)練數(shù)據(jù)最集中的區(qū)域,忽略異常觀察。

新穎性檢測:訓(xùn)練數(shù)據(jù)不受異常值的污染,有興趣檢測新觀察值是否是異常值。該情況下離群值也稱為新穎性。

離群值檢測和新穎性檢測均用于異常檢測,離群值檢測稱為無監(jiān)督異常檢測,新穎性檢測稱為半監(jiān)督異常檢測。離群值檢測的情況下,離群值/異常不能形成密集的群集,可假設(shè)離群值/異常位于低密度區(qū)域;新穎性檢測的情況下,只要新穎性/異常位于訓(xùn)練數(shù)據(jù)的低密度區(qū)域,就可以形成密集的簇。

通過對玩具數(shù)據(jù)集進(jìn)行異常檢測比較異常檢測算法

數(shù)據(jù)集中包含一種或兩種模式(高密度區(qū)域),以說明算法處理多模式數(shù)據(jù)的能力。

對于每個數(shù)據(jù)集,將生成15%的樣本作為隨機(jī)均勻噪聲。該比例是OneClassSVM的nu參數(shù)和其他異常值檢測算法的污染參數(shù)提供的值。離群值之間的決策邊界以黑色顯示,但是LOF除外,因?yàn)楫?dāng)采用LOF用于離群值檢測時,沒有適用于新數(shù)據(jù)的預(yù)測方法。

OneClassSVM對異常值敏感,對異常值檢測執(zhí)行的不好。當(dāng)訓(xùn)練集不受異常值污染時,此估計器最適合新穎性檢測。即不適用在高維中進(jìn)行離群值檢測或者不對基礎(chǔ)數(shù)據(jù)的分布進(jìn)行任何假設(shè),OneClassSVM在這些情況下可能會根據(jù)其超參數(shù)給出有用的結(jié)果。

covariance EllipticEnvelope(協(xié)方差橢圓密度)假定數(shù)據(jù)是高斯分布并學(xué)習(xí)一個橢圓。在數(shù)據(jù)不是單峰時,會退化。此估計器對異常值具有魯棒性。

IsolationFrorest和LocalOutlierFactor針對多模式數(shù)據(jù)集效果顯著。LOF針對第三種數(shù)據(jù)集,明顯優(yōu)于其它三種估計器,該數(shù)據(jù)集中兩種模式的密度不同。LOF的局部方面,即它僅將一個樣本的異常評分與其鄰居評分作比較,從何體現(xiàn)了該方法的優(yōu)勢。

針對最后一個均勻分布在超立方體中的數(shù)據(jù)集,很難說一個樣本比另一個樣本異常得多。除了OneClassSVM有些過擬合外,所有估計器都針對該情況提出不錯的解決方案。針對這種情況,應(yīng)該仔細(xì)觀察樣本的異常分?jǐn)?shù),性能好的估算器應(yīng)該為所有樣本分配相似的分?jǐn)?shù)。

使用局部離群因子(LOF)進(jìn)行離群值檢測

LOF算法是一種無監(jiān)督的異常檢測方法,可計算給定數(shù)據(jù)點(diǎn)相對于其鄰居的局部密度偏差。其中密度遠(yuǎn)低于其鄰居的樣本為異常值。

LOF算法的優(yōu)勢在于同時考慮了數(shù)據(jù)集的局部和全局屬性:即使在異常樣本具有不同底層密度的數(shù)據(jù)集中,仍能保持良好性能。問題不在于樣本有多孤立,而在于樣本相對于周圍鄰域有多孤立。

通常考慮的鄰居數(shù)量(1)大于群集必須包含的最小樣本數(shù)量,以便其他樣本可以是相對于該群集的局部離散值;(2)小于可能是局部異常值的最大進(jìn)距采樣數(shù),此類消息通常不可用,采用n_neighbors=20。

具有局部異常值的新穎性檢驗(yàn)

LOF是一種無監(jiān)督的異常檢測方法,可計算給定數(shù)據(jù)點(diǎn)相對于其鄰居的局部密度偏差,密度遠(yuǎn)低于其鄰居的樣本為異常值。LOF用于新穎性檢驗(yàn)時,切勿在訓(xùn)練集上使用預(yù)測、決定函數(shù)、實(shí)例得分,會導(dǎo)致結(jié)果錯誤。只能對新的看不見的數(shù)據(jù)(不在訓(xùn)練集中)使用這些方法。

通??紤]鄰居數(shù)量(1)大于群集必須包含的最小樣本數(shù),以便其他樣本可以是相對于該群集的局部離群值;(2)小于可能是局部異常值的最大進(jìn)距采樣數(shù),此類消息通常不可用,采用n_neighbors=20。

隔離林

在高維數(shù)據(jù)集中執(zhí)行異常檢測的一種有效方法是使用隨機(jī)森林,分離的觀察通過隨機(jī)選擇一個函數(shù),隨機(jī)選擇所選擇的特征的最大值和最小值之間的分割值。遞歸分區(qū)可用樹結(jié)構(gòu)表示,隔離樣本所需的拆分?jǐn)?shù)量等于從根節(jié)點(diǎn)到終止結(jié)點(diǎn)的路徑長度。隨機(jī)樹的森林中的平均路徑長度是對正態(tài)性和決策函數(shù)的度量。隨機(jī)分區(qū)產(chǎn)生的異常路徑明顯較短,因此如果隨機(jī)樹森林為特定樣本生成的較短路徑,則該樹代表的值很可能是異常的。

OneClassSVM

無監(jiān)督的離群值檢測,支持高維分布,基于libsvm

不假定數(shù)據(jù)分布的任何參數(shù)形式,可以更好的對數(shù)據(jù)的復(fù)雜形狀進(jìn)行建模,能夠捕獲真實(shí)的數(shù)據(jù)結(jié)構(gòu),難點(diǎn)在于調(diào)整核函數(shù)寬度參數(shù),以便在數(shù)據(jù)散布矩陣的形狀和數(shù)據(jù)過度擬合的風(fēng)險間取得折中。

協(xié)方差橢圓密度

用于檢測高斯分布數(shù)據(jù)集中的異常值的對象

經(jīng)驗(yàn)協(xié)方差估計(作為非穩(wěn)健估計)受到觀測值異質(zhì)結(jié)構(gòu)的高度影響;魯棒協(xié)方差估計能夠集中于數(shù)據(jù)分布的主要模式,但是它堅持假設(shè)數(shù)據(jù)是高斯分布,產(chǎn)生了對數(shù)據(jù)結(jié)構(gòu)的某些估計,在一定程度上是準(zhǔn)確的。


HBOS單維效果極佳,但是標(biāo)準(zhǔn)差方法的mask 掩碼效應(yīng)嚴(yán)重。例如 數(shù)據(jù)通常在100以內(nèi),但是有兩個異常點(diǎn),500,1000000。這個算法就不能檢出500這個異常點(diǎn)。

對比而言,孤立森林理論上更適合大數(shù)據(jù)的異常檢測,且無掩碼效應(yīng)。孤立森林確定異常時訓(xùn)練只用樣本數(shù)據(jù)。每顆樹樣本數(shù)量默認(rèn)只有256個,默認(rèn)只用100顆樹。所以理論上25600個樣本就能確定海量數(shù)據(jù)中的異常點(diǎn)了。

Sklearn的 isolation forest 例子默認(rèn)是讀入全量數(shù)據(jù)再采樣。如果配上warm up 選項(xiàng)就能分批放入采樣。

異常檢測的深度學(xué)習(xí)研究綜述


與基于深度學(xué)習(xí)的異常檢測技術(shù)相關(guān)的關(guān)鍵組件圖


基于分類類型的深度學(xué)習(xí)異常檢測模型
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容