導航:首頁 > 解決方法 > 離群點檢測方法

離群點檢測方法

發布時間:2023-01-21 23:44:06

A. 異常點檢測方法

一、基本概念

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

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

異常檢測的方法:

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

(2)基於鄰近度的技術:通常可以在對象之間定義鄰近性度量,異常對象是那些遠離其他對象的對象。

(3)基於密度的技術:僅當一個點的局部密度顯著低於它的大部分近鄰時才將其分類為離群點。

二、異常點檢測的方法

1、統計方法檢測離群點

統計學方法是基於模型的方法,即為數據創建一個模型,並且根據對象擬合模型的情況來評估它們。大部分用於離群點檢測的統計學方法都是構建一個概率分布模型,並考慮對象有多大可能符合該模型。離群點的概率定義:離群點是一個對象,關於數據的概率分布模型,它具有低概率。這種情況的前提是必須知道數據集服從什麼分布,如果估計錯誤就造成了重尾分布。異常檢測的混合模型方法:對於異常檢測,數據用兩個分布的混合模型建模,一個分布為普通數據,而另一個為離群點。

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

優缺點:(1)有堅實的統計學理論基礎,當存在充分的數據和所用的檢驗類型的知識時,這些檢驗可能非常有效;(2)對於多元數據,可用的選擇少一些,並且對於高維數據,這些檢測可能性很差。

2、基於鄰近度的離群點檢測。

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

優缺點:(1)簡單;(2)缺點:基於鄰近度的方法需要O(m^2)時間,大數據集不適用;(3)該方法對參數的選擇也是敏感的;(4)不能處理具有不同密度區域的數據集,因為它使用全局閾值,不能考慮這種密度的變化。

3、基於密度的離群點檢測。

從基於密度的觀點來說,離群點是在低密度區域中的對象。一個對象的離群點得分是該對象周圍密度的逆。基於密度的離群點檢測與基於鄰近度的離群點檢測密切相關,因為密度通常用鄰近度定義。一種常用的定義密度的方法是,定義密度為到k個最近鄰的平均距離的倒數。如果該距離小,則密度高,反之亦然。另一種密度定義是使用DBSCAN聚類演算法使用的密度定義,即一個對象周圍的密度等於該對象指定距離d內對象的個數。需要小心的選擇d,如果d太小,則許多正常點可能具有低密度,從而具有高離群點得分。如果d太大,則許多離群點可能具有與正常點類似的密度(和離群點得分)。使用任何密度定義檢測離群點具有與基於鄰近度的離群點方案類似的特點和局限性。特殊地,當數據包含不同密度的區域時,它們不能正確的識別離群點。

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

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

優缺點:

(1)給出了對象是離群點的定量度量,並且即使數據具有不同的區域也能夠很好的處理;

(2)與基於距離的方法一樣,這些方法必然具有O(m2)的時間復雜度。對於低維數據使用特定的數據結構可以達到O(mlogm);

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

4、基於聚類的技術

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

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

優缺點:

(1)基於線性和接近線性復雜度(k均值)的聚類技術來發現離群點可能是高度有效的;

(2)簇的定義通常是離群點的補,因此可能同時發現簇和離群點;

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

(4)聚類演算法產生的簇的質量對該演算法產生的離群點的質量影響非常大。

新穎性和離群值檢測

離群值檢測:訓練數據包含離群值,即與其他觀測值相距甚遠的觀測值。離群檢測估計器會嘗試擬合訓練數據最集中的區域,忽略異常觀察。

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

離群值檢測和新穎性檢測均用於異常檢測,離群值檢測稱為無監督異常檢測,新穎性檢測稱為半監督異常檢測。離群值檢測的情況下,離群值/異常不能形成密集的群集,可假設離群值/異常位於低密度區域;新穎性檢測的情況下,只要新穎性/異常位於訓練數據的低密度區域,就可以形成密集的簇。

通過對玩具數據集進行異常檢測比較異常檢測演算法

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

