登錄

數(shù)據(jù)清洗

百科 > 信息管理術語 > 數(shù)據(jù)清洗

1.什么是數(shù)據(jù)清洗[1]

數(shù)據(jù)清洗是指發(fā)現(xiàn)并糾正數(shù)據(jù)文件中可識別的錯誤的最后一道程序,包括檢查數(shù)據(jù)一致性,處理無效值和缺失值等。與問卷審核不同,錄入后的數(shù)據(jù)清理一般是由計算機而不是人工完成。

1.一致性檢查

一致性檢查(consistency check)是根據(jù)每個變量的合理取值范圍和相互關系,檢查數(shù)據(jù)是否合乎要求,發(fā)現(xiàn)超出正常范圍、邏輯上不合理或者相互矛盾的數(shù)據(jù)。例如,用1-7級量表測量的變量出現(xiàn)了0值,體重出現(xiàn)了負數(shù),都應視為超出正常值域范圍。SPSS、SAS、和Excel等計算機軟件都能夠根據(jù)定義的取值范圍,自動識別每個超出范圍的變量值。具有邏輯上不一致性的答案可能以多種形式出現(xiàn):例如,許多調查對象說自己開車上班,又報告沒有汽車;或者調查對象報告自己是某品牌的重度購買者和使用者,但同時又在熟悉程度量表上給了很低的分值。發(fā)現(xiàn)不一致時,要列出問卷序號、記錄序號、變量名稱、錯誤類別等,便于進一步核對和糾正。

2.無效值和缺失值的處理

由于調查、編碼和錄入誤差,數(shù)據(jù)中可能存在一些無效值和缺失值,需要給予適當?shù)奶幚怼3S玫奶幚矸椒ㄓ校汗浪?,整例刪除,變量刪除和成對刪除。

估算(estimation)。最簡單的辦法就是用某個變量的樣本均值、中位數(shù)眾數(shù)代替無效值和缺失值。這種辦法簡單,但沒有充分考慮數(shù)據(jù)中已有的信息,誤差可能較大。另一種辦法就是根據(jù)調查對象對其他問題的答案,通過變量之間的相關分析或邏輯推論進行估計。例如,某一產(chǎn)品的擁有情況可能與家庭收入有關,可以根據(jù)調查對象的家庭收入推算擁有這一產(chǎn)品的可能性。

整例刪除(casewise deletion)是剔除含有缺失值的樣本。由于很多問卷都可能存在缺失值,這種做法的結果可能導致有效樣本量大大減少,無法充分利用已經(jīng)收集到的數(shù)據(jù)。因此,只適合關鍵變量缺失,或者含有無效值或缺失值的樣本比重很小的情況。

變量刪除(variable deletion)。如果某一變量的無效值和缺失值很多,而且該變量對于所研究的問題不是特別重要,則可以考慮將該變量刪除。這種做法減少了供分析用的變量數(shù)目,但沒有改變樣本量。

成對刪除(pairwise deletion)是用一個特殊碼(通常是9、99、999等)代表無效值和缺失值,同時保留數(shù)據(jù)集中的全部變量和樣本。但是,在具體計算時只采用有完整答案的樣本,因而不同的分析因涉及的變量不同,其有效樣本量也會有所不同。這是一種保守的處理方法,最大限度地保留了數(shù)據(jù)集中的可用信息。

采用不同的處理方法可能對分析結果產(chǎn)生影響,尤其是當缺失值的出現(xiàn)并非隨機且變量之間明顯相關時。因此,在調查中應當盡量避免出現(xiàn)無效值和缺失值,保證數(shù)據(jù)的完整性。

2.數(shù)據(jù)清洗原理[2]

數(shù)據(jù)清洗原理:利用有關技術如數(shù)理統(tǒng)計、數(shù)據(jù)挖掘或預定義的清理規(guī)則將臟數(shù)據(jù)轉化為滿足數(shù)據(jù)質量要求的數(shù)據(jù),如圖所示。

Image:數(shù)據(jù)清理原理.jpg

3.數(shù)據(jù)清洗的實現(xiàn)方式與范圍[2]

按數(shù)據(jù)清洗的實現(xiàn)方式與范圍,可分為4種:

(1) 手工實現(xiàn),通過人工檢查,只要投入足夠的人力物力財力,也能發(fā)現(xiàn)所有錯誤,但效率低下。在大數(shù)據(jù)量的情況下,幾乎是不可能的。

(2) 通過專門編寫的應用程序,這種方法能解決某個特定的問題,但不夠靈活,特別是在清理過程需要反復進行(一般來說,數(shù)據(jù)清理一遍就達到要求的很少)時,導致程序復雜,清理過程變化時,工作量大。而且這種方法也沒有充分利用目前數(shù)據(jù)庫提供的強大數(shù)據(jù)處理能力 。

(3) 解決某類特定應用域的問題,如根據(jù)概率統(tǒng)計學原理查找數(shù)值異常的記錄,對姓名、地址、郵政編碼等進行清理,這是目前研究得較多的領域,也是應用最成功的一類。如商用系統(tǒng): Trillinm Software , System Match Maketr 等。

(4) 與特定應用領域無關的數(shù)據(jù)清理,這一部分的研究主要集中在清理重復的記錄上,如Data Cleanser Data Blade Module ,Integrity 系統(tǒng)等。

這4種實現(xiàn)方法,由于后兩種具有某種通用性,較大的實用性,引起了越來越多的注意。但是不管哪種方法,大致都由三個階段組成: ①數(shù)據(jù)分析、定義錯誤類型; ②搜索、識別錯誤記錄; ③修正錯誤。

