本發(fā)明涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,具體是一種虛擬化環(huán)境下的多元數(shù)據(jù)清洗技術(shù)。
背景技術(shù):
數(shù)據(jù)清洗是對數(shù)據(jù)進行重新審查和校驗的過程,目的在于刪除重復信息、糾正存在的錯誤,并提供數(shù)據(jù)一致性。
數(shù)據(jù)清洗從名字上也看的出就是把“臟”的“洗掉”,指發(fā)現(xiàn)并糾正數(shù)據(jù)文件中可識別的錯誤的最后一道程序,包括檢查數(shù)據(jù)一致性,處理無效值和缺失值等。因為數(shù)據(jù)倉庫中的數(shù)據(jù)是面向某一主題的數(shù)據(jù)的集合,這些數(shù)據(jù)從多個業(yè)務(wù)系統(tǒng)中抽取而來而且包含歷史數(shù)據(jù),這樣就避免不了有的數(shù)據(jù)是錯誤數(shù)據(jù)、有的數(shù)據(jù)相互之間有沖突,這些錯誤的或有沖突的數(shù)據(jù)顯然是我們不想要的,稱為“臟數(shù)據(jù)”。我們要按照一定的規(guī)則把“臟數(shù)據(jù)”“洗掉”,這就是數(shù)據(jù)清洗。而數(shù)據(jù)清洗的任務(wù)是過濾那些不符合要求的數(shù)據(jù),將過濾的結(jié)果交給數(shù)據(jù)分析引擎,確認是否過濾掉還是由數(shù)據(jù)分析引擎修正之后再進行抽取。不符合要求的數(shù)據(jù)主要是有不完整的數(shù)據(jù)、錯誤的數(shù)據(jù)、重復的數(shù)據(jù)三大類。
目前數(shù)據(jù)清洗方面主要需要克服的問題包括檢查數(shù)據(jù)一致性,處理無效值和缺失值。
1.一致性檢查
一致性檢查是根據(jù)每個變量的合理取值范圍和相互關(guān)系,檢查數(shù)據(jù)是否合乎要求,發(fā)現(xiàn)超出正常范圍、邏輯上不合理或者相互矛盾的數(shù)據(jù)。例如,用報警等級的區(qū)間在0到7之間的變量出現(xiàn)了8值,ip地址信息不合理,都應(yīng)視為不合理數(shù)據(jù)。具有邏輯上不一致性的答案可能以多種形式出現(xiàn):例如,責任人信息錯誤不匹配;或者發(fā)生時間錯誤。發(fā)現(xiàn)不一致時,要記錄序號、變量名稱、錯誤類別等,便于進一步核對和糾正。
2.無效值和缺失值的處理
由于調(diào)查、編碼和錄入誤差,數(shù)據(jù)中可能存在一些無效值和缺失值,需要給予適當?shù)奶幚?。常用的處理方法有:估算,整例刪除,變量刪除和成對刪除。
估算 最簡單的辦法就是用某個變量的樣本均值、中位數(shù)或眾數(shù)代替無效值和缺失值。這種辦法簡單,但沒有充分考慮數(shù)據(jù)中已有的信息,誤差可能較大。另一種辦法就是根據(jù)調(diào)查對象對其他問題的答案,通過變量之間的相關(guān)分析或邏輯推論進行估計。例如,責任人的信息缺失可以通過資產(chǎn)管理里面計算機相關(guān)信息獲取對人員信息做到關(guān)聯(lián)獲取。
整例刪除是剔除含有缺失值的樣本。由于數(shù)據(jù)可能存在缺失值,這種做法的結(jié)果可能導致有效樣本量減少,造成后期的責任認定出現(xiàn)偏差。因此,只適合關(guān)鍵變量缺失,或者含有無效值或缺失值的樣本比重很小的情況。
變量刪除如果某一變量的無效值和缺失值很多,而且該變量對于分析引擎進行的責任認定不重要,則可以考慮將該變量刪除。這種做法減少了供分析用的變量數(shù)目,但沒有改變樣本量。
成對刪除是用一個特殊碼代表無效值和缺失值,同時保留數(shù)據(jù)集中的全部變量和樣本。但是,在具體計算時只采用有完整答案的樣本,因而不同的分析因涉及的變量不同,其有效樣本量也會有所不同。這是一種保守的處理方法,最大限度地保留了數(shù)據(jù)集中的可用信息。
采用不同的處理方法可能對分析結(jié)果產(chǎn)生影響,尤其是當缺失值的出現(xiàn)并非隨機且變量之間明顯相關(guān)時。因此,在調(diào)查中應(yīng)當盡量避免出現(xiàn)無效值和缺失值,保證數(shù)據(jù)的完整性。
一般來說,數(shù)據(jù)清洗是將數(shù)據(jù)進行精簡以去除重復記錄,并使剩余部分轉(zhuǎn)換成標準可接收格式的過程。數(shù)據(jù)清洗標準模型是將數(shù)據(jù)輸入到數(shù)據(jù)清洗處理器,通過一系列步驟“ 清洗”數(shù)據(jù),然后以期望的格式輸出清洗過的數(shù)據(jù)。數(shù)據(jù)清洗從數(shù)據(jù)的準確性、完整性、一致性、惟一性、適時性、有效性幾個方面來處理數(shù)據(jù)的丟失值、越界值、不一致代碼、重復數(shù)據(jù)等問題。
對數(shù)據(jù)的清洗采用以下幾種方法來解決:
1.解決不完整數(shù)據(jù)( 即值缺失)的方法
大多數(shù)情況下,缺失的值可以手工填入( 即手工清理)。當然,某些缺失值可以從本數(shù)據(jù)源或其它數(shù)據(jù)源推導出來,這就可以用平均值、最大值、最小值或更為復雜的概率估計代替缺失的值,從而達到清理的目的。
2.錯誤值的檢測及解決方法
用統(tǒng)計分析的方法識別可能的錯誤值或異常值,如偏差分析、識別不遵守分布或回歸方程的值,也可以用規(guī)則庫的形式檢查數(shù)據(jù)值,或使用不同屬性間的約束、外部的數(shù)據(jù)來檢測和清理數(shù)據(jù)。
3.重復記錄的檢測及消除方法
數(shù)據(jù)庫中屬性值相同的記錄被認為是重復記錄,通過判斷記錄間的屬性值是否相等來檢測記錄是否相等,相等的記錄合并為一條記錄(即合并/清除)。合并/清除是消重的基本方法。
4.不一致性( 數(shù)據(jù)源內(nèi)部及數(shù)據(jù)源之間)的檢測及解決方法
從多數(shù)據(jù)源集成的數(shù)據(jù)可能有語義沖突,可定義完整性約束用于檢測不一致性,也可通過分析數(shù)據(jù)發(fā)現(xiàn)聯(lián)系,從而使得數(shù)據(jù)保持一致。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于提供一種見效快、效果好的虛擬化環(huán)境下的多元數(shù)據(jù)清洗技術(shù),以解決上述背景技術(shù)中提出的問題。
為實現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:
一種虛擬化環(huán)境下的多元數(shù)據(jù)清洗技術(shù),包含以下步驟:(1)數(shù)據(jù)分析、定義錯誤類型,(2)搜索、識別錯誤記錄,(3)修正錯誤。
作為本發(fā)明進一步的方案:所述步驟(1)具體是:利用數(shù)據(jù)分析工具,來篩選錯誤數(shù)據(jù)。在錯誤類型分為兩大類:單數(shù)據(jù)源與多數(shù)據(jù)源,并將它們又各分為結(jié)構(gòu)級與記錄級錯誤。這種分類非常適合于解決數(shù)據(jù)倉庫中的數(shù)據(jù)清理問題。
作為本發(fā)明進一步的方案:所述步驟(2)具體是:在搜索、識別錯誤記錄方面,根據(jù)自定義的清理規(guī)則庫,查找不匹配的記錄。
作為本發(fā)明進一步的方案:所述步驟(3)具體是:根據(jù)發(fā)現(xiàn)的錯誤模式,通過關(guān)聯(lián)查詢一定程度上修正錯誤;對數(shù)值字段,能根據(jù)數(shù)理統(tǒng)計知識自動修正,少量不能自動修復的數(shù)據(jù)可以借助于人工干預(yù)完成。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:經(jīng)過本方法數(shù)據(jù)清洗之后:數(shù)據(jù)質(zhì)量至少達到:1)數(shù)據(jù)對用戶必須是可信的??尚判园ň_性、完整性、一致性、有效性、唯一性等指標。(1)精確性:描述數(shù)據(jù)是否與其對應(yīng)的客觀實體的特征相一致。(2)完整性:描述數(shù)據(jù)是否存在缺失記錄或缺失字段。(3)一致性:描述同一實體的同一屬性的值在不同的系統(tǒng)是否一致。(4)有效性: 描述數(shù)據(jù)是否滿足用戶定義的條件或在一定的域值范圍(5)唯一性描述數(shù)據(jù)是否存在重復記錄。
具體實施方式
下面將結(jié)合本發(fā)明實施例,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
本發(fā)明實施例中,一種虛擬化環(huán)境下的多元數(shù)據(jù)清洗技術(shù),包含以下步驟:(1)數(shù)據(jù)分析、定義錯誤類型,(2)搜索、識別錯誤記錄,(3)修正錯誤。
步驟(1)具體是:利用數(shù)據(jù)分析工具,來篩選錯誤數(shù)據(jù)。在錯誤類型分為兩大類:單數(shù)據(jù)源與多數(shù)據(jù)源,并將它們又各分為結(jié)構(gòu)級與記錄級錯誤。這種分類非常適合于解決數(shù)據(jù)倉庫中的數(shù)據(jù)清理問題。步驟(2)具體是:在搜索、識別錯誤記錄方面,根據(jù)自定義的清理規(guī)則庫,查找不匹配的記錄。步驟(3)具體是:根據(jù)發(fā)現(xiàn)的錯誤模式,通過關(guān)聯(lián)查詢一定程度上修正錯誤;對數(shù)值字段,能根據(jù)數(shù)理統(tǒng)計知識自動修正,少量不能自動修復的數(shù)據(jù)可以借助于人工干預(yù)完成。
本發(fā)明的工作原理是:普通的數(shù)據(jù)清洗技術(shù)一般來說包括很多耗時的排序、比較、匹配過程,且這些過程多次重復,用戶必須等待較長時間。本發(fā)明是一個交互式的數(shù)據(jù)清理方案。系統(tǒng)將錯誤檢測與清理緊密結(jié)合起來,用戶能通過直觀的圖形化界面一步步地指定清理操作,且能立即看到此時的清理結(jié)果, (僅僅在所見的數(shù)據(jù)上進行清理,所以速度很快) 不滿意清理效果時還能撤銷上一步的操作,最后將所有清理操作編譯執(zhí)行。并且這種方案對清理循環(huán)錯誤非常有效。
清洗過程中提供了描述性語言解決用戶友好性,降低使用者的復雜度。同時增加了中文數(shù)據(jù)的特色清理方式。
對于本領(lǐng)域技術(shù)人員而言,顯然本發(fā)明不限于上述示范性實施例的細節(jié),而且在不背離本發(fā)明的精神或基本特征的情況下,能夠以其他的具體形式實現(xiàn)本發(fā)明。因此,無論從哪一點來看,均應(yīng)將實施例看作是示范性的,而且是非限制性的,本發(fā)明的范圍由所附權(quán)利要求而不是上述說明限定,因此旨在將落在權(quán)利要求的等同要件的含義和范圍內(nèi)的所有變化囊括在本發(fā)明內(nèi)。
此外,應(yīng)當理解,雖然本說明書按照實施方式加以描述,但并非每個實施方式僅包含一個獨立的技術(shù)方案,說明書的這種敘述方式僅僅是為清楚起見,本領(lǐng)域技術(shù)人員應(yīng)當將說明書作為一個整體,各實施例中的技術(shù)方案也可以經(jīng)適當組合,形成本領(lǐng)域技術(shù)人員可以理解的其他實施方式。