分析的前提—數據質量3
來源:解決方案 2012-11-21
前面的兩篇文章——分析的前提—數據質量1和分析的前提—數據質量2分別介紹了通過Data Profiling的方法獲取數據的統計信息,并使用Data Auditing來評估數據是否存在質量問題,數據的質量問題可以通過完整性、準確性和一致性三個方面進行審核這篇文章介紹最后一塊內容——數據修正(Data Correcting)
數據審核幫助我們發現數據中存在的問題,而這些問題有時候可以利用一些方法就行修正,從而提升數據的整體質量,數據修正就是為了完成這個任務,可以從以下幾個方面進行修正:
填補缺失值
對于記錄缺失的問題,最簡單的辦法就是數據回補一般而言統計指標數據缺失可以從原始數據中重新統計獲取,而原始數據缺失可以從抽取的數據源或者備份數據中回補如果原始數據完全丟失,基本就回天無力了
對于字段值的缺失,很多資料都會介紹使用一些統計學的方法進行修補,其實就是對缺失值的預測或者估計,一般會使用平均數、眾數、前后值取平均等方法,或者使用回歸分析的方法擬合指標的變化趨勢后進行預測這些方法在缺失值無法使用其他途徑找回或者重新統計計算,并且在缺失值有變化規律可循的前提下都是可取的,當某天的指標值丟失時可以通過這類方法根據前幾天的數據來預估該天的數值
刪除重復記錄
數據集里面某些字段的值必然是唯一的,比如按天統計的指標值中的日期字段,用戶信息表的用戶ID等,這些需要保證唯一的規則可以對數據庫設置唯一約束,但我們在做ETL處理時,有時為了保證數據加載全過程可以不因為違反唯一約束而中斷(有時Load的過程需要較長的時間或處理成本,ETL需要有容錯能力以保證整個過程不被中斷)會先忽略重復記錄,待整個ETL過程結束后再對需要保證唯一的字段進行去重處理
這些重復記錄可以比對Data Profiling中數據統計信息的唯一值個數和記錄總數是否一致進行審核,而進行修正的最簡單辦法就是重復記錄僅保留一條,刪除其他記錄這個需要根據現實情況,有時也可能使用把重復記錄的統計量相加的方法進行去重
轉化不一致記錄
數據的轉化是數據倉庫抽取數據過程中最常見的處理,因為數據倉庫“集成性”的特征,需要把來自多個數據源的數據集中存入數據倉庫,而不同數據源對某些含義相同的字段的編碼規則會存在差異,比如用戶ID,雖然是相同的用戶,但可能A系統的ID是u1001,B系統是1001,C系統是,來源于這三套系統的用戶ID就需要統一,比如我們將A數據源的u前綴去除,C系統ID除100后統一成B系統的編碼方式一起導入數據庫;即使是來源于同一套日志,也可能存在記錄的不一致,比如之前遇到較早發布的產品版本記錄的日志中移動操作系統是Android,而版本更新后記錄改成了android,新老版本的日志打到了一起,于是也會涉及數據的轉化,但這種記錄的不一致性無疑會增加ETL的處理成本
上面舉例的轉化規則是比較簡單的,在數據倉庫的ETL處理數據轉化時可能會遇到一些很BT的規則,這個時候最關鍵的還是對數據源記錄方式足夠的熟悉,這樣才能保證進入數據倉庫的數據是一致的最好的做法就是數據倉庫的開發工程師與其他前臺系統的開發人員能事先約定一套統一的數據記錄和編碼的方式,這樣可以減少后期的協調溝通和轉化處理成本
處理異常數據
異常數據大部分情況是很難修正的,比如字符編碼等問題引起的亂碼,字符被截斷,異常的數值等,這些異常數據如果沒有規律可循幾乎不可能被還原,只能將其直接過濾
有些數據異常則可以被還原,比如原字符中參雜了一些其他的無用字符,可以使用取子串的方法,用trim函數可以去掉字符串前后的空格等;字符被截斷的情況如果可以使用截斷后字符推導出原完整字符串,那么也可以被還原,比如移動操作系統的記錄一般包括Symbian、Android、iPhone、BlackBerry等,如果某些記錄的是And,那么可以被還原成Android,因為其他的移動操作系統被截斷不可能出現And這種記錄數值記錄中存在異常大或者異常小的值是可以分析是否數值單位差異引起的,比如克和千克差了1000倍,美元和人民幣存在匯率的差異,時間記錄可能存在時區的差異,百分比用的是小于1的小數還是已經乘了100等等,這些數值的異常可以通過轉化進行處理,數值單位的差異也可以認為是數據的不一致性,或者是某些數值被錯誤的放大或縮小,比如數值后面被多加了幾個0導致了數據的異常
最后,總結一下數據可修正的前提:1) 數據質量的問題可以通過Data Auditing的過程被審核出來;2) 數據的問題必須有跡可循,可以通過趨勢進行預測或者可以通過一些規則進行轉換還原否者,對于異常數據只能直接進行刪除丟棄,但進行數據過濾之前必須評估異常記錄的比例,當占比過高時需要重新審核原始數據的記錄方式是否存在問題
文章來源:網站數據分析,轉載請注明出處
注:相關網站建設技巧閱讀請移步到建站教程頻道
收藏本文
文章編輯: 365webcall網上客服系統(www.365webcall.com)
我的評論
登錄賬號: | 密碼: | 快速注冊 | 找回密碼 | ![]() |