質量數據:400-686-4199信息標準化:400-643-4668易標準、云LIMS:400-629-4066

數據“清潔工”丨帶你走進數據清洗管理

2019-02-21

數據清洗是指發現并改正不完整、不正確和不一致的主數據,從而提高數據質量的過程。數據清洗從名字上也可以看出就是把“臟”的數據“洗掉”,是發現并糾正數據文件中可識別的錯誤的最后一道程序,包括檢查數據一致性、處理無效值和缺失值等。由于這些數據從多個業務系統中抽取且包含歷史數據,這樣就避免不了有的數據是錯誤數據、有的數據相互沖突,這些錯誤的或有沖突的數據顯然是用戶不想要的,稱為“臟數據”。按照一定的規則把零散、重復、不完整的數據清洗干凈,得到精確、完整、一致、有效、唯一的新的數據,這就是數據清洗。

數據清洗的方法有很多,例如針對不同學科的方法——生物數據的清洗方法、地理數據的清洗方法;針對不同類型數據的方法——時序數據的清洗方法、非時序數據的清洗方法等。一般來說,通過數據清洗來保證主數據的唯一、精確、完整、一致和有效性。

如果不能保證主數據的以上特征,則會影響到各個應用系統的數據質量以及后續的分析和決策,對企業造成重大損失。例如,主數據的不一致會帶來業務交易數據的不一致,在不同業務系統中的數據編碼不一致使得系統之間的數據共享變得困難,阻礙對企業的整體運營情況進行統一的分析和規劃。

需要清洗的數據主要包括兩種類型:缺失數據和噪聲數據。

缺失數據

這一類數據主要是一些應該有的信息缺失,如供應商的名稱、分公司的名稱、客戶的區域信息缺失、業務系統中主表與明細表不能匹配等。對于這一類數據應過濾出來,按缺失的內容分別寫入不同Excel文件向客戶提交,要求在規定的時間內補全。補全后才寫入數據倉庫。

噪聲數據

可以被認定為噪聲的數據主要有錯誤數據和重復數據。錯誤數據產生的原因是業務系統不夠健全,在接收輸入后沒有進行判斷便直接寫入后臺數據庫造成的,比如數值數據輸成全角數字字符、字符串數據后面有一個回車標記、日期格式不正確、日期越界等。這一類數據也要分類,對于類似全角字符、數據前后有不可見字符的問題,只能通過寫SQL語句的方式找出來,然后要求客戶在業務系統修正之后抽取;日期格式不正確或者是日期越界這一類錯誤會導致ETL運行失敗,需要去業務系統數據庫用SQL挑出來,交給業務主管部門要求限期修正,修正之后再抽取;對于重復數據——特別是維表中會出現這種情況——將重復數據記錄的所有字段導出來,讓客戶確認并整理。

在確定了錯誤數據的類型后,下面根據數據類型分別介紹清洗的主要內容。

01

缺失數據處理

數據缺失是實際數據庫中經常出現的情況。對于處理缺失數據的方法,按照處理的主體不同,可以分為人工處理方法和自動處理方法;按照處理的方法不同,可以分為直接忽略的方法、填補缺省值的方法和依據其他數據填補缺失值的方法。

依據處理主體分類

工清洗方法( Manual Cleaning)是指當一個記錄的屬性值有缺失時,查找原始的記錄,或者請教專家手工填補所缺失的數值。這種方法的好處是當缺失數據比較少時,填補數值的準確度相對較高。但是當缺失的數據比較多時,采用人工處理的方法效率太低,而且更容易出錯,可行性差。

自動清洗方法( Automated Cleaning)是指當一個記錄的屬性值有缺失時,通過已有的程序自動處理缺失。這種方法的好處是當缺失數據的規模很大時,在效率上優于手工處理方法。但是自動清洗方法在很大程度上依賴于處理缺失數據的程序,不太靈活,處理少量缺失數據的時候不如手工處理準確度高。

根據處理方法分類

對于缺失數據最直接的方法就是忽略。直接忽略的方法是指,如果有一個記錄的屬性值有缺失,則在數據分析中直接刪除此記錄,不予考慮,具體刪除的操作可以分為整例刪除、變量刪除和成對刪除。這種方法的好處是操作簡便,但是當數據中遺漏的屬性值比較多,而且分散在不同的記錄中時,該方法的有效性就會大打折扣。一方面,它可能會造成現有數據的大量浪費;另一方面由于數據缺失在以后的補充數據中也會出現,因此對數據收集的規模缺乏控制。

填補缺省值的方法是對直接忽略方法的改進,對那些對數據分析影響不大的缺失數據統一填補一個確定的缺省值,以避免浪費大量數據。例如,對于量化的屬性可以采用一個極大的負值或正值作為缺省值,對于非量化的屬性可以采用“無”作為缺省值。這種方法的好處是避免了數據的浪費而且操作相對簡單。但是當數據中缺失的屬性值比較多時,容易使整個數據向缺省值的方向傾斜,給之后的數據處理造成麻煩。例如,數據挖掘程序可能會將這些缺省值作為一個新的屬性值進行計算,挖掘出大量無用的規律。

把填補缺省值的方法做進一步改進,根據已有數據科學合理地推算缺失的數據,就得到了依據其他數據填補缺省值的方法。這種方法通過對于缺失的數值進行縱向(缺失數值所在的屬性)和橫向(缺失數值所在記錄的其他的屬性值)的數據分析,求出所缺失的數值的可能值。數據分析的方法有很多,例如,通過同屬性平均值來填補缺失的數值,在信用評級的數據庫中,對于工資情況沒有記錄的客戶,可以采用有類別的平均值來填補此屬性、此類別的所有缺失值。當然,用平均值代替空缺值不一定就是最好的方法,也可以利用回歸分析、貝葉斯計算、決策樹、人工神經網絡等方法,用缺失數據的縱向、橫向信息計算出所缺失數值的最大可能值并進行填補。

02

噪聲數據處理

與數據缺失一樣,錯誤數據也是真實數據中經常出現的問題。錯誤數據分為內錯誤數據和外錯誤數據。其中內錯誤數據是指在整體數據的統計分布之內,但是數值錯誤的數據:外數據錯誤是指在整體數據的統計分布之外的錯誤數據。例如,在數據中有兩個屬性:一個是“姓名”,另一個是“年齡”。一個人的實際年齡是20歲,而數據庫的錯誤記錄為25歲,25歲屬于人的正常年齡范圍,這樣的錯誤就是內部數據錯誤;而如果個人實際年齡是20歲,但數據庫存儲的記錄為200歲,200歲已經超出了人的正常年齡范圍,這樣的錯誤即為外部數據錯誤。

一般來講,內錯誤數據很難辨識,更不容易被改正。對于外錯誤數據,一般情況下只能根據整體數據的數據分布來辨識,并進行適當的處理。外數據錯誤最主要的是噪聲數據,指被測量變量的隨機錯誤和偏差。對于噪聲的處理主要有兩種方法:一種方法是直接平滑噪聲,這種方法假設數據中有噪聲,但是不去專門識別噪聲,只是通過將含有平滑的數據整體平滑,減小數據的方差;另一種方法是先辨別噪聲,然后再根據具體情況處理。這種方法根據噪聲和正常數據在數據分布上不同的特點,找出可能的噪聲數據,再進行進一步地處理。前一種主要是分箱方法,后一種主要包括人工智能和人機結合的方法。

分箱方法

分箱方法利用噪聲周圍的數值來平滑噪聲,達到減少噪聲干擾的目的。第一步,對已有的數值進行排序后通過等深或等寬的規則分配到若干容器(即“箱”)中;第二步,對每個容器中的數值通過均值法、邊界法等方法進行平滑處理。經過處理后的數據與原數據相比更加平滑、波動更小,達到了減弱或消除噪聲影響的目的。

人工智能法

人工智能的方法是指利用聚類、回歸分析、貝葉斯計算、決策樹、人工神經網絡等人智能方法對數據進行自動平滑處理。例如,通過多變量線性回歸法獲得多個變量相互間的關系,從而達到變量之間相互預測修正的目的,從而平滑數據,去除其中的噪聲。

 人機結合法

人機結合法是對人工智能法進行的改進。它通過計算機檢查和人工檢查結合的方法來幫助發現異常數據。例如,利用人工智能的各種方法幫助識別銷售記錄中的異常情況,如銷售量的突變等,將識別出的異常情況自動輸出到列表中,由人工檢查各個異常情況,并最終確定是否為噪聲。這種檢查方式與單純的計算機檢查相比準確率高,與單純的人工方式相比效率較高。

黄色漫画成人,成人漫画在线,h成人的动漫影院免费