本文來自網易雲社區
數據清洗是將重復、多余的數據篩選清除,將缺失的數據補充完整,將錯誤的數據糾正或者刪除,最后整理成為我們可以進一步加工、使用的數據。
所謂的數據清洗,也就是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、回歸法
可以用一個函數擬合數據來光滑數據。線性回歸涉及找出擬合兩個屬性(或變量)的“最佳”直線,使得一個屬性能夠預測另一個。多線性回歸是線性回歸的擴展,它涉及多於兩個屬性,並且數據擬合到一個多維面。使用回歸,找出適合數據的數學方程式,能夠幫助消除噪聲。
網易猛獁大數據平台作為一站式的應用開發和數據管理平台,通過大數據開發套件,將數據開發、任務運維、自助分析、數據管理、項目管理等工作通過工作流的方式有效的串聯起來,提供敏捷易用的用戶操作界面,降低了大數據分析的使用門檻,顯著的提高了數據開發工程師和數據分析師的工作效率。猛獁大數據平台在電商、音樂、雲課堂學習、企業工業制造等領域已廣泛應用,基於持續的需求驅動,通過多行業的業務驗證,同時豐富全面的組件,提供完善的平台能力,滿足不同類型的業務需求。
