㈠ 四分位間距
四分位間距是一種被廣泛接受的在數據中尋找異常值的方法。
使用四分位距或IQR時,完整數據集被分成四個相等的部分或四分位數。四分位數之間的距離用於確定IQR。這是它的工作原理。假設有一個非常多樣化的15個朋友,他們的年齡如下:31、21、 26、30、31、45、47、32、53、54、55、38、43、57、64。如果要找到IQR,將執行以下操作:
1、按年齡從小到大排序。
2、找到中間值並在此之上和之下創建一個組。
3、為每個創建的組找到中間值。
4、找出上下組中間的差異。
現在,IQR的1點5倍為6。任何低於25或高於41的值都將被視為異常值。現在,21、57和64歲的朋友被認為是異常值。
㈡ 如何判別測量數據中是否有異常值
一般異常值的檢測方法有基於統計的方法,基於聚類的方法,以及一些專門檢測異常值的方法等,下面對這些方法進行相關的介紹。
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. 專門的離群點檢測
其實以上說到聚類方法的本意是是無監督分類,並不是為了尋找離群點的,只是恰好它的功能可以實現離群點的檢測,算是一個衍生的功能。
㈢ 四分位距的定義
四分位距通常是用來構建箱形圖,以及對概率分布的簡要圖表概述。對一個對稱性分布數據(其中位數必然等於第三四分位數與第一四分位數的算術平均數),二分之一的四分差等於絕對中位差(MAD)。中位數是集中趨勢的反映。
公式:IQR = Q3 − Q1
基本步驟:(1) 用中位值作為公議值 計算過程如下: 首先將數據列從小到大排列X {l } , X {2},...,X{N}。若數據數目為奇數則中位數M為X{};如果數據數目為偶數則中位數為(X{}+X{})/2
(2)設A=(N+1)/4,B=3(N+1)/4,用[ ]表示整數部分,則:
下四分位 Q1=X{[A]}+(A-[A])(X{[A]+2}-X{[A]+1})
上四分位 Q3=X{[B]}+(B-[B])(X{[B]+2}-X{[B]+1})
若需要歸一化則NIQR=IQR0.7413
㈣ python pandas的describe的25%是什麼意思
25%, 50%和75%是對應的四分位數。
四分位數(Quartile)是指在統計學中把所有數值由小到大排列並分成四等份,處於三個分割點位置的數值。
第一四分位數 (Q1),又稱「較小四分位數」,等於該樣本中所有數值由小到大排列後第25%的數字。
第二四分位數 (Q2),又稱「中位數」,等於該樣本中所有數值由小到大排列後第50%的數字。
第三四分位數 (Q3),又稱「較大四分位數」,等於該樣本中所有數值由小到大排列後第75%的數字。
第三四分位數與第一四分位數的差距又稱四分位距(InterQuartile Range,IQR)。