第一階段,盡管已有一些數(shù)據(jù)分析工具,但仍以人工分析為主。在錯誤類型分為兩大類:單數(shù)據(jù)源與多數(shù)據(jù)源,并將它們又各分為結構級與記錄級錯誤。這種分類非常適合于解決數(shù)據(jù)倉庫中的數(shù)據(jù)清理問題。

第二階段,有兩種基本的思路用于識別錯誤:一種是發(fā)掘數(shù)據(jù)中存在的模式,然后利用這些模式清理數(shù)據(jù);另一種是基于數(shù)據(jù)的,根據(jù)預定義的清理規(guī)則,查找不匹配的記錄。后者用得更多。

第三階段,某些特定領域能夠根據(jù)發(fā)現(xiàn)的錯誤模式,編制程序或借助于外部標準源文件、數(shù)據(jù)字典一定程度上修正錯誤;對數(shù)值字段,有時能根據(jù)數(shù)理統(tǒng)計知識自動修正,但經(jīng)常須編制復雜的程序或借助于人工干預完成。

絕大部分數(shù)據(jù)清理方案提供接口用于編制清理程序。它們一般來說包括很多耗時的排序、比較、匹配過程,且這些過程多次重復,用戶必須等待較長時間。在一個交互式的數(shù)據(jù)清理方案。系統(tǒng)將錯誤檢測與清理緊密結合起來,用戶能通過直觀的圖形化界面一步步地指定清理操作,且能立即看到此時的清理結果, (僅僅在所見的數(shù)據(jù)上進行清理,所以速度很快) 不滿意清理效果時還能撤銷上一步的操作,最后將所有清理操作編譯執(zhí)行。并且這種方案對清理循環(huán)錯誤非常有效。

許多數(shù)據(jù)清理工具提供了描述性語言解決用戶友好性,降低用戶編程復雜度。如ARKTOS 方案提供了XADL 語言(一種基于預定義的DTD 的XML 語言) 、SADL 語言,在ATDX 提供了一套宏操作(來自于SQL 語句及外部函數(shù)) ,一種SQL2Like 命令語言,這些描述性語言都在一定程度上減輕了用戶的編程難度,但各系統(tǒng)一般不具有互操作性,不能通用。

數(shù)據(jù)清理屬于一個較新的研究領域,直接針對這方面的研究并不多,中文數(shù)據(jù)清理更少?,F(xiàn)在的研究主要為解決兩個問題:發(fā)現(xiàn)異常、清理重復記錄。

4.數(shù)據(jù)清洗的方法[3]

一般來說,數(shù)據(jù)清理是將數(shù)據(jù)庫精簡以除去重復記錄,并使剩余部分轉換成標準可接收格式的過程。數(shù)據(jù)清理標準模型是將數(shù)據(jù)輸入到數(shù)據(jù)清理處理器,通過一系列步驟“ 清理”數(shù)據(jù),然后以期望的格式輸出清理過的數(shù)據(jù)(如上圖所示)。數(shù)據(jù)清理從數(shù)據(jù)的準確性、完整性、一致性、惟一性、適時性、有效性幾個方面來處理數(shù)據(jù)的丟失值、越界值、不一致代碼、重復數(shù)據(jù)等問題。

數(shù)據(jù)清理一般針對具體應用,因而難以歸納統(tǒng)一的方法和步驟,但是根據(jù)數(shù)據(jù)不同可以給出相應的數(shù)據(jù)清理方法。

1.解決不完整數(shù)據(jù)( 即值缺失)的方法

大多數(shù)情況下,缺失的值必須手工填入( 即手工清理)。當然,某些缺失值可以從本數(shù)據(jù)源或其它數(shù)據(jù)源推導出來,這就可以用平均值、最大值、最小值或更為復雜的概率估計代替缺失的值,從而達到清理的目的。

2.錯誤值的檢測及解決方法

統(tǒng)計分析的方法識別可能的錯誤值或異常值,如偏差分析、識別不遵守分布或回歸方程的值,也可以用簡單規(guī)則庫( 常識性規(guī)則、業(yè)務特定規(guī)則等)檢查數(shù)據(jù)值,或使用不同屬性間的約束、外部的數(shù)據(jù)來檢測和清理數(shù)據(jù)。

3.重復記錄的檢測及消除方法

數(shù)據(jù)庫中屬性值相同的記錄被認為是重復記錄,通過判斷記錄間的屬性值是否相等來檢測記錄是否相等,相等的記錄合并為一條記錄(即合并/清除)。合并/清除是消重的基本方法。

4.不一致性( 數(shù)據(jù)源內部及數(shù)據(jù)源之間)的檢測及解決方法

從多數(shù)據(jù)源集成的數(shù)據(jù)可能有語義沖突,可定義完整性約束用于檢測不一致性,也可通過分析數(shù)據(jù)發(fā)現(xiàn)聯(lián)系,從而使得數(shù)據(jù)保持一致。目前開發(fā)的數(shù)據(jù)清理工具大致可分為三類。

數(shù)據(jù)遷移工具允許指定簡單的轉換規(guī)則,如:將字符串gender替換成sex。sex公司的PrismWarehouse是一個流行的工具,就屬于這類。

數(shù)據(jù)清洗工具使用領域特有的知識( 如,郵政地址)對數(shù)據(jù)作清洗。它們通常采用語法分析和模糊匹配技術完成對多數(shù)據(jù)源數(shù)據(jù)的清理。某些工具可以指明源的“ 相對清潔程度”。工具Integrity和Trillum屬于這一類。

數(shù)據(jù)審計工具可以通過掃描數(shù)據(jù)發(fā)現(xiàn)規(guī)律和聯(lián)系。因此,這類工具可以看作是數(shù)據(jù)挖掘工具的變形。

評論  |   0條評論