天天看點

常用資料清洗方法大盤點

本文來自網易雲社群

資料清洗是将重複、多餘的資料篩選清除,将缺失的資料補充完整,将錯誤的資料糾正或者删除,最後整理成為我們可以進一步加工、使用的資料。

所謂的資料清洗,也就是ETL處理,包含抽取Extract、轉換Transform、加載load這三大法寶。在大資料挖掘過程中,面對的至少是G級别的資料量,包括使用者基本資料、行為資料、交易資料、資金流資料以及第三方的資料等等。選擇正确的方式來清洗特征資料極為重要,除了讓你能夠事半功倍,還至少能夠保證在方案上是可行的。

資料清洗的一般步驟:分析資料、缺失值處理、異常值處理、去重處理、噪音資料處理。在大資料生态圈,有很多來源的資料ETL工具,但是對于公司内部來說,穩定性、安全性和成本都是必須考慮的。

對于資料值缺失的處理,通常使用的方法有下面幾種:

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、回歸法

可以用一個函數拟合資料來光滑資料。線性回歸涉及找出拟合兩個屬性(或變量)的“最佳”直線,使得一個屬性能夠預測另一個。多線性回歸是線性回歸的擴充,它涉及多于兩個屬性,并且資料拟合到一個多元面。使用回歸,找出适合資料的數學方程式,能夠幫助消除噪聲。

網易猛犸大資料平台作為一站式的應用開發和資料管理平台,通過大資料開發套件,将資料開發、任務運維、自助分析、資料管理、項目管理等工作通過工作流的方式有效的串聯起來,提供靈活易用的使用者操作界面,降低了大資料分析的使用門檻,顯著的提高了資料開發工程師和資料分析師的工作效率。猛犸大資料平台在電商、音樂、雲課堂學習、企業工業制造等領域已廣泛應用,基于持續的需求驅動,通過多行業的業務驗證,同時豐富全面的元件,提供完善的平台能力,滿足不同類型的業務需求。

繼續閱讀