四種檢測異常值的常用技術簡述

2021-10-22 13:33:01 字數 3708 閱讀 1575

在訓練機器學習演算法或應用統計技術時,錯誤值或異常值可能是乙個嚴重的問題,它們通常會造成測量誤差或異常系統條件的結果,因此不具有描述底層系統的特徵。實際上,最佳做法是在進行下一步分析之前,就應該進行異常值去除處理

在某些情況下,異常值可以提供有關整個系統中區域性異常的資訊;因此,檢測異常值是乙個有價值的過程,因為在這個工程中,可以提供有關資料集的附加資訊

目前有許多技術可以檢測異常值,並且可以自主選擇是否從資料集中刪除。在這篇博文中,將展示knime分析平台中四種最常用的異常值檢測的技術。

資料集和異常值檢測問題

本文用於測試和比較建議的離群值檢測技術的資料集**於航空公司資料集,該資料集包括2023年至2023年間美國國內航班的資訊,例如出發時間、到達時間、起飛機場、目的地機場、播出時間、出發延誤、航班延誤、航班號等。其中一些列可能包含異常值。

從原始資料集中,隨機提取了2023年和2023年從芝加哥奧黑爾機場(ord)出發的1500次航班樣本。

為了展示所選擇的離群值檢測技術是如何工作的,將專注於找出機場平均到達延誤的異常值,這些異常值是在給定機場降落的所有航班上計算的。我們正在尋找那些顯示不尋常的平均到達延遲時間的機場。

數字異常值方法是一維特徵空間中最簡單的非引數異常值檢測方法,異常值是通過iqr(interquartile range)計算得的。

計算第一和第三四分位數(q1、q3),異常值是位於四分位數範圍之外的資料點x i:

使用四分位數乘數值k=1.5,範圍限制是典型的上下晶須的盒子圖。這種技術是使用knime analytics platform內建的工作流程中的numeric outliers節點實現的(見圖1)。

z-score是一維或低維特徵空間中的引數異常檢測方法。該技術假定資料是高斯分布,異常值是分布尾部的資料點,因此遠離資料的平均值。距離的遠近取決於使用公式計算的歸一化資料點z i的設定閾值zthr:

其中xi是乙個資料點,μ是所有點xi的平均值,δ是所有點xi的標準偏差。

然後經過標準化處理後,異常值也進行標準化處理,其絕對值大於zthr:

zthr值一般設定為2.5、3.0和3.5。該技術是使用knime工作流中的行過濾器節點實現的(見圖1)。

該技術基於dbscan聚類方法,dbscan是一維或多維特徵空間中的非引數,基於密度的離群值檢測方法。

在dbscan聚類技術中,所有資料點都被定義為核心點(core points)、邊界點(border points)或雜訊點(noise points)。

核心點是在距離內至少具有最小包含點數(minpts)的資料點;邊界點是核心點的距離內鄰近點,但包含的點數小於最小包含點數(minpts);所有的其他資料點都是雜訊點,也被標識為異常值;從而,異常檢測取決於所要求的最小包含點數、距離和所選擇的距離度量,比如歐幾里得或曼哈頓距離。該技術是使用圖1中knime工作流中的dbscan節點實現的。

該方法是一維或多維特徵空間中大資料集的非引數方法,其中的乙個重要概念是孤立數。

孤立數是孤立資料點所需的拆分數。通過以下步驟確定此分割數:

隨機選擇要分離的點「a」;選擇在最小值和最大值之間的隨機數據點「b」,並且與「a」不同;如果「b」的值低於「a」的值,則「b」的值變為新的下限;如果「b」的值大於「a」的值,則「b」的值變為新的上限;只要在上限和下限之間存在除「a」之外的資料點,就重複該過程;與孤立非異常值相比,它需要更少的**來孤立異常值,即異常值與非異常點相比具有更低的孤立數。因此,如果資料點的孤立數低於閾值,則將資料點定義為異常值。

閾值是基於資料中異常值的估計百分比來定義的,這是異常值檢測演算法的起點。有關孤立森林技術影象的解釋,可以在此找到詳細資料。

通過在python script中使用幾行python**就可以實現該技術。

python script節點是knime python integration的一部分,它允許我們將python**編寫/匯入到knime工作流程。

在knime工作流程中實施

