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