大數據:數據清洗的定義以及數據清洗的方法

數據清洗定義

數據清洗(Data cleaning)– 對數據進行重新審查和校驗的過程,目的在於刪除重複信息、糾正存在的錯誤,並提供數據一致性。

數據清洗從名字上也看的出就是把“髒”的“洗掉”,指發現並糾正數據文件中可識別的錯誤的最後一道程序,包括檢查數據一致性,處理無效值和缺失值等。因為數據倉庫中的數據是面向某一主題的數據的集合,這些數據從多個業務系統中抽取而來而且包含歷史數據,這樣就避免不了有的數據是錯誤數據、有的數據相互之間有衝突,這些錯誤的或有衝突的數據顯然是我們不想要的,稱為“髒數據”。我們要按照一定的規則把“髒數據”“洗掉”,這就是數據清洗。而數據清洗的任務是過濾那些不符合要求的數據,將過濾的結果交給業務主管部門,確認是否過濾掉還是由業務單位修正之後再進行抽取。不符合要求的數據主要是有不完整的數據、錯誤的數據、重複的數據三大類。數據清洗是與問卷審核不同,錄入後的數據清理一般是由計算機而不是人工完成。

一致性檢查

一致性檢查(consistency check)是根據每個變量的合理取值範圍和相互關係,檢查數據是否合乎要求,發現超出正常範圍、邏輯上不合理或者相互矛盾的數據。例如,用1-7級量表測量的變量出現了0值,體重出現了負數,都應視為超出正常值域範圍。SPSS、SAS、和Excel等計算機軟件都能夠根據定義的取值範圍,自動識別每個超出範圍的變量值。具有邏輯上不一致性的答案可能以多種形式出現:例如,許多調查對象說自己開車上班,又報告沒有汽車;或者調查對象報告自己是某品牌的重度購買者和使用者,但同時又在熟悉程度量表上給了很低的分值。發現不一致時,要列出問卷序號、記錄序號、變量名稱、錯誤類別等,便於進一步核對和糾正。

無效值和缺失值的處理

由於調查、編碼和錄入誤差,數據中可能存在一些無效值和缺失值,需要給予適當的處理。常用的處理方法有:估算,整例刪除,變量刪除和成對刪除。

估算(estimation)。最簡單的辦法就是用某個變量的樣本均值、中位數或眾數代替無效值和缺失值。這種辦法簡單,但沒有充分考慮數據中已有的信息,誤差可能較大。另一種辦法就是根據調查對象對其他問題的答案,通過變量之間的相關分析或邏輯推論進行估計。例如,某一產品的擁有情況可能與家庭收入有關,可以根據調查對象的家庭收入推算擁有這一產品的可能性。

整例刪除(casewise deletion)是剔除含有缺失值的樣本。由於很多問卷都可能存在缺失值,這種做法的結果可能導致有效樣本量大大減少,無法充分利用已經收集到的數據。因此,只適合關鍵變量缺失,或者含有無效值或缺失值的樣本比重很小的情況。

變量刪除(variable deletion)。如果某一變量的無效值和缺失值很多,而且該變量對於所研究的問題不是特別重要,則可以考慮將該變量刪除。這種做法減少了供分析用的變量數目,但沒有改變樣本量。

成對刪除(pairwise deletion)是用一個特殊碼(通常是9、99、999等)代表無效值和缺失值,同時保留數據集中的全部變量和樣本。但是,在具體計算時只採用有完整答案的樣本,因而不同的分析因涉及的變量不同,其有效樣本量也會有所不同。這是一種保守的處理方法,最大限度地保留了數據集中的可用信息。

採用不同的處理方法可能對分析結果產生影響,尤其是當缺失值的出現並非隨機且變量之間明顯相關時。因此,在調查中應當儘量避免出現無效值和缺失值,保證數據的完整性。

數據清洗方法

對於數據值缺失的處理,通常使用的方法有下面幾種:

1、刪除缺失值

