異常值的定義是平均值的偏差超過標準的兩倍,但是在臟數據中,異常值的情況不止壹種:
1)例如,當您打開壹列數據並看到它全部是數字時,當您將其視為數字類型時,它將報告錯誤;那妳就要仔細找原因了。在許多情況下,壹列數字與幾個奇怪的字符串或符號混合在壹起。如果數萬條數據中只有壹兩個這樣的字符,即使妳從前到後仔細查看,也很難發現它浪費了大量時間,效率極低。
還有壹種常見的情況,就是看起來像數字,實際上是字符串的形式,但是在表格中查看時看不到字符串的引號;這兩種情況可以通過查看特征類型提前發現。在python中,使用type()或dtypes()函數,它們使用不同的對象,因此您可以自行了解。
2)幾種常用的異常值檢測方法:
3σ檢測方法
3σ檢測法的思想實際上來源於切比雪夫不等式。
對於任何ε& gt;0,使用:
當時,如果總體是壹般總體,統計數據和平均值的離散程度可以通過其標準差來反映,因此有:
通常,所有數據中至少有3/4(或75%)在平均2個標準偏差範圍內。
在所有數據中,至少有8/9(或88.9%)在平均值的3個標準差以內。
在所有數據中,至少有24/25(或96%)在平均值的5個標準差以內。
因此,如果我們通常將具有三個以上離散值的數據稱為異常值。該方法在實際應用中使用方便,但僅適用於單個屬性的情況。
z分數
Z-score是壹種在壹維或低維特征空間中的參數異常檢測方法。這種技術假設數據是高斯得分,異常值是分布尾部的數據點,因此它們與數據的平均值相差很遠。該距離取決於通過以下公式計算的歸壹化點z i的設定閾值Zthr:
其中xi是數據點,μ是所有點xi的平均值,δ是所有點xi的標準偏差。
然後,標準化後,異常值也被標準化,並且其絕對值大於Zthr:
Zthr值通常設置為2.5、3.0和3.5。這項技術是通過使用KNIME工作流中的行過濾器節點實現的。
這種異常值處理需要結合最終需求來決定如何處理。不處理或按照缺失值的方法處理是常見的。然而,在實際場景中,異常值有時會有非常突出的表現。例如,在現金貸業務中,異常值中的壞賬率遠高於整體壞賬水平或其他區間的壞賬水平。此時,必須保留異常值並將其用作決策閾值的參考值。
IQR
數據分布的第壹和第四分位數可以通過觀察箱線圖或通過IQR(四分位數範圍)計算獲得,異常值是四分位數範圍之外的數據點。
這種方法確實很簡單,因為它只需要按順序排列數據,這顯然太籠統了,但在實際場景中,觀察盒圖仍然是探索數據分布的好方法。
畢竟所有復雜的探索都是從最開始壹步步獲得的。