數據清洗方法

作者:網易雲
鏈接:https://www.zhihu.com/question/22077960/answer/473720583

數據清洗是將重複、多餘的數據篩選清除,將缺失的數據補充完整,將錯誤的數據糾正或者刪除,最後整理成爲我們可以進一步加工、使用的數據。所謂的數據清洗,也就是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、迴歸法可以用一個函數擬合數據來光滑數據。線性迴歸涉及找出擬合兩個屬性(或變量)的“最佳”直線,使得一個屬性能夠預測另一個。多線性迴歸是線性迴歸的擴展,它涉及多於兩個屬性,並且數據擬合到一個多維面。使用迴歸,找出適合數據的數學方程式,能夠幫助消除噪聲。利益相關:網易猛獁大數據平臺作爲一站式的應用開發和數據管理平臺,通過大數據開發套件,將數據開發、任務運維、自助分析、數據管理、項目管理等工作通過工作流的方式有效的串聯起來,提供敏捷易用的用戶操作界面,降低了大數據分析的使用門檻,顯著的提高了數據開發工程師和數據分析師的工作效率。猛獁大數據平臺在電商、音樂、雲課堂學習、企業工業製造等領域已廣泛應用,基於持續的需求驅動,通過多行業的業務驗證,同時豐富全面的組件,提供完善的平臺能力,滿足不同類型的業務需求。在對數據的分析處理過程中,數據的安全重要性不言而喻。猛獁平臺底層使用Kerberos認證,實現了數據的安全性和隔離性。除了認證系統,利用Ranger實現了細粒度的權限控制,保證了各個租戶只能查看授權訪問的表、庫和字段。不僅如此,平臺還提供審計功能,通過對用戶平臺行爲進行記錄、分析和彙報,用來幫助對事故追根溯源,提高了平臺的安全性。點擊可免費試用

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章