對於每個數據集,將生成15%的樣本作為隨機均勻雜訊。該比例是OneClassSVM的nu參數和其他異常值檢測演算法的污染參數提供的值。離群值之間的決策邊界以黑色顯示,但是LOF除外,因為當採用LOF用於離群值檢測時,沒有適用於新數據的預測方法。

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

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

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

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

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

LOF演算法是一種無監督的異常檢測方法,可計算給定數據點相對於其鄰居的局部密度偏差。其中密度遠低於其鄰居的樣本為異常值。

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

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

具有局部異常值的新穎性檢驗

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

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

隔離林

在高維數據集中執行異常檢測的一種有效方法是使用隨機森林,分離的觀察通過隨機選擇一個函數,隨機選擇所選擇的特徵的最大值和最小值之間的分割值。遞歸分區可用樹結構表示,隔離樣本所需的拆分數量等於從根節點到終止結點的路徑長度。隨機樹的森林中的平均路徑長度是對正態性和決策函數的度量。隨機分區產生的異常路徑明顯較短,因此如果隨機樹森林為特定樣本生成的較短路徑,則該樹代表的值很可能是異常的。

OneClassSVM

無監督的離群值檢測,支持高維分布,基於libsvm

不假定數據分布的任何參數形式,可以更好的對數據的復雜形狀進行建模,能夠捕獲真實的數據結構,難點在於調整核函數寬度參數,以便在數據散布矩陣的形狀和數據過度擬合的風險間取得折中。

協方差橢圓密度

用於檢測高斯分布數據集中的異常值的對象

經驗協方差估計(作為非穩健估計)受到觀測值異質結構的高度影響;魯棒協方差估計能夠集中於數據分布的主要模式,但是它堅持假設數據是高斯分布,產生了對數據結構的某些估計,在一定程度上是准確的。

HBOS單維效果極佳,但是標准差方法的mask 掩碼效應嚴重。例如 數據通常在100以內,但是有兩個異常點,500,1000000。這個演算法就不能檢出500這個異常點。

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

Sklearn的 isolation forest 例子默認是讀入全量數據再采樣。如果配上warm up 選項就能分批放入采樣。

異常檢測的深度學習研究綜述

B. 數據挖掘之離群點檢測的方法

離群點檢測是數據挖掘中重要的一部分,它的任務是發現與大部分其他對象顯著不同的對象。大部分數據挖掘方法都將這種差異信息視為雜訊而丟棄,然而在一些應用中,罕見的數據可能蘊含著更大的研究價值。

離群點的檢測已經被廣泛應用於電信和信用卡的詐騙檢測、貸款審批、電子商務、網路入侵和天氣預報等領域。

離群點的主要成因有:數據來源於不同的類、自然變異、數據測量和手機誤差。

從數據范圍來看,分為全局離群點和局部離群點,整體來看,某些對象沒有離群特徵,但是從局部來看,卻顯示了一定的離群性。

從數據類型來看,分為數值型離群點和分類型離群點,這是以數據集的屬性類型進行劃分的。

從屬性的個數來看,分為一維離群點和多維離群點,一個對象可能有一個或多個屬性。

大部分的基於統計的離群點檢測方法是構建一個概率分布模型,並計算對象符合該模型的概率,把具有低概率的對象視為離群點。基於統計模型的離群點檢測方法的前提是必須知道數據集服從什麼分布;對於高維數據,檢驗效果可能很差。

通常可以在數據對象之間定義鄰近性度量,把原理大部分點的對象視為離群點。二位或三維的數據可以做散點圖觀察;大數據集不適用;對參數選擇敏感;具有全局閾值,不能處理具有不同密度區域的數據集

考慮數據集可能存在不同密度區域這一事實,從基於密度的觀點分析,離群點是在低密度區域中的對象。一個對象的離群點得分是該對象周圍密度的逆。給出了對象是離群點的定量度量,並且即使數據具有不同的區域也能夠很好的處理;大數據集不適用;參數選擇是困難的。

一種利用聚類檢測離群點的方法是丟棄遠離其他簇的小簇;另一種更系統的方法,首先聚類所有帝鄉,然後評估對象屬於簇的程度。基於聚類技術來發現離群點可能是高度有效的;聚類演算法產生的簇的質量對該演算法產生的離群點的質量影響非常大。

