登錄

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

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

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

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

1.一致性檢查

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

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

由于調(diào)查、編碼和錄入誤差,數(shù)據(jù)中可能存在一些無效值和缺失值,需要給予適當(dāng)?shù)奶幚?。常用的處理方法有:估算,整例刪除,變量刪除和成對(duì)刪除。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2.錯(cuò)誤值的檢測(cè)及解決方法

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

3.重復(fù)記錄的檢測(cè)及消除方法

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

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

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

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

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

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

評(píng)論  |   0條評(píng)論