當樣本數很多的時候,並且出現缺失值的樣本在整個的樣本的比例相對較小,這種情況下,我們可以使用最簡單有效的方法處理缺失值的情況。那就是將出現有缺失值的樣本直接丟棄。這是一種很常用的策略。

2、均值填補法

根據缺失值的屬性相關係數最大的那個屬性把數據分成幾個組,然後分別計算每個組的均值,把這些均值放入到缺失的數值裡面就可以了。

3、熱卡填補法

對於一個包含缺失值的變量,熱卡填充法的做法是:在數據庫中找到一個與它最相似的對象,然後用這個相似對象的值來進行填充。不同的問題可能會選用不同的標準來對相似進行判定。最常見的是使用相關係數矩陣來確定哪個變量(如變量Y)與缺失值所在變量(如變量X)最相關。然後把所有變量按Y的取值大小進行排序。那麼變量X的缺失值就可以用排在缺失值前的那個個案的數據來代替了。

還有類似於最近距離決定填補法、迴歸填補法、多重填補方法、K-最近鄰法、有序最近鄰法、基於貝葉斯的方法等。

異常值通常被稱為“離群點”,對於異常值的處理,通常使用的方法有下面幾種:

1、簡單的統計分析

拿到數據後可以對數據進行一個簡單的描述性統計分析,譬如最大最小值可以用來判斷這個變量的取值是否超過了合理的範圍,如客戶的年齡為-20歲或200歲,顯然是不合常理的,為異常值。

2、3∂原則

如果數據服從正態分佈,在3∂原則下,異常值為一組測定值中與平均值的偏差超過3倍標準差的值。如果數據服從正態分佈,距離平均值3∂之外的值出現的概率為P(|x-u| > 3∂) <= 0.003,屬於極個別的小概率事件。如果數據不服從正態分佈,也可以用遠離平均值的多少倍標準差來描述。

3、箱型圖分析

箱型圖提供了識別異常值的一個標準:如果一個值小於QL01.5IQR或大於OU-1.5IQR的值,則被稱為異常值。QL為下四分位數,表示全部觀察值中有四分之一的數據取值比它小;QU為上四分位數,表示全部觀察值中有四分之一的數據取值比它大;IQR為四分位數間距,是上四分位數QU與下四分位數QL的差值,包含了全部觀察值的一半。箱型圖判斷異常值的方法以四分位數和四分位距為基礎,四分位數具有魯棒性:25%的數據可以變得任意遠並且不會干擾四分位數,所以異常值不能對這個標準施加影響。因此箱型圖識別異常值比較客觀,在識別異常值時有一定的優越性。

4、基於模型檢測

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

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

5、基於距離

通常可以在對象之間定義鄰近性度量,異常對象是那些遠離其他對象的對象

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

6、基於密度

當一個點的局部密度顯著低於它的大部分近鄰時才將其分類為離群點。適合非均勻分佈的數據。

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

7、基於聚類:

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

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

噪音,是被測量變量的隨機誤差或方差。對於噪音的處理,通常有下面的兩種方法:

1、分箱法

分箱方法通過考察數據的“近鄰”(即,周圍的值)來光滑有序數據值。這些有序的值被分佈到一些“桶”或箱中。由於分箱方法考察近鄰的值,因此它進行局部光滑。

用箱均值光滑:箱中每一個值被箱中的平均值替換。

用箱中位數平滑:箱中的每一個值被箱中的中位數替換。

用箱邊界平滑:箱中的最大和最小值同樣被視為邊界。箱中的每一個值被最近的邊界值替換。

一般而言,寬度越大,光滑效果越明顯。箱也可以是等寬的,其中每個箱值的區間範圍是個常量。分箱也可以作為一種離散化技術使用.

2、迴歸法

可以用一個函數擬合數據來光滑數據。線性迴歸涉及找出擬合兩個屬性(或變量)的“最佳”直線,使得一個屬性能夠預測另一個。多線性迴歸是線性迴歸的擴展,它涉及多於兩個屬性,並且數據擬合到一個多維面。使用迴歸,找出適合數據的數學方程式,能夠幫助消除噪聲。


分享到:


相關文章: