數(shù)據(jù)質(zhì)量在數(shù)據(jù)分析中的重要性毋庸置疑,數(shù)據(jù)的質(zhì)量直接影響數(shù)據(jù)的產(chǎn)出和數(shù)據(jù)價(jià)值高低;或許這個(gè)大家或多或少都有這個(gè)認(rèn)識(shí),但是保證高質(zhì)量的數(shù)據(jù)不是那么容易做到的?。?/p> 今天給大家分享的是什么樣的數(shù)據(jù)才算是高質(zhì)量,個(gè)人認(rèn)為覺得包括以下4個(gè)要素:準(zhǔn)確、完整、一致和及時(shí) 1、準(zhǔn)確性數(shù)據(jù)中記錄的信息和數(shù)據(jù)是否準(zhǔn)確,是否存在異?;蛘咤e(cuò)誤的信息。 導(dǎo)致一致性問(wèn)題的原因可能是數(shù)據(jù)記錄的規(guī)則不一,但不一定存在錯(cuò)誤;而準(zhǔn)確性關(guān)注的是數(shù)據(jù)記錄中存在的錯(cuò)誤,比如字符型數(shù)據(jù)的亂碼現(xiàn)象也應(yīng)該歸到準(zhǔn)確性的考核范疇,另外就是異常的數(shù)值,異常大或者異常小的數(shù)值,不符合有效性要求的數(shù)值,如訪問(wèn)量Visits一定是整數(shù)、年齡一般在1-100之間、轉(zhuǎn)化率一定是介于0到1的值等。對(duì)數(shù)據(jù)準(zhǔn)確性的審核有時(shí)會(huì)遇到困難,因?yàn)閷?duì)于沒(méi)有明顯異常的錯(cuò)誤值我們很難發(fā)現(xiàn)。 2、完整性 數(shù)據(jù)的記錄和信息是否完整,是否存在缺失的情況。 數(shù)據(jù)的缺失主要有記錄的缺失和記錄中某個(gè)字段信息的缺失,兩者都會(huì)造成統(tǒng)計(jì)結(jié)果的不準(zhǔn)確,所以完整性是數(shù)據(jù)質(zhì)量最基礎(chǔ)的保障,而對(duì)完整性的評(píng)估相對(duì)比較容易。 3、一致性數(shù)據(jù)的記錄是否符合規(guī)范,是否與前后及其他數(shù)據(jù)集合保持統(tǒng)一。 數(shù)據(jù)的一致性主要包括數(shù)據(jù)記錄的規(guī)范和數(shù)據(jù)邏輯的一致性。數(shù)據(jù)記錄的規(guī)范主要是數(shù)據(jù)編碼和格式的問(wèn)題,比如網(wǎng)站的用戶ID是15位的數(shù)字、商品ID是10位數(shù)字,商品包括20個(gè)類目、IP地址一定是用”.”分隔的4個(gè)0-255的數(shù)字組成,及一些定義的數(shù)據(jù)約束,比如完整性的非空約束、唯一值約束等;數(shù)據(jù)邏輯性主要是指標(biāo)統(tǒng)計(jì)和計(jì)算的一致性,比如PV>=UV,新用戶比例在0-1之間等。數(shù)據(jù)的一致性審核是數(shù)據(jù)質(zhì)量審核中比較重要也是比較復(fù)雜的一塊。 4、及時(shí)性數(shù)據(jù)從產(chǎn)生到可以查看的時(shí)間間隔,也叫數(shù)據(jù)的延時(shí)時(shí)長(zhǎng)。 雖然說(shuō)分析型數(shù)據(jù)的實(shí)時(shí)性要求并不是太高,但并不意味了就沒(méi)有要求,分析師可以接受當(dāng)天的數(shù)據(jù)要第二天才能查看,但如果數(shù)據(jù)要延時(shí)兩三天才能出來(lái),或者每周的數(shù)據(jù)分析報(bào)告要兩周后才能出來(lái),那么分析的結(jié)論可能已經(jīng)失去時(shí)效性,分析師的工作只是徒勞;同時(shí),某些實(shí)時(shí)分析和決策需要用到小時(shí)或者分鐘級(jí)的數(shù)據(jù),這些需求對(duì)數(shù)據(jù)的時(shí)效性要求極高。所以及時(shí)性也是數(shù)據(jù)質(zhì)量的組成要素之一。 Data Auditing基于數(shù)據(jù)質(zhì)量的4個(gè)要素,可以對(duì)數(shù)據(jù)進(jìn)行審核,以評(píng)估數(shù)據(jù)是否滿足完整性、一致性、準(zhǔn)確性和及時(shí)性這4方面的要求,其中數(shù)據(jù)的及時(shí)性主要跟數(shù)據(jù)的同步和處理過(guò)程的效率相關(guān),更多的是通過(guò)監(jiān)控ETL任務(wù)的方式來(lái)保證數(shù)據(jù)的及時(shí)性,所以這里的數(shù)據(jù)審核主要指的是評(píng)估數(shù)據(jù)的完整性、一致性和準(zhǔn)確性。 完整性我們從Data Profiling得到的數(shù)據(jù)統(tǒng)計(jì)信息里面看看哪些可以用來(lái)審核數(shù)據(jù)的完整性。首先是記錄的完整性,一般使用統(tǒng)計(jì)的記錄數(shù)和唯一值個(gè)數(shù)。比如網(wǎng)站每天的日志記錄數(shù)是相對(duì)恒定的,大概在1000萬(wàn)上下波動(dòng),如果某天的日志記錄數(shù)下降到了只有100萬(wàn),那很有可能記錄缺失了;或者網(wǎng)站的訪問(wèn)記錄應(yīng)該在一天的24小時(shí)均有分布,如果某個(gè)整點(diǎn)完全沒(méi)有用戶訪問(wèn)記錄,那么很有可能網(wǎng)站在當(dāng)時(shí)出了問(wèn)題或者那個(gè)時(shí)刻的日志記錄傳輸出現(xiàn)了問(wèn)題;再如統(tǒng)計(jì)訪客的地域分布時(shí),一般會(huì)包括全國(guó)的32個(gè)省份直轄市,如果統(tǒng)計(jì)的省份唯一值個(gè)數(shù)少于32,那么很有可能數(shù)據(jù)也存在缺失。 完整性的另一方面,記錄中某個(gè)字段的數(shù)據(jù)缺失,可以使用統(tǒng)計(jì)信息中的空值(NULL)的個(gè)數(shù)進(jìn)行審核。如果某個(gè)字段的信息理論上必然存在,比如訪問(wèn)的頁(yè)面地址、購(gòu)買的商品ID等,那么這些字段的空值個(gè)數(shù)的統(tǒng)計(jì)就應(yīng)該是0,這些字段我們可以使用非空(NOT NULL)約束來(lái)保證數(shù)據(jù)的完整性;對(duì)于某些允許空的字段,比如用戶的cookie信息不一定存在(用戶禁用cookie),但空值的占比基本恒定,比如cookie為空的用戶比例通常在2%-3%,我們同樣可以使用統(tǒng)計(jì)的空值個(gè)數(shù)來(lái)計(jì)算空值占比,如果空值的占比明顯增大,很有可能這個(gè)字段的記錄出現(xiàn)了問(wèn)題,信息出現(xiàn)缺失。 一致性如果數(shù)據(jù)記錄格式有標(biāo)準(zhǔn)的編碼規(guī)則,那么對(duì)數(shù)據(jù)記錄的一致性檢驗(yàn)比較簡(jiǎn)單,只要驗(yàn)證所有的記錄是否滿足這個(gè)編碼規(guī)則就可以,最簡(jiǎn)單的就是使用字段的長(zhǎng)度、唯一值個(gè)數(shù)這些統(tǒng)計(jì)量。比如對(duì)用戶ID的編碼是15位數(shù)字,那么字段的最長(zhǎng)和最短字符數(shù)都應(yīng)該是15;或者商品ID是P開始后面跟10位數(shù)字,可以用同樣的方法檢驗(yàn);如果字段必須保證唯一,那么字段的唯一值個(gè)數(shù)跟記錄數(shù)應(yīng)該是一致的,比如用戶的注冊(cè)郵箱;再如地域的省份直轄市一定是統(tǒng)一編碼的,記錄的一定是“上?!倍皇恰吧虾J小?、“浙江”而不是“浙江省”,可以把這些唯一值映射到有效的32個(gè)省市的列表,如果無(wú)法映射,那么字段通不過(guò)一致性檢驗(yàn)。 一致性中邏輯規(guī)則的驗(yàn)證相對(duì)比較復(fù)雜,很多時(shí)候指標(biāo)的統(tǒng)計(jì)邏輯的一致性需要底層數(shù)據(jù)質(zhì)量的保證,同時(shí)也要有非常規(guī)范和標(biāo)準(zhǔn)的統(tǒng)計(jì)邏輯的定義,所有指標(biāo)的計(jì)算規(guī)則必須保證一致。我們經(jīng)常犯的錯(cuò)誤就是匯總數(shù)據(jù)和細(xì)分?jǐn)?shù)據(jù)加起來(lái)的結(jié)果對(duì)不上,導(dǎo)致這個(gè)問(wèn)題很有可能的原因就是數(shù)據(jù)在細(xì)分的時(shí)候把那些無(wú)法明確歸到某個(gè)細(xì)分項(xiàng)的數(shù)據(jù)給排除了,比如在細(xì)分訪問(wèn)來(lái)源的時(shí)候,如果我們無(wú)法將某些非直接進(jìn)入的來(lái)源明確地歸到外部鏈接、搜索引擎、廣告等這些既定的來(lái)源分類,但也不應(yīng)該直接過(guò)濾掉這些數(shù)據(jù),而應(yīng)該給一個(gè)“未知來(lái)源”的分類,以保證根據(jù)來(lái)源細(xì)分之后的數(shù)據(jù)加起來(lái)還是可以與總體的數(shù)據(jù)保持一致。如果需要審核這些數(shù)據(jù)邏輯的一致性,我們可以建立一些“有效性規(guī)則”,比如A>=B,如果C=B/A,那么C的值應(yīng)該在[0,1]的范圍內(nèi)等,數(shù)據(jù)無(wú)法滿足這些規(guī)則就無(wú)法通過(guò)一致性檢驗(yàn)。 準(zhǔn)確性數(shù)據(jù)的準(zhǔn)確性可能存在于個(gè)別記錄,也可能存在于整個(gè)數(shù)據(jù)集。如果整個(gè)數(shù)據(jù)集的某個(gè)字段的數(shù)據(jù)存在錯(cuò)誤,比如常見的數(shù)量級(jí)的記錄錯(cuò)誤,這種錯(cuò)誤很容易發(fā)現(xiàn),利用Data Profiling的平均數(shù)和中位數(shù)也可以發(fā)現(xiàn)這類問(wèn)題。當(dāng)數(shù)據(jù)集中存在個(gè)別的異常值時(shí),可以使用最大值和最小值的統(tǒng)計(jì)量去審核,或者使用箱線圖也可以讓異常記錄一目了然。 還有幾個(gè)準(zhǔn)確性的審核問(wèn)題,字符亂碼的問(wèn)題或者字符被截?cái)嗟膯?wèn)題,可以使用分布來(lái)發(fā)現(xiàn)這類問(wèn)題,一般的數(shù)據(jù)記錄基本符合正態(tài)分布或者類正態(tài)分布,那么那些占比異常小的數(shù)據(jù)項(xiàng)很可能存在問(wèn)題,比如某個(gè)字符記錄占總體的占比只有0.1%,而其他的占比都在3%以上,那么很有可能這個(gè)字符記錄有異常,一些ETL工具的數(shù)據(jù)質(zhì)量審核會(huì)標(biāo)識(shí)出這類占比異常小的記錄值。對(duì)于數(shù)值范圍既定的數(shù)據(jù),也可以有效性的限制,超過(guò)數(shù)據(jù)有效的值域定義數(shù)據(jù)記錄就是錯(cuò)誤的。 如果數(shù)據(jù)并沒(méi)有顯著異常,但仍然可能記錄的值是錯(cuò)誤的,只是這些值與正常的值比較接近而已,這類準(zhǔn)確性檢驗(yàn)最困難,一般只能與其他來(lái)源或者統(tǒng)計(jì)結(jié)果進(jìn)行比對(duì)來(lái)發(fā)現(xiàn)問(wèn)題,如果使用超過(guò)一套數(shù)據(jù)收集系統(tǒng)或者網(wǎng)站分析工具,那么通過(guò)不同數(shù)據(jù)來(lái)源的數(shù)據(jù)比對(duì)可以發(fā)現(xiàn)一些數(shù)據(jù)記錄的準(zhǔn)確性問(wèn)題。 上面已經(jīng)從Data Profiling的統(tǒng)計(jì)信息中,通過(guò)Data Auditing發(fā)現(xiàn)了數(shù)據(jù)質(zhì)量上存在的一些問(wèn)題,那么接下來(lái)是干什么呢?暫時(shí)留個(gè)懸念,大家思考下,在接下來(lái)的一篇文章進(jìn)行分享。。。 注:四要素內(nèi)容整理自網(wǎng)站數(shù)據(jù)分析
|
|