如何成為一名數(shù)據(jù)分析師:數(shù)據(jù)的初步認(rèn)知
對所有從事數(shù)據(jù)相關(guān)工作的人而言,都有一個(gè)老生常談的問題: 數(shù)據(jù)認(rèn)知 !畢竟在真正開始分析、BI 報(bào)表開發(fā)或者建模前,對數(shù)據(jù)進(jìn)行一定的審查和認(rèn)知是必須的。今天,就在此和大家一同探討下數(shù)據(jù)的初步認(rèn)知。在本文的講解中,會將數(shù)據(jù)的初步認(rèn)知劃分為三大步驟: 數(shù)據(jù)質(zhì)量檢查、數(shù)據(jù)類型認(rèn)知、指標(biāo)值統(tǒng)計(jì) 。
一、數(shù)據(jù)質(zhì)量檢查
1) 關(guān)注不同數(shù)據(jù)源在統(tǒng)計(jì)質(zhì)量上的差異
不同的數(shù)據(jù)來源,因統(tǒng)計(jì)、管控、可共享程度等原因在數(shù)據(jù)粒度和數(shù)據(jù)質(zhì)量的保障上都有天壤之別。根據(jù)數(shù)據(jù)來源的渠道主要可將它劃分為:內(nèi)部數(shù)據(jù)和外部數(shù)據(jù),下面逐個(gè)介紹它們之間的特點(diǎn)和差異。
1. 內(nèi)部數(shù)據(jù)源
- 業(yè)務(wù)數(shù)據(jù):主要指后端研發(fā)主動存儲的業(yè)務(wù)數(shù)據(jù),一般是對公司運(yùn)營非常核心的數(shù)據(jù),如訂單數(shù)據(jù)、用戶信息等。這類數(shù)據(jù)的準(zhǔn)確性一般是***的,因?yàn)樗P(guān)系到公司產(chǎn)品能否正常運(yùn)轉(zhuǎn),統(tǒng)計(jì)的正確性也就至關(guān)重要;
- 埋點(diǎn)數(shù)據(jù):通過埋點(diǎn)技術(shù)采集的用戶訪問數(shù)據(jù),不論是自建埋點(diǎn)還是采用第三方埋點(diǎn)工具,因?yàn)槁顸c(diǎn)實(shí)施、統(tǒng)計(jì)上傳機(jī)制等,都會造成埋點(diǎn)數(shù)據(jù)的準(zhǔn)確性遠(yuǎn)不如業(yè)務(wù)數(shù)據(jù);
- 數(shù)據(jù)倉庫的數(shù)據(jù):數(shù)據(jù)倉庫數(shù)據(jù)它是由生產(chǎn)庫數(shù)據(jù)經(jīng)過一輪或者多輪次的數(shù)據(jù)轉(zhuǎn)換,中間可能發(fā)生的異常情況比生產(chǎn)庫的數(shù)據(jù)更多。諸如:無人維護(hù)、轉(zhuǎn)換邏輯與理解不一致等。
對于業(yè)務(wù)數(shù)據(jù)、埋點(diǎn)數(shù)據(jù)、數(shù)據(jù)倉庫數(shù)據(jù)三種類型的數(shù)據(jù)源我們檢查的側(cè)重點(diǎn)有所不同:
- 業(yè)務(wù)數(shù)據(jù):業(yè)務(wù)數(shù)據(jù)的復(fù)雜度主要在于字段含義、表之間關(guān)聯(lián)關(guān)系以及字段與業(yè)務(wù)的實(shí)際對應(yīng)關(guān)系,主要檢查的也是這三點(diǎn);
- 埋點(diǎn)數(shù)據(jù):埋點(diǎn)數(shù)據(jù)主要需要檢查埋點(diǎn)是否與你所期望的業(yè)務(wù)事件匹配,包括埋點(diǎn)采集的是頁面訪問還是按鈕點(diǎn)擊、埋點(diǎn)采集時(shí)機(jī)等;
- 數(shù)據(jù)倉庫數(shù)據(jù):主要了解其中業(yè)務(wù)指標(biāo)統(tǒng)計(jì)邏輯、計(jì)算轉(zhuǎn)換邏輯、腳本更新機(jī)制等。
2. 外部數(shù)據(jù)源
- 用戶調(diào)研數(shù)據(jù):通過市場調(diào)研得到用戶反饋數(shù)據(jù),存在的風(fēng)險(xiǎn)主要在于市場調(diào)研人員的敷衍執(zhí)行自行捏造數(shù)據(jù)以及被調(diào)研對象自身對自身判斷的錯(cuò)誤;
- 行業(yè)發(fā)展數(shù)據(jù):通過百度指數(shù)、微信指數(shù)、阿里指數(shù)或者其它行業(yè)觀察機(jī)構(gòu)統(tǒng)計(jì)的數(shù)據(jù)來觀察行業(yè)發(fā)展情況的數(shù)據(jù);
- 合作方數(shù)據(jù):合作方提供的數(shù)據(jù),不同公司之間在指標(biāo)定義和統(tǒng)計(jì)規(guī)范上都可能有明顯差異,需要重點(diǎn)關(guān)注。此外,兩家公司之間的用戶匹配也是一大難點(diǎn),需要被重點(diǎn)關(guān)注。
外部數(shù)據(jù)源的數(shù)據(jù)粒度一般較粗糙,數(shù)據(jù)質(zhì)量上也比較難以保證,需要做更多的觀察和驗(yàn)證。我們可實(shí)施的檢查措施也相對較少,只能在使用保持更高的警惕性,慎之又慎才能更多地規(guī)避錯(cuò)誤。
2) 關(guān)注取數(shù)過程,檢查取數(shù)代碼
我們通過各種方法獲取數(shù)據(jù),SQL 查詢是數(shù)據(jù)類工作人員最常見的取數(shù)方式。SQL 語句的出錯(cuò)將導(dǎo)致得到的數(shù)據(jù)集出錯(cuò),以下是進(jìn)行 SQL 檢查時(shí)需要被重點(diǎn)關(guān)注的點(diǎn):
- 關(guān)注 join 處理的邏輯關(guān)系,包括采用的 SQL 連接方式 inner、left 還是 outer、兩張表之間數(shù)據(jù)對應(yīng)關(guān)系是 1:1、1:n 還是n:m 等;
- 關(guān)注 SQL 細(xì)節(jié),包括是否采用 distinct 去重、采用 case 語句劃分類別時(shí)的分類區(qū)間邊界、group by 進(jìn)行數(shù)據(jù)聚合的指標(biāo)粒度是否正確;
- 多版本代碼檢查時(shí)關(guān)注選擇條件,對于 SQL 復(fù)用的場景,我們要重點(diǎn)關(guān)注數(shù)據(jù)選擇條件的更新替換是否完全;
- 聚合處理時(shí),***結(jié)合 if 條件排除極端值、異常值。
3) 關(guān)注處理數(shù)據(jù)集的空值和異常值
在對數(shù)據(jù)集是否正確的檢查中,最容易發(fā)現(xiàn)需要被處理的情況就是 空值和異常值 。空值出現(xiàn)在數(shù)據(jù)集中往往一眼便能識別;異常值則需要一定經(jīng)驗(yàn)性地判斷,例如:數(shù)值特別夸張、文本特別長、不匹配的數(shù)據(jù)類型。在后續(xù)步驟的數(shù)據(jù)認(rèn)知中,對指標(biāo)進(jìn)行統(tǒng)計(jì)匯總、分布觀察等也能幫助識別異常值。
1. 空值處理
空值,如果在平時(shí)的匯總統(tǒng)計(jì)中可忽略則忽略,如果不可忽略則可采用以下方法來處理:
- 替換:使用平均值、眾數(shù)進(jìn)行替換或者使用最接近的數(shù)據(jù)替換它,需要仔細(xì)對比尋找該行數(shù)據(jù)的其它值是否相近;
- 推斷:運(yùn)用模型結(jié)合使用非空變量進(jìn)行推斷、預(yù)測計(jì)算得到這個(gè)空值,如:時(shí)間序列、回歸模型等;
- 刪除:實(shí)在無法處理的空值,而且你已經(jīng)確定它會影響到后續(xù)的計(jì)算、分析,那么你可以考慮將該行記錄刪除。如果不確定是否會影響,可考慮暫不處理。
2. 異常值處理
初步觀察尋找異常值:
- 在 Excel 中可以通過篩選功能或去除重復(fù)值對數(shù)據(jù)列進(jìn)行觀察;
- 在 SQL 中可以通過 distinct 進(jìn)行去重觀察;
- 在 Python 中,可以通過 pandas.drop_duplicates() 等方式進(jìn)行去重觀察。
垃圾數(shù)據(jù)或者異常值能采取的處理手段較少,當(dāng)數(shù)據(jù)記錄占比較大,我們首先應(yīng)去尋找造成數(shù)據(jù)異常的原因,嘗試從源頭解決它;當(dāng)數(shù)據(jù)記錄占比不多時(shí),我們可以采取直接刪除的方式。
二、數(shù)據(jù)類型認(rèn)知
數(shù)據(jù)類型的認(rèn)知主要可從類型、數(shù)據(jù)單位、數(shù)據(jù)量綱三個(gè)角度去觀察、去認(rèn)知數(shù)據(jù)。這一過程后,我們一般對數(shù)據(jù)整體有一個(gè)比較粗線條的認(rèn)識,知道各列的統(tǒng)計(jì)單位、各列的數(shù)據(jù)類型、量綱或者說數(shù)量級等。
類型:同一列數(shù)據(jù)的數(shù)據(jù)類型必須保持一致!如:時(shí)間序列不得與數(shù)值型數(shù)據(jù)混合、數(shù)值型數(shù)據(jù)不得與文本數(shù)據(jù)混合;
數(shù)據(jù)單位:同一列數(shù)據(jù)的單位必須保持一致!否則量級將完全不一致,不具備任何可比性。如:成交金額,不能既有以分為單位也有以元為單位的混合;
數(shù)據(jù)量綱:不同數(shù)據(jù)列的量綱有時(shí)會有明顯差異,主要指整數(shù)型數(shù)據(jù)和百分比數(shù)據(jù)。如:活躍用戶數(shù)與平臺用戶活躍率。當(dāng)需要進(jìn)行作圖對比觀察時(shí)候,我們需要對量綱進(jìn)行處理,這涉及到標(biāo)準(zhǔn)化/歸一化,常見的歸一化方法有:
標(biāo)準(zhǔn)差標(biāo)準(zhǔn)化:
離差標(biāo)準(zhǔn)化:
對數(shù)標(biāo)準(zhǔn)化:
三、指標(biāo)值統(tǒng)計(jì)
1) 通過描述統(tǒng)計(jì)對數(shù)據(jù)集中趨勢、離散程度、分布作認(rèn)知
描述統(tǒng)計(jì)指對數(shù)據(jù)進(jìn)行一些描述性的統(tǒng)計(jì),包括均值、中位數(shù)、方差等。它主要包含三個(gè)方面:
- 通過均值、眾數(shù)、中位數(shù)等觀察平均水平或說是集中趨勢;
- 通過方差與標(biāo)準(zhǔn)差等指標(biāo)觀察離散程度、波動大小;
- 通過分位數(shù)、***最小值、數(shù)據(jù)分布圖等觀察指標(biāo)的區(qū)間分布情況。
1. 平均數(shù)
常常說的是算術(shù)平均數(shù),即“N 個(gè)數(shù)字相加后除以 N“。在實(shí)際業(yè)務(wù)中,我們還會使用加權(quán)平均數(shù),即“給不同維度的指標(biāo)賦予不同業(yè)務(wù)權(quán)重后再相加除以權(quán)重總和,一般權(quán)重可以設(shè)為 1”。
平均數(shù)的表示含義是:一個(gè)群體在某項(xiàng)數(shù)據(jù)上的一般水平或者集中趨勢。
2. 眾數(shù)
眾數(shù),即序列中出現(xiàn)最多的那個(gè)數(shù)字。
眾數(shù)真正的價(jià)值,不在于數(shù)值型數(shù)據(jù)中的使用而在于用在類別型的數(shù)據(jù)中。在數(shù)值型數(shù)字中,可能因?yàn)閿?shù)字精度太細(xì),導(dǎo)致數(shù)字出現(xiàn)次數(shù)都很少,幾乎沒有眾數(shù);而類別型數(shù)據(jù)中,眾數(shù)有時(shí)會比較具有代表性。比如:系統(tǒng)每 5 分鐘從天氣預(yù)報(bào)網(wǎng)站讀取一次實(shí)時(shí)天氣,以小時(shí)為單位預(yù)測未來天氣時(shí),我們可以簡單取 12 次讀取中出現(xiàn)次數(shù)最多的記錄作為這個(gè)小時(shí)的平均天氣。
3. 中位數(shù)
顧名思義,中位數(shù)就是指排在中間位置的數(shù)字,將序列分為兩部分。
中位數(shù)的優(yōu)勢在于它能避免數(shù)據(jù)的平均水平受到異常值的影響。在數(shù)據(jù)未進(jìn)行較完整的清洗時(shí),強(qiáng)烈建議采用中位數(shù)代表序列的中間水平。
4. 方差與標(biāo)準(zhǔn)差
方差和標(biāo)準(zhǔn)差是在概率論和統(tǒng)計(jì)方差衡量隨機(jī)變量或一組數(shù)據(jù)時(shí)離散程度的度量,衡量數(shù)據(jù)序列的波動情況。
以上為方差計(jì)算公式,開方的結(jié)果即為標(biāo)準(zhǔn)差。
5. 四分位數(shù)
百分位即降數(shù)據(jù)升序排列后,具體數(shù)據(jù)值的序號除以數(shù)據(jù)值的總數(shù),所得出的百分比,即該數(shù)據(jù)值對應(yīng)的百分位數(shù)。我們一般比較關(guān)心:25%、50%、75% 分位數(shù)。
6. ***值、最小值
顧名思義,***值、最小值本身沒有什么好解釋的。
四分位數(shù)組合***值、最小值,可以讓我們初步認(rèn)知數(shù)據(jù)的分布特征。
7. 數(shù)據(jù)分布
進(jìn)行了簡單的描述統(tǒng)計(jì),我們想對數(shù)據(jù)的分布進(jìn)行簡單的觀察,得到一個(gè)更加直觀的感受,可以制作頻率分布圖、箱線圖來進(jìn)行觀察。
2) 相關(guān)系數(shù)統(tǒng)計(jì),對指標(biāo)間的相互作用關(guān)系進(jìn)行認(rèn)知
當(dāng)我們需要觀察兩個(gè)字段之間是否存在相互影響的關(guān)系時(shí),我們可以簡單的使用相關(guān)系數(shù)。以下介紹三種相關(guān)系數(shù),在不通場景有不同的適用度。
1. 皮爾遜相關(guān)
用于度量兩個(gè)變量X和Y之間的相關(guān)(線性相關(guān)),其值介于-1和1之間。
當(dāng) r>0 時(shí),表示兩變量正相關(guān),r<0 時(shí),兩變量為負(fù)相關(guān);
- 當(dāng) |r|=1 時(shí),表示兩變量為完全線性相關(guān),即為函數(shù)關(guān)系;
- 當(dāng) r=0 時(shí),表示兩變量間無線性相關(guān)關(guān)系;
- 當(dāng) 0<|r|<1 時(shí),表示兩變量存在一定程度的線性相關(guān)。且 |r| 越接近 1,兩變量間線性關(guān)系越密切;|r| 越接近于 0,表示兩變量的線性相關(guān)越弱;
一般可按三級劃分:0.8-1.0 極強(qiáng)相關(guān),0.6-0.8 強(qiáng)相關(guān),0.4-0.6 中等程度相關(guān),0.2-0.4 弱相關(guān),0.0-0.2 極弱相關(guān)或無相關(guān)。
適用條件:
- 數(shù)據(jù)(近似)服從正態(tài)分布
- 盡可能沒有異常點(diǎn)
- 用于描述線性相關(guān)
- 缺點(diǎn):當(dāng)樣本量 n 較小時(shí),相關(guān)系數(shù)的波動較大;
2. 斯皮爾曼等級相關(guān)
斯皮爾曼等級相關(guān)是根據(jù)等級資料研究兩個(gè)變量間相關(guān)關(guān)系的方法,是依據(jù)兩列成對等級的各對等級數(shù)之差來進(jìn)行計(jì)算的。它與相關(guān)系數(shù)一樣,取值在 -1 到 +1 之間,所不同的是它是建立在等級的基礎(chǔ)上計(jì)算的。
適用條件:斯皮爾曼等級相關(guān)對原始變量的分布不作要求,屬于非參數(shù)統(tǒng)計(jì)方法,使用范圍更廣。
缺點(diǎn):
- 斯皮爾曼等級相關(guān)系數(shù)和皮爾遜相關(guān)系數(shù)都與樣本的容量有關(guān),尤其是在樣本容量比較小的情況下,其變異程度較大;
- 需要先對數(shù)據(jù)進(jìn)行等級劃分。
3. 肯德爾和諧系數(shù)
肯德爾和諧系數(shù)是計(jì)算多個(gè)等級變量相關(guān)程度的一種相關(guān)量。
前述的斯皮爾曼等級相關(guān)討論的是兩個(gè)等級變量的相關(guān)程度,用于評價(jià)時(shí)只適用于兩個(gè)評分者評價(jià) N 個(gè)人或N件作品,或同一個(gè)人先后兩次評價(jià) N 個(gè)人或 N 件作品,而肯德爾和諧系數(shù)則適用于數(shù)據(jù)資料是多列相關(guān)的等級資料,即可是 k 個(gè)評分者評 (N) 個(gè)對象,也可以是同一個(gè)人先后 k 次評 N 個(gè)對象。
通過求得肯德爾和諧系數(shù),可以較為客觀地選擇好的作品或好的評分者。
3) 多維交叉觀察,利用數(shù)據(jù)進(jìn)行業(yè)務(wù)分析
多維交叉觀察,其實(shí)已經(jīng)是分析階段的主要工作。在初步的數(shù)據(jù)觀察中,我們不會進(jìn)行過多的交叉對比,除非不可避免的要對某些維度進(jìn)行觀察、驗(yàn)證。
以上就是關(guān)于數(shù)據(jù)初步認(rèn)知的介紹.