基於統計模型的離群點檢測方法需要滿足統計學原理,如果分布一直,則檢驗可能非常有效。基於鄰近度的離群點檢測方法比統計學方法更一般、更容易使用,因為確定數據集有意義的鄰近度量比確定他的統計分布更容易。基於密度的離群點檢測與基於鄰近度的離群點檢測密切相關,因為密度常用鄰近度定義:一種是定義密度為到K個最鄰近的平均距離的倒數,如果該距離小,則密度高;另一種是使用DBSCAN聚類演算法,一個對象周圍的密度等於該對象指定距離d內對象的個數。

C. 如何判斷和處理離群點

用殘差分析,常用標准化殘差圖,以本人未在正負3個標准差意外區域出現的點為離群點,正負2個標准差以外為可能離群點。

D. 如何判別測量數據中是否有異常值

一般異常值的檢測方法有基於統計的方法,基於聚類的方法,以及一些專門檢測異常值的方法等,下面對這些方法進行相關的介紹。

1. 簡單統計

如果使用pandas,我們可以直接使用describe()來觀察數據的統計性描述(只是粗略的觀察一些統計量),不過統計數據為連續型的,如下:

df.describe()紅色箭頭所指就是異常值。

以上是常用到的判斷異常值的簡單方法。下面來介紹一些較為復雜的檢測異常值演算法,由於涉及內容較多,僅介紹核心思想,感興趣的朋友可自行深入研究。

4. 基於模型檢測

這種方法一般會構建一個概率分布模型,並計算對象符合該模型的概率,把具有低概率的對象視為異常點。如果模型是簇的集合,則異常是不顯著屬於任何簇的對象;如果模型是回歸時,異常是相對遠離預測值的對象。

離群點的概率定義:離群點是一個對象,關於數據的概率分布模型,它具有低概率。這種情況的前提是必須知道數據集服從什麼分布,如果估計錯誤就造成了重尾分布。

比如特徵工程中的RobustScaler方法,在做數據特徵值縮放的時候,它會利用數據特徵的分位數分布,將數據根據分位數劃分為多段,只取中間段來做縮放,比如只取25%分位數到75%分位數的數據做縮放。這樣減小了異常數據的影響。

優缺點:(1)有堅實的統計學理論基礎,當存在充分的數據和所用的檢驗類型的知識時,這些檢驗可能非常有效;(2)對於多元數據,可用的選擇少一些,並且對於高維數據,這些檢測可能性很差。

5. 基於近鄰度的離群點檢測

統計方法是利用數據的分布來觀察異常值,一些方法甚至需要一些分布條件,而在實際中數據的分布很難達到一些假設條件,在使用上有一定的局限性。

確定數據集的有意義的鄰近性度量比確定它的統計分布更容易。這種方法比統計學方法更一般、更容易使用,因為一個對象的離群點得分由到它的k-最近鄰(KNN)的距離給定。

需要注意的是:離群點得分對k的取值高度敏感。如果k太小,則少量的鄰近離群點可能導致較低的離群點得分;如果K太大,則點數少於k的簇中所有的對象可能都成了離群點。為了使該方案對於k的選取更具有魯棒性,可以使用k個最近鄰的平均距離。

優缺點:(1)簡單;(2)缺點:基於鄰近度的方法需要O(m2)時間,大數據集不適用;(3)該方法對參數的選擇也是敏感的;(4)不能處理具有不同密度區域的數據集,因為它使用全局閾值,不能考慮這種密度的變化。

5. 基於密度的離群點檢測

從基於密度的觀點來說,離群點是在低密度區域中的對象。基於密度的離群點檢測與基於鄰近度的離群點檢測密切相關,因為密度通常用鄰近度定義。一種常用的定義密度的方法是,定義密度為到k個最近鄰的平均距離的倒數。如果該距離小,則密度高,反之亦然。另一種密度定義是使用DBSCAN聚類演算法使用的密度定義,即一個對象周圍的密度等於該對象指定距離d內對象的個數。

