1. 程式人生 > >資料處理--缺失值處理&異常值處理

資料處理--缺失值處理&異常值處理

缺失值處理:

造成資料缺失的原因是多方面的,主要可能有以下幾種:

  1. 有些資訊暫時無法獲取,致使一部分屬性值空缺出來。
  2. 有些資訊因為一些人為因素而丟失了。
  3. 有些物件的某個或某些屬性是不可用的。如一個未婚者的配偶姓名。
  4. 獲取這些資訊的代價太大,從而未獲取資料。
空值處理的重要性:

空值的存在,造成了以下影響:

  1. 系統丟失了大量的有用資訊;
  2. 系統的不確定性更加顯著,系統中的確定性成分更難把握;
  3. 包含空值的資料會使挖掘過程陷入混亂,導致不可靠的輸出。
空值處理的方法:
一、刪除元組

將存在遺漏資訊屬性值的物件(記錄)刪除,從而得到一個完備的資訊表。這種方法在物件有多個屬性缺失值、被刪除的含缺失值的物件與資訊表中的資料量相比非常小的情況下是非常有效的。然而這種方法丟棄了大量隱藏在這些物件中的資訊。在資訊表中物件很少的情況下會影響到結果的正確性,可能導致資料發生偏離,從而引出錯誤的結論。

二、資料補齊

這類方法是基於統計學原理用一定的值去填充空值,從而使資訊表完備化。資料探勘中常用的有以下幾種補齊方法:

  1. 人工填寫
    這個方法產生資料偏離最小,是填充效果最好的一種。當資料規模很大、空值很多的時候,該方法是不可行的。

  2. 特殊值填充
    將空值作為一種特殊的屬性值來處理,它不同於其他的任何屬性值。如所有的空值都用“unknown”填充。這樣將形成另一個概念,可能導致嚴重的資料偏離,一般不使用。

  3. 平均值填充
    如果空值是數值屬性,就使用該屬性在其他所有物件的取值的平均值來填充該缺失的屬性值.
    如果空值是非數值屬性,就根據統計學中的眾數原理,用該屬性在其他所有物件出現頻率最高的值

    來補齊該缺失的屬性值。

  4. 熱卡填充(就近補齊)
    對於一個包含空值的物件,熱卡填充法在完整資料中找到一個與它最相似的物件,然後用這個相似物件的值來進行填充。不同的問題選用不同的標準來對相似進行判定。

  5. K最近鄰法
    先根據歐式距離或相關分析來確定距離具有缺失資料樣本最近的K個樣本,將這K個值加權平均來估計該樣本的缺失資料。

  6. 使用所有可能的值填充
    這種方法是用空缺屬性值的所有可能的屬性取值來填充,能夠得到較好的補齊效果。但是當資料量很大或者遺漏的屬性值較多時,其計算的代價很大,可能的測試方案很多。

  7. 迴歸
    基於完整的資料集,建立迴歸方程(模型)。對於包含空值的物件,將已知屬性值代入方程來估計未知屬性值,以此估計值來進行填充。

  8. 期望值最大化方法(EM)
    在缺失型別為隨機缺失的條件下,假設模型對於完整的樣本是正確的,通過觀測資料的邊際分佈可以對未知引數進行極大似然估計。它一個重要前提:適用於大樣本。有效樣本的數量足夠以保證ML估計值是漸近無偏的並服從正態分佈。但是這種方法可能會陷入區域性極值,收斂速度也不是很快,並且計算很複雜。

三、不處理

直接在包含空值的資料上進行資料探勘。這類方法包括貝葉斯網路和人工神經網路等。

異常值處理

異常值,即在資料集中存在不合理的值,又稱離群點。

異常值的判別方法:
  1. 簡單統計分析
    對屬性值進行一個描述性的統計(規定範圍),從而檢視哪些值是不合理的(範圍以外的值)。

  2. 3δ原則
    若資料服從正態分佈:根據正態分佈的定義可知,距離平均值3δ之外的概率為 P(|x-μ|>3δ) <= 0.003 ,這屬於極小概率事件,在預設情況下我們可以認定,距離超過平均值3δ的樣本是不存在的。因此,當樣本距離平均值大於3δ,認為該樣本為異常值。
    正態分佈
    計算方法
    根據概率值的大小可以判斷 x 是否屬於異常值。

  3. 使用距離檢測多元離群點
    當資料不服從正態分佈時,可以通過遠離平均距離多少倍的標準差來判定,多少倍的取值需要根據經驗和實際情況來決定。

異常值的處理方法:
  1. 刪除含有異常值的記錄
  2. 將異常值視為缺失值,使用缺失值處理方法來處理
  3. 用平均值來修正
  4. 不處理