knime analytics platform是乙個用於資料科學的開源軟體,涵蓋從資料攝取和資料混合、資料視覺化的所有資料需求,從機器學習演算法到資料應用,從報告到部署等等。它基於用於視覺化程式設計的圖形使用者介面,使其非常直觀且易於使用,大大減少了學習時間。

此外,它被設計為對不同的資料格式、資料型別、資料來源、資料平台以及外部工具(例如r和python)開放,還包括許多用於分析非結構化資料的擴充套件,如文字、影象或圖形。

knime analytics platform中的計算單元是小彩色塊,名為「節點」。乙個接乙個地組裝管道中的節點,實現資料處理應用程式。管道也被稱為「工作流程」。

讀取read data metanode中的資料樣本;進行資料預處理並計算preproc元節點內每個機場的平均到達延遲;在下乙個名為密度延遲的元節點中,對資料進行標準化,並將標準化平均到達延遲的密度與標準正態分佈的密度進行對比;使用四種選定的技術檢測異常值;使用knime與open street maps的整合,在mapviz元節點中顯示美國地圖中的異常值機場。

圖1:實施四種離群值檢測技術的工作流程:數字異常值、z-score、dbscan以及孤立森林

檢測到的異常值

在圖2-5中,可以看到通過不同技術檢測到的異常值機場。其中。藍色圓圈表示沒有異常行為的機場,而紅色方塊表示具有異常行為的機場。平均到達延遲時間定義的大小了記。

一些機場一直被四種技術確定為異常值:斯波坎國際機場(geg)、伊利諾伊大學威拉德機場(cmi)和哥倫比亞大都會機場(cae)。斯波坎國際機場(geg)具有最大的異常值,平均到達時間非常長(180分鐘)。然而,其他一些機場僅能通過一些技術來識別、例如路易斯阿姆斯特朗紐奧良國際機場(msy)僅被孤立森林和dbscan技術所發現。

對於此特定問題,z-score技術僅能識別最少數量的異常值,而dbscan技術能夠識別最大數量的異常值機場。且只有dbscan方法(minpts = 3/= 1.5,歐幾里德距離測量)和孤立森林技術(異常值的估計百分比為10%)在早期到達方向發現異常值。

圖2:通過數字異常值技術檢測到的異常值機場

圖3:通過z-score技術檢測到的異常機場

圖4:dbscan技術檢測到的異常機場

圖5:孤立森林技術檢測到的異常機場

總結本文在一維空間中描述並實施了四種不同的離群值檢測技術:2023年至2023年間所有美國機場的平均到達延遲。研究的四種技術分別是numeric outlier、z-score、dbscan和isolation forest方法。其中一些用於一維特徵空間、一些用於低維空間、一些用於高維空間、一些技術需要標準化和檢查維度的高斯分布。而有些需要距離測量,有些需要計算平均值和標準偏差。有三個機場,所有異常值檢測技術都能將其識別為異常值。

但是,只有部分技術(比如,dbscan和孤立森林)可以識別分布左尾的異常值,即平均航班早於預定到達時間到達的那些機場。因此,應該根據具體問題選擇合適的檢測技術。

四種檢測異常值的常用技術簡述

摘要 本文介紹了異常值檢測的常見四種方法,分別為numeric outlier z score dbscan以及isolation forest在訓練機器學習演算法或應用統計技術時,錯誤值或異常值可能是乙個嚴重的問題,它們通常會造成測量誤差或異常系統條件的結果,因此不具有描述底層系統的特徵。實際上,...

產品經理常用的四種需求收集方法簡述

a 客戶訪談 客戶訪談是通過面對面的交流方式了解具體客戶對產品 對流程的需求 觀點和看法。客戶訪談的內容可以包括 1 了解哪些需求對客戶比較重要。2 就了解到的一些需求請客戶協助進行優先排序。3 就問題改進建議的初步想法與客戶進行討論,確認是否能夠滿足客戶需求。客戶訪談的優點包括 1 由於是面對面的...

四種常用的排序演算法

氣泡排序 法 從大到小排序 依次比較相鄰的兩個元素,通過一次比較把未排序序列中最大 或最小 的元素放置在未排序序列的末尾。public classmaopao for intm a system.out print m intt 0 for inti 0 i a.length 1 i for int...