優缺點:(1)給出了對象是離群點的定量度量,並且即使數據具有不同的區域也能夠很好的處理;(2)與基於距離的方法一樣,這些方法必然具有O(m2)的時間復雜度。對於低維數據使用特定的數據結構可以達到O(mlogm);(3)參數選擇是困難的。雖然LOF演算法通過觀察不同的k值,然後取得最大離群點得分來處理該問題,但是,仍然需要選擇這些值的上下界。

6. 基於聚類的方法來做異常點檢測

基於聚類的離群點:一個對象是基於聚類的離群點,如果該對象不強屬於任何簇,那麼該對象屬於離群點。

離群點對初始聚類的影響:如果通過聚類檢測離群點,則由於離群點影響聚類,存在一個問題:結構是否有效。這也是k-means演算法的缺點,對離群點敏感。為了處理該問題,可以使用如下方法:對象聚類,刪除離群點,對象再次聚類(這個不能保證產生最優結果)。

優缺點:(1)基於線性和接近線性復雜度(k均值)的聚類技術來發現離群點可能是高度有效的;(2)簇的定義通常是離群點的補,因此可能同時發現簇和離群點;(3)產生的離群點集和它們的得分可能非常依賴所用的簇的個數和數據中離群點的存在性;(4)聚類演算法產生的簇的質量對該演算法產生的離群點的質量影響非常大。

7. 專門的離群點檢測

其實以上說到聚類方法的本意是是無監督分類,並不是為了尋找離群點的,只是恰好它的功能可以實現離群點的檢測,算是一個衍生的功能。

E. 什麼是基於聚類的離群點監測方法

本論文提出來一個聚類方法用以檢測離群點。通過使用k均值聚類演算法來從數據集中劃分聚類。離聚類中心比較近的點不太可能是離群點,同時我們可以從聚類中去除掉這些點。接下來計算剩下的點和離群點的距離。需要計算的離群點度的降低可能是由於一些點的去除。我們聲明離群度最高的點作為離群點。實驗數據使用真實數據集,並論證得知,即使所計算的數據比較少,但所提出的方法比現存的方法優越。

F. 離群因子怎麼

離群因子演算法主要有基於統計、聚類、分類、資訊理論、距離、密度等相關的方法。
其中演算法思想是局部離群因子(LOF,又叫局部異常因子)演算法是Breunig於2000年提出的一種基於密度的局部離群點檢測演算法,該方法適用於不同類簇密度分散情況迥異的數據。如下圖中,集合C1是低密度區域,集合C2是高密度區域,依據傳統的基於密度的離群點檢測演算法,點p與C2中鄰近點的距離小於C1中任何一個數據點與其鄰近點的距離,點p會被看作是正常的點,而在局部來看,點p卻是事實上的孤立點,LOF演算法即可以有效地實現對該種情形的離群點檢測。

閱讀全文

與離群點檢測方法相關的資料

熱點內容
尋找真愛有哪些方法 瀏覽:552
如何才是最好的減肥方法 瀏覽:509
頭孢拉定鑒別顯色的方法是 瀏覽:962
電腦手機在線連接方法 瀏覽:629
什麼方法治扁平疣 瀏覽:336
公主蛋糕怎麼做的方法 瀏覽:401
打開膏肓穴有哪些方法 瀏覽:583
腈綸可用什麼方法鑒別 瀏覽:96
足球對抗技戰術訓練方法180例 瀏覽:170
枕套的正確安裝方法 瀏覽:296
工程資料教學方法 瀏覽:93
治療青胎記最好的方法 瀏覽:332
腎陽虛腹瀉最快治療方法 瀏覽:136
吊扇變速器的安裝方法 瀏覽:298
如何選擇生茶存放方法和條件 瀏覽:525
讓頭發直有哪些方法 瀏覽:470
大腸菌群檢測方法實驗報告 瀏覽:850
把手機變成高逼格的方法 瀏覽:259
晶片拋光有哪些方法 瀏覽:546
籃球運動的訓練方法 瀏覽:84