數(shù)據(jù)分析中的數(shù)據(jù)清洗怎么做?
數(shù)據(jù)清洗是指發(fā)現(xiàn)并糾正數(shù)據(jù)文件中可識別的錯誤的最后一道程序,包括檢查數(shù)據(jù)一致性,處理無效值和缺失值等。本文作者詳細地講解了數(shù)據(jù)清洗的步驟,歡迎感興趣的伙伴們閱讀。
數(shù)據(jù)分析整個框架里面比較關(guān)鍵除了模型本身以外,更多依賴的是豐富高質(zhì)量的數(shù)據(jù)源。在數(shù)據(jù)收集時需要捕獲有關(guān)源的關(guān)鍵元數(shù)據(jù),如來源、大小、時效性和相關(guān)內(nèi)容的額外知識。迭代地識別當(dāng)前數(shù)據(jù)資產(chǎn)基礎(chǔ)和這些數(shù)據(jù)源的差距,使用分析、可視化、 挖掘或其他數(shù)據(jù)科學(xué)方法探索這些數(shù)據(jù)源,以定義模型算法輸入或模型假設(shè)。
由于原始數(shù)據(jù)中或多或少存在一些缺失、損壞的臟數(shù)據(jù)。如果不處理會導(dǎo)致模型失效。就好比,一個水平很高的廚師,給到的原材料如果不衛(wèi)生不干凈,那也很難做出一道讓人滿意的菜品。因此在整合數(shù)據(jù)建立模型之前, 應(yīng)先評估數(shù)據(jù)的質(zhì)量。對數(shù)據(jù)進行清洗。
當(dāng)然,數(shù)據(jù)清洗除了能保障高質(zhì)量的數(shù)據(jù)輸出之外。也能夠同步對數(shù)據(jù)探索。數(shù)據(jù)清洗和數(shù)據(jù)探索的作用是相輔相成的,通過數(shù)據(jù)探索,檢閱數(shù)據(jù)的特征描述、分布推斷以及結(jié)構(gòu)上的優(yōu)化,能更好的為數(shù)據(jù)清洗選擇合適的清洗方法。而數(shù)據(jù)清洗后的數(shù)據(jù)則可以更有效的進行數(shù)據(jù)探索。本文重點講解數(shù)據(jù)清洗的一些方法和注意事項。接下來,介紹數(shù)據(jù)清洗的兩個重要部分:異常值判別和缺失值處理。
01 異常值判別
數(shù)據(jù)清洗的第一步是識別會影響分析結(jié)果的“異?!睌?shù)據(jù),然后判斷是否剔除。異常值通常有以下幾個表現(xiàn):
(1)缺乏完整性
完整性即記錄數(shù)量名稱是否完整,內(nèi)部數(shù)據(jù)由于屬于企業(yè)內(nèi)部自己生產(chǎn)的數(shù)據(jù),相對而言比較好掌控檢查。而如果是采購的外部數(shù)據(jù),例如:城市土地人口宏觀數(shù)據(jù)或者某城的二手房交易數(shù)據(jù),則完整性需要外部數(shù)據(jù)供應(yīng)商提出相應(yīng)保障。
(2)缺乏準確性
收集的數(shù)據(jù)必須要能夠正確反映業(yè)務(wù)需求,否則分析結(jié)論會對業(yè)務(wù)造成誤導(dǎo)。這方面的檢查,需要首先理解業(yè)務(wù)背景,第二需要判斷收集的此類數(shù)據(jù)以及數(shù)據(jù)項是否可以轉(zhuǎn)換為分析項目所需數(shù)據(jù)。如果部分數(shù)據(jù)不符合業(yè)務(wù)邏輯,或者數(shù)據(jù)準確性很差,則對數(shù)據(jù)分析造成很大的影響。
(3)缺乏唯一性
數(shù)據(jù)的唯一性應(yīng)該從兩個角度檢查,常見的錯誤是多個數(shù)據(jù)一個編碼,例如產(chǎn)品住宅,產(chǎn)品商鋪都是同一編碼,或者同時一個實物對應(yīng)多個編碼。如果導(dǎo)入系統(tǒng),系統(tǒng)需要能夠識別,否則將會影響分析主體的唯一性。
目前常用的識別異常數(shù)據(jù)的方法有物理判別法和統(tǒng)計判別法:
物理判別法:根據(jù)人們對客觀事物、業(yè)務(wù)等已有的認識,判別由于外界干擾、人為誤差等原因造成實測數(shù)據(jù)偏離正常結(jié)果,判斷異常值。例如常見的年月日基本信息,顯示值為:1900年1月1日。這種判別方式需要人工干預(yù),檢查的工作量較大,如果沒有找到數(shù)據(jù)之間的關(guān)聯(lián)關(guān)系容易出錯漏處理。
統(tǒng)計判別法:通過系統(tǒng)設(shè)定一個置信概率,并確定一個置信上下限,凡超過此限的誤差,就認為它不屬于隨機誤差范圍,自動判定為異常值。這種方法高效明確,且不會遺漏錯誤臟數(shù)據(jù)。常用的方法有:拉依達準則、肖維勒準則、格拉布斯準則、狄克遜準則、t檢驗等。(具體描述查看下圖)
這種系統(tǒng)判別并進行刪除異常值的方式雖然高效,但也存在風(fēng)險。因為每個方法不盡相同,得出的異常值也有可能存在偏差。為了減少這種誤刪的概率,可以將多種統(tǒng)計判別方法結(jié)合使用,并且要找出異常值出現(xiàn)的原因。是手工錄入錯誤還是數(shù)據(jù)接收過程中出錯。同時,如果發(fā)現(xiàn)有多個異常值,建議逐個刪除,即刪除一個后再進行檢驗。
02 缺失值處理
在數(shù)據(jù)缺失嚴重的情況下,分析結(jié)果會失真。因此需要將缺失值進行填補,傳統(tǒng)方式檢查出來的空值有人工進行補充,但是需要補充人員找到相關(guān)資料檢驗無誤后再進行填補。當(dāng)然如果對于結(jié)果要求并不是特別大,且我們能通過數(shù)據(jù)找到規(guī)律的情況下,可以采用合理的方法自動填補空缺值。例如:可以根據(jù)身份證號碼,自動判斷人員的性別。常見的方法有平均值填充、K最近距離法、回歸法、極大似線估計法等。(具體描述查看下圖)
值得注意的是,數(shù)據(jù)收集的過程中,如果對于某個字段要求必輸,則可以通過系統(tǒng)導(dǎo)入時自動判斷是否為null,如果為null則導(dǎo)入不成功,從源頭控制數(shù)據(jù)質(zhì)量。
當(dāng)然,我們在做數(shù)據(jù)分析的過程中,也要看數(shù)據(jù)量的大小。一般情況下數(shù)據(jù)量越大,異常值和缺失值對整體分析結(jié)果的影響會逐漸變小。所以,在“大數(shù)據(jù)”模式下,如果異常值和缺失值較小的情況下,可以忽略減輕部分工作量,而側(cè)重對數(shù)據(jù)結(jié)構(gòu)合理性進行分析。
03 格式內(nèi)容清洗
如果數(shù)據(jù)是由系統(tǒng)日志而來,那么通常在格式和內(nèi)容方面,會與元數(shù)據(jù)的描述一致。而如果數(shù)據(jù)是由人工收集或用戶填寫而來,則有很大可能性在格式和內(nèi)容上存在一些問題,簡單來說,格式內(nèi)容問題有以下幾類:
1、字段顯示格式不一致
這種問題通常與輸入端有關(guān),在整合多來源數(shù)據(jù)時也有可能遇到,將其處理成一致的某種格式即可。
2、內(nèi)容中有不該存在的字符
某些內(nèi)容可能只包括一部分字符,比如身份證號是數(shù)字+字母,中國人姓名是漢字(趙C這種情況還是少數(shù))。最典型的就是頭、尾、中間的空格,也可能出現(xiàn)姓名中存在數(shù)字符號、身份證號中出現(xiàn)漢字等問題。這種情況下,需要以半自動校驗半人工方式來找出可能存在的問題,并去除不需要的字符。
3、內(nèi)容與該字段應(yīng)有內(nèi)容不符
姓名寫了性別,身份證號寫了手機號等等,均屬這種問題。但該問題特殊性在于:并不能簡單的以刪除來處理,因為成因有可能是人工填寫錯誤,也有可能是前端沒有校驗,還有可能是導(dǎo)入數(shù)據(jù)時部分或全部存在列沒有對齊的問題,因此要詳細識別問題類型。
格式內(nèi)容問題是比較細節(jié)的問題,但很多分析失誤都是栽在這個坑上,比如跨表關(guān)聯(lián)或VLOOKUP失?。ǘ鄠€空格導(dǎo)致工具認為“張三”和“張 三”不是一個人)、統(tǒng)計值不全(數(shù)字里摻個字母當(dāng)然求和時結(jié)果有問題)等等,需要大家重點關(guān)注。
專欄作家
成于念,微信公眾號:Laosiji,人人都是產(chǎn)品經(jīng)理專欄作家。關(guān)注互聯(lián)網(wǎng)+行業(yè)、數(shù)字化轉(zhuǎn)型落地。專注領(lǐng)域包括IT數(shù)據(jù)管理、數(shù)據(jù)資產(chǎn)、數(shù)據(jù)應(yīng)用和最佳企業(yè)數(shù)據(jù)案例實踐分享。
本文原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)作者許可,禁止轉(zhuǎn)載。
題圖來自 Unsplash,基于CC0協(xié)議。
該文觀點僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲空間服務(wù)。
辛苦了