魏 瑤/文
現(xiàn)代社會中,數(shù)據(jù)是構(gòu)成信息的基本形式,特別是統(tǒng)計調(diào)查中的數(shù)據(jù)。如何從海量數(shù)據(jù)中提取有價值信息,數(shù)據(jù)清洗就顯得尤為重要。數(shù)據(jù)清洗是研究如何檢測并消除數(shù)據(jù)中的錯誤、不一致等問題的一種手段,也是提升數(shù)據(jù)質(zhì)量的有效途徑。從數(shù)據(jù)來源、數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)與特點(diǎn)來看,高質(zhì)量的數(shù)據(jù)所產(chǎn)生的價值越來越大。為此,本文針對數(shù)據(jù)的采集、整理、存儲、分析,就數(shù)據(jù)清洗環(huán)節(jié)進(jìn)行重點(diǎn)探討,并對數(shù)據(jù)清洗流程、數(shù)據(jù)清洗中的問題提出應(yīng)對建議。
數(shù)據(jù)清洗,從概念上講是基于目標(biāo)數(shù)據(jù),通過采用不同的數(shù)據(jù)檢測、審查、處理、校驗方法,實(shí)現(xiàn)對數(shù)據(jù)的糾錯,清除原數(shù)據(jù)中“臟”的信息,如一些統(tǒng)計調(diào)查中的無效值、缺失值、重復(fù)數(shù)據(jù)、異常數(shù)據(jù)等。數(shù)據(jù)清洗在海量數(shù)據(jù)信息挖掘中具有重要的應(yīng)用價值,借助對“臟數(shù)據(jù)”的清洗提升數(shù)據(jù)質(zhì)量,可以為各類分析決策提供科學(xué)、準(zhǔn)確的評判依據(jù),提升統(tǒng)計調(diào)查結(jié)果的公信力。從數(shù)據(jù)清洗的對象來看,由于不同類型、不同規(guī)模的數(shù)據(jù)差異性,可以歸納為單數(shù)據(jù)源、多數(shù)據(jù)源兩類。在數(shù)據(jù)采集方式上,有手工錄入的問卷調(diào)查數(shù)據(jù),也有網(wǎng)絡(luò)調(diào)查系統(tǒng)數(shù)據(jù)、計算機(jī)輔助電話調(diào)查設(shè)計以及PDA 等移動終端采集的數(shù)據(jù)等。單數(shù)據(jù)源中,因缺失完整性約束條件,而出現(xiàn)數(shù)據(jù)差錯、缺失等問題;多數(shù)據(jù)源中,因字段名稱沖突、屬性值、數(shù)據(jù)結(jié)構(gòu)沖突等,也會出現(xiàn)統(tǒng)計邏輯錯誤等。無論是單數(shù)據(jù)源還是多數(shù)據(jù)源,數(shù)據(jù)質(zhì)量是評價數(shù)據(jù)效用的重要指標(biāo)。
從提升數(shù)據(jù)質(zhì)量維度來看,數(shù)據(jù)清洗是最有效的解決方法。對于數(shù)據(jù)清洗,考慮到數(shù)據(jù)分析的可靠性與一致性,需要對數(shù)據(jù)源進(jìn)行預(yù)“清洗”或預(yù)“修復(fù)”,便于提升后續(xù)清洗環(huán)節(jié)的效率。從數(shù)據(jù)清洗過程來看,主要分為:一是對原數(shù)據(jù)進(jìn)行備份,并做好清洗前準(zhǔn)備。通常,面對一項統(tǒng)計調(diào)查所采集的數(shù)據(jù)信息,需要結(jié)合數(shù)據(jù)采集方式進(jìn)行提前合并和預(yù)處理。如電話回訪、網(wǎng)絡(luò)調(diào)查、面談等方式所獲取的數(shù)據(jù),需要做好數(shù)據(jù)信息的錄入、整理和存儲。同時,面對不同來源的數(shù)據(jù)信息,在進(jìn)行合并時,還需要結(jié)合數(shù)據(jù)格式、變量名稱、數(shù)據(jù)類型等進(jìn)行一致性處理。在對數(shù)據(jù)進(jìn)行清洗作業(yè)前,一定要先對原始數(shù)據(jù)進(jìn)行備份,避免因數(shù)據(jù)清洗而帶來數(shù)據(jù)丟失或損壞。二是對數(shù)據(jù)進(jìn)行審核處理。根據(jù)數(shù)據(jù)量的實(shí)際規(guī)模,在數(shù)據(jù)審核中可采用人工審核、計算機(jī)軟件審核或者兩者相結(jié)合方式對數(shù)據(jù)中的“臟數(shù)據(jù)”進(jìn)行校驗、處理。三是數(shù)據(jù)驗證與評估。對數(shù)據(jù)進(jìn)行清洗后,需要進(jìn)行科學(xué)驗證和評估,如果評估后出現(xiàn)偏差,則需要重新優(yōu)化清洗方案,進(jìn)行再次清洗。四是對清洗后的數(shù)據(jù)建立新的數(shù)據(jù)源備份,便于后續(xù)數(shù)據(jù)挖掘與處理。
從數(shù)據(jù)清洗環(huán)節(jié)來看,主要的清洗技術(shù)有人工清洗、計算機(jī)清洗、兩者聯(lián)合清洗等。通常,面對非標(biāo)數(shù)據(jù)源或者數(shù)據(jù)量相對較少的情況,可以借助于人工檢測方式來進(jìn)行人工清洗。但對于數(shù)據(jù)庫龐大、數(shù)據(jù)結(jié)構(gòu)復(fù)雜的數(shù)據(jù)源,可以引入計算機(jī)清洗。利用SPSS、SAS、Python 等軟件,通過設(shè)置校驗規(guī)則,對數(shù)據(jù)源中的不同字段的取值范圍、缺失值、數(shù)據(jù)類型、拼寫錯誤檢查等進(jìn)行識別,對離散程度不大的數(shù)據(jù)源,可以通過數(shù)據(jù)分布特征或箱線圖來進(jìn)行處理。需要強(qiáng)調(diào)的是,在數(shù)據(jù)清洗過程中,準(zhǔn)確性、完整度、現(xiàn)時度、一致度等都是衡量數(shù)據(jù)清洗質(zhì)量的重要指標(biāo)。如某數(shù)據(jù)以<e,a,v>方式進(jìn)行描述,e 表示實(shí)體,a 表示屬性,v 表示具體值。準(zhǔn)確度就表示為v 值與真實(shí)值v'的接近程度。若v=v',則被認(rèn)為是準(zhǔn)確的,否則,這個值是不準(zhǔn)確的。完整度表示為對一切實(shí)體的所有屬性,其對應(yīng)值是否完整的程度。現(xiàn)時度是與數(shù)據(jù)源中的數(shù)據(jù)信息是否會隨著時間的變化而改變,如人的年齡、體重等信息,并非靜態(tài)的。現(xiàn)時度就是衡量時態(tài)數(shù)據(jù)的一個維度,如果某數(shù)據(jù)在t 時刻是準(zhǔn)確的,如果在t時刻是過期的,則數(shù)據(jù)的值是不準(zhǔn)確的。一致度是衡量數(shù)據(jù)的值是否與數(shù)據(jù)模型所定義的約束條件保持一致。在一些商業(yè)調(diào)查中,數(shù)據(jù)庫中的數(shù)據(jù)在不同環(huán)境下被設(shè)計成不同模型,而同一數(shù)據(jù)在不同數(shù)據(jù)模型中的表現(xiàn)形式也不盡相同,這就需要對數(shù)據(jù)進(jìn)行抽取、整合,來解決數(shù)據(jù)一致性問題。如某人收入信息字段,一些數(shù)據(jù)庫是以人民幣為結(jié)算單位,一些數(shù)據(jù)以美元為結(jié)算單位,這就需要對該字段數(shù)據(jù)一致性進(jìn)行處理。最后,對于數(shù)據(jù)清洗,還需要結(jié)合數(shù)據(jù)質(zhì)量要求,進(jìn)行數(shù)據(jù)審核與評估,來提升數(shù)據(jù)清洗的準(zhǔn)確性、完整性、現(xiàn)時度、一致度。
數(shù)據(jù)清洗中常見問題主要有異常值、缺失值、樣本重復(fù)或其他數(shù)據(jù)類型錯誤等。通常,在異常值處理中,面對數(shù)據(jù)樣本中的個別值與樣本屬性值之間存在較大或明顯的偏差,從而表現(xiàn)出異常值現(xiàn)象。數(shù)據(jù)清洗時,可以通過設(shè)置箱形圖方式,對一些異常值的范圍進(jìn)行設(shè)置,通過閾值方式來規(guī)避大于或小于箱形圖上下界的數(shù)值,都給予異常值處理。在處理異常值問題時,一種方式是將異常值轉(zhuǎn)變?yōu)槿笔е?,再進(jìn)行填補(bǔ)缺失值;另一種方式是直接刪除,不做統(tǒng)計分析。一般而言,對調(diào)查數(shù)據(jù)的刪除操作要謹(jǐn)慎,因為一些被刪除數(shù)據(jù)可能也是對某種情況的反映,如果盲目刪除異常值數(shù)據(jù),可能帶來調(diào)查統(tǒng)計結(jié)果的失真。如在對某吸煙群體進(jìn)行統(tǒng)計調(diào)查中,吸煙量中的個別異常數(shù)據(jù),可能與煙民所在地區(qū)、年齡、職業(yè)等有較大關(guān)系。如果將這些異常值進(jìn)行刪除,可能會影響分析結(jié)果。因此,在數(shù)據(jù)清洗過程中,對于異常值的處理要審慎,要結(jié)合具體的字段、數(shù)據(jù)類型及調(diào)查實(shí)際,對相關(guān)異常值進(jìn)行判斷分析。異常值數(shù)據(jù)是否為錄入錯誤,可以通過查看紙質(zhì)問卷、訪談錄音,或者電話聯(lián)系受訪者等方式進(jìn)行復(fù)核。針對錄入錯誤在核實(shí)后可以進(jìn)行直接修改;對于真實(shí)的異常值,還應(yīng)該作為調(diào)查統(tǒng)計的一部分。
調(diào)查統(tǒng)計中的數(shù)據(jù)出現(xiàn)缺失值時,其處理方法有以下幾種:
1.將空缺樣本數(shù)據(jù)提交給調(diào)查機(jī)構(gòu)復(fù)核,并補(bǔ)充完整。
2.當(dāng)樣本數(shù)量足夠大時,可以直接刪除,對總體數(shù)據(jù)影響不大。
3.采用特殊填充方法。結(jié)合數(shù)據(jù)調(diào)查內(nèi)容、屬性值類型,根據(jù)樣本均值、中位數(shù)、眾數(shù)等方式進(jìn)行填充。當(dāng)然,特殊填充法本身就對數(shù)據(jù)帶來了影響,因此要合理綜合,避免填充值給數(shù)據(jù)調(diào)查帶來嚴(yán)重偏差。
4.根據(jù)變量間的關(guān)系進(jìn)行推算。如根據(jù)行政區(qū)劃碼,填寫對應(yīng)城市信息等。
另外,一些大型統(tǒng)計調(diào)查項目在調(diào)查中可能會有備用樣本,針對一些有異常值、缺失值的數(shù)據(jù)樣本,還可以直接從備用樣本中進(jìn)行補(bǔ)充。針對調(diào)查樣本中的重復(fù)問題,如利用SAS 軟件對數(shù)據(jù)字段進(jìn)行處理時,可以通過設(shè)置比對條件來檢查樣本是否重復(fù)。同樣,在對數(shù)據(jù)進(jìn)行清洗時,一些變量本身具有重復(fù)性,如地區(qū)、姓名、電話等存在重復(fù)時,可以進(jìn)行原始數(shù)據(jù)核查、確認(rèn)后給予刪除處理。針對統(tǒng)計調(diào)查中數(shù)據(jù)清洗時的其他錯誤問題,如一些字段數(shù)據(jù)類型不匹配,數(shù)據(jù)存儲格式不合理,拼寫錯誤,單個字段存在多個值,或者數(shù)據(jù)間存在矛盾性等。對于該類問題,通常需要結(jié)合數(shù)據(jù)樣本原始數(shù)據(jù),就可能存在的錄入錯誤進(jìn)行核查,是否存在錄入錯誤、受訪者信息是否失真等等。數(shù)據(jù)清洗時,對一些變量值出現(xiàn)的異常問題,要根據(jù)描述性統(tǒng)計信息,分析各個變量的合理取值范圍,對于不符合邏輯或存在矛盾的數(shù)據(jù)進(jìn)行檢測,并進(jìn)行處理。
實(shí)際操作中,根據(jù)統(tǒng)計調(diào)查數(shù)據(jù)源的規(guī)模及數(shù)據(jù)質(zhì)量要求,需要對“臟數(shù)據(jù)”進(jìn)行分析,并對出現(xiàn)的數(shù)據(jù)偏差進(jìn)行處理??傮w而言,為提升數(shù)據(jù)清洗質(zhì)量和效率,建議做好以下工作:
1.重視數(shù)據(jù)清洗環(huán)節(jié),結(jié)合統(tǒng)計調(diào)查數(shù)據(jù),設(shè)置合理、科學(xué)的數(shù)據(jù)清洗方案,提升數(shù)據(jù)清洗質(zhì)量。
2.注重對數(shù)據(jù)清洗人力結(jié)構(gòu)與專業(yè)能力的提升。統(tǒng)計調(diào)查涉及的數(shù)據(jù)量大、人員多,對相關(guān)人員的專業(yè)化水平要求更高。如果不懂統(tǒng)計業(yè)務(wù),可能會帶來數(shù)據(jù)錄入錯誤。一些數(shù)據(jù)在進(jìn)行清洗時,需要從數(shù)據(jù)邏輯關(guān)系上進(jìn)行判斷,對重要數(shù)據(jù)進(jìn)行檢驗,提升數(shù)據(jù)清洗科學(xué)效度。
3.做好數(shù)據(jù)清洗流程安排。根據(jù)數(shù)據(jù)清洗要求,細(xì)化崗位職責(zé),充分發(fā)揮計算機(jī)、人工輔助數(shù)據(jù)清洗優(yōu)勢,保障數(shù)據(jù)清洗質(zhì)量。
4.構(gòu)建統(tǒng)一的數(shù)據(jù)管理平臺,積極引入現(xiàn)代網(wǎng)絡(luò)、大數(shù)據(jù)、云平臺等技術(shù),對相關(guān)數(shù)據(jù)統(tǒng)一收集、存儲、審核、處理,確保數(shù)據(jù)統(tǒng)計分析質(zhì)量。