|
導(dǎo)讀:大多數(shù)情況下,數(shù)據(jù)分析的過程必須包括數(shù)據(jù)探索的過程。數(shù)據(jù)探索可以有兩個(gè)層面的理解: 一是僅利用一些工具,對數(shù)據(jù)的特征進(jìn)行查看;二是根據(jù)數(shù)據(jù)特征,感知數(shù)據(jù)價(jià)值,以決定是否需要對別的字段進(jìn)行探索,或者決定如何加工這些字段以發(fā)揮數(shù)據(jù)分析的價(jià)值。字段的選取既需要技術(shù)手段的支撐,也需要數(shù)據(jù)分析者的經(jīng)驗(yàn)和對解決問題的深入理解。 01 數(shù)值類型 在進(jìn)行數(shù)據(jù)分析時(shí),往往需要明確每個(gè)字段的數(shù)據(jù)類型。數(shù)據(jù)類型代表了數(shù)據(jù)的業(yè)務(wù)含義,分為3個(gè)類型: 1. 區(qū)間型數(shù)據(jù)(Interval) 數(shù)值型數(shù)據(jù)的取值都是數(shù)值類型,其大小代表了對象的狀態(tài)。比如,年收入的取值,其大小代表了其收入狀態(tài)。 2. 分類型數(shù)據(jù)(Categorical) 分類型數(shù)據(jù)的每一個(gè)取值都代表了一個(gè)類別,如性別,兩個(gè)取值代表了兩個(gè)群體。 3. 序數(shù)型數(shù)據(jù)(Ordinal) 和分類型數(shù)據(jù)非常相似,每個(gè)取值代表了不同的類別。但是,序數(shù)型的數(shù)據(jù)還有另外一層含義就是每個(gè)取值是有大小之分的。比如,如果將年收入劃分為3個(gè)檔次:高、中、低,則不同的取值既有類別之分,也有大小之分。 如果不了解字段的實(shí)際業(yè)務(wù)含義,數(shù)據(jù)分析人員可能會出現(xiàn)數(shù)據(jù)類型判斷失誤。比如字段的取值為“1”“2”“3”等,并不意味著是一個(gè)數(shù)值類型,它的業(yè)務(wù)含義還可以是一個(gè)分類型的字段,“1”“2”“3”分別代表了一個(gè)類別,其大小沒有任何含義。所以,充分了解字段的含義是很重要的。 很多的數(shù)據(jù)分析工具會根據(jù)數(shù)據(jù)中的字段的實(shí)際取值,做出類型的自動判斷:如字符型的數(shù)據(jù),一般都認(rèn)定為分類型數(shù)據(jù);如某個(gè)字段的所有取值只有“1”“2”“3”,則判斷其為分類型變量,然后經(jīng)過用戶的再次判斷,其很可能是序數(shù)型變量。 不同的數(shù)據(jù)類型,在算法進(jìn)行模型訓(xùn)練時(shí),處理和對待的方式是不同的。區(qū)間型數(shù)據(jù)是直接進(jìn)行計(jì)算的;分類型數(shù)據(jù)是先將其轉(zhuǎn)換為稀疏矩陣:每一個(gè)類別是一個(gè)新的字段,然后根據(jù)其取值“1”“0”進(jìn)行計(jì)算。 在很多場景下,人們習(xí)慣將分類型數(shù)據(jù)和序數(shù)型數(shù)據(jù)統(tǒng)稱為分類型數(shù)據(jù),即數(shù)據(jù)類型可以是兩個(gè):數(shù)值型數(shù)據(jù)(區(qū)間型數(shù)據(jù))和分類型數(shù)據(jù)(分類型數(shù)據(jù)和序數(shù)型數(shù)據(jù))。 02 連續(xù)型數(shù)據(jù)的探索 連續(xù)型數(shù)據(jù)的探索,其關(guān)注點(diǎn)主要是通過統(tǒng)計(jì)指標(biāo)來反映其分布和特點(diǎn)。典型的統(tǒng)計(jì)指標(biāo)有以下幾個(gè): 4. 缺失值 取值為空的值即為缺失值。缺失值比例是確定該字段是否可用的重要指標(biāo)。一般情況下,如果缺失率超過50%,則該字段就完全不可用。 在很多情況下,我們需要區(qū)別對待null和0的關(guān)系。Null為缺失值,0是有效值。這個(gè)區(qū)別很重要,要小心區(qū)別對待。例如,某客戶在銀行內(nèi)的某賬戶余額為null,意味著該客戶可能沒有該賬戶。但是如果將null改為0,則是說用戶有該賬戶,且賬戶余額為零。 5. 均值(Mean) 顧名思義,均值即平均值。其大小反映了整體的水平。一個(gè)數(shù)學(xué)平均成績是95分的班級,肯定比平均成績是80分的班級的數(shù)學(xué)能力要好。 6. 最大值和最小值 最大值和最小值即每個(gè)數(shù)據(jù)集中的最大數(shù)和最小數(shù)。 7. 方差 方差反映各個(gè)取值距平均值的離散程度。雖然有時(shí)兩組數(shù)據(jù)的平均值大小可能是相同的,但是各個(gè)觀察量的離散程度卻很少能相同。方差取值越大,說明離散程度越大。比如,平均成績是80分的班級,其方差很小,說明這個(gè)班級的數(shù)學(xué)能力比較平均:沒有多少過高的成績,也沒有多少過低的成績。 8. 標(biāo)準(zhǔn)差 標(biāo)準(zhǔn)差是方差的開方,其含義與方差類似。 9. 中位數(shù)(Median) 中位數(shù)是將排序后的數(shù)據(jù)集分為兩個(gè)數(shù)據(jù)集,這兩個(gè)數(shù)據(jù)集分別是取值高的數(shù)據(jù)集和取值低的數(shù)據(jù)集。比如,數(shù)據(jù)集{3,4,5,7,8}的中位數(shù)是5,在5之下和5之上分別是取值低和取值高的數(shù)據(jù)集。數(shù)據(jù)集{2,4,5,7}的中位數(shù)應(yīng)當(dāng)是(4 5)/2=4.5。 10. 眾數(shù)(Mode) 眾數(shù)是數(shù)據(jù)集中出現(xiàn)頻率最高的數(shù)據(jù)。眾數(shù)最常用的場景是分類型數(shù)據(jù)的統(tǒng)計(jì),但是其也反映了數(shù)值型數(shù)據(jù)的“明顯集中趨勢點(diǎn)的數(shù)值”。 均值、中位數(shù)、眾數(shù)的計(jì)算方式各有不同,假設(shè)有一組數(shù)據(jù): 1,2,2,3,4,7,9
11. 四分位數(shù)(Quartile) 四分位數(shù),即用三個(gè)序號將已經(jīng)排序過的數(shù)據(jù)等分為四份,如表2-2所示。 ▲表2-2 四分位的例子 第二四分位數(shù)(Q2)的取值和中位數(shù)的取值是相同的。 12. 四分位距(Interquartile Range,IQR) 四分位距通過第三四分位數(shù)和第一四分位數(shù)的差值來計(jì)算,即IQR=Q3-Q1。針對上表,其IQR=61-34=27。 四分位距是進(jìn)行離群值判別的一個(gè)重要統(tǒng)計(jì)指標(biāo)。一般情況下,極端值都在Q1-1.5×IQR之下,或者Q3 1.5×IQR之上。著名的箱形圖就是借助四分位數(shù)和四分位距的概念來畫的,如圖2-1所示。 ▲圖2-1 箱形圖及IQR 箱形圖中的上下兩條橫線,有可能是離群值分界點(diǎn)(Q3 1.5×IQR或Q1-1.5×IQR),也有可能是最大值或最小值。這完全取決于最大值和最小值是否在分界點(diǎn)之內(nèi)。 13. 偏斜度(Skewness) 偏斜度是關(guān)于表現(xiàn)數(shù)據(jù)分布的對稱性的指標(biāo)。如果其值是0,則代表一個(gè)對稱性的分布;若其值是正值,代表分布的峰值偏左;若其值是負(fù)值,代表分布的峰值偏右。在圖2-2中給出了偏斜度的示例。 ▲圖2-2 Skewness的含義 Skewness的絕對值(不論是正值還是負(fù)值)如果大于1是個(gè)很明顯的信號,你的數(shù)據(jù)分布有明顯的不對稱性。很多數(shù)據(jù)分析的算法都是基于數(shù)據(jù)的分布是類似于正態(tài)分布的鐘型分布,并且數(shù)據(jù)都是在均值的周圍分布。如果Skewness的絕對值過大,則是另一個(gè)信號:你要小心地使用那些算法! 不同的偏斜度下,均值、中位數(shù)、眾數(shù)的取值是有很大不同的: ▲圖2-3 眾數(shù)、均值及中位數(shù)在不同分布下的比較 由圖2-3可見,在數(shù)據(jù)取值范圍相同的情況下,中位數(shù)是相同的。但是均值和眾數(shù)卻有很大的不同。所以,除了偏斜度指標(biāo)可以直接反映分布特征外,還可以通過中位數(shù)和均值的差異來判斷分布的偏斜情況。
14. 峰態(tài)(Kurtosis) 標(biāo)準(zhǔn)正態(tài)分布的峰態(tài)的值是3,但是在很多數(shù)據(jù)分析工具中對峰態(tài)值減去3,使得:0代表是正態(tài)分布;正值代表數(shù)據(jù)分布有個(gè)尖尖的峰值,高于正態(tài)分布的峰值;負(fù)值代表數(shù)據(jù)有個(gè)平緩的峰值,且低于正態(tài)分布的峰值。 峰態(tài)指標(biāo)的主要作用是體現(xiàn)數(shù)值分布的尾巴厚度,尖峰對應(yīng)著厚尾,即Kurtosis大于0時(shí),意味著有一個(gè)厚尾巴。尖峰厚尾也就是說,在峰值附近取值較集中,但在非峰值附近取值較分散。圖2-4所示為一個(gè)峰態(tài)的例子。 ▲圖2-4 峰態(tài)的例子 在連續(xù)型數(shù)據(jù)的探索中,需要重點(diǎn)關(guān)注的指標(biāo)首先是缺失率,然后是均值、中位數(shù)等指標(biāo),這些指標(biāo)能幫助數(shù)據(jù)分析者對數(shù)據(jù)的特征有很好的了解。偏斜度是另外一個(gè)非常重要的指標(biāo),但其絕對值接近1或大于1時(shí),必須對其進(jìn)行l(wèi)og轉(zhuǎn)換才能使用,否則該指標(biāo)的價(jià)值將大打折扣。 Python Pandas中DataFrame的describe方法默認(rèn)只統(tǒng)計(jì)連續(xù)性字段的最大值、最小值、均值、標(biāo)準(zhǔn)差、四分位數(shù),如果想獲取其他的特征值,需要調(diào)用相應(yīng)的函數(shù)來獲得。下面是一段示例代碼,其運(yùn)行結(jié)果通過表2-4來展示。 List_of_series = [bank.var().rename('方差'),▲表2-4 連續(xù)型變量數(shù)據(jù)探索示例代碼的運(yùn)行結(jié)果 03 分類型數(shù)據(jù)的探索 分類型數(shù)據(jù)的探索主要是從分類的分布等方面進(jìn)行考察。常見的統(tǒng)計(jì)指標(biāo)有以下幾個(gè): 15. 缺失值 缺失值永遠(yuǎn)是需要關(guān)心的指標(biāo),不論是連續(xù)型數(shù)據(jù),還是分類型數(shù)據(jù)。過多的缺失值,會使得指標(biāo)失去意義。 16. 類別個(gè)數(shù) 依據(jù)分類型數(shù)據(jù)中類別的個(gè)數(shù),可以對指標(biāo)是否可用有一個(gè)大致的判斷。例如,從業(yè)務(wù)角度來看,某指標(biāo)應(yīng)當(dāng)有6個(gè)類別,但實(shí)際樣本中只出現(xiàn)了5個(gè)類別,則需要重新考慮樣本的質(zhì)量。再如,某個(gè)分類型變量只有一個(gè)類別時(shí),對數(shù)據(jù)分析是完全不可用的。 17. 類別中個(gè)體數(shù)量 在大多數(shù)情況下,如果某些類別中個(gè)體數(shù)量太少,如只有1%的比例,可以認(rèn)為該類別是個(gè)離群值。關(guān)于分類型變量離群值的研究比較多,但是如果脫離業(yè)務(wù)來談分類型變量的離群值,是不妥當(dāng)?shù)摹?/span> 不平衡數(shù)據(jù)就是一個(gè)典型的與業(yè)務(wù)有關(guān)的例子。比如,從業(yè)務(wù)角度來看,購買黃金的客戶只占銀行全量客戶的很小的一個(gè)部分,如果采取簡單隨機(jī)抽樣的方式,“是否購買”列的值將只有極少的“是”的取值。 但是,不能將“是”直接判斷為離群值,反而“是”有極其重要的業(yè)務(wù)含義。所以,數(shù)據(jù)分析者需要靈活地認(rèn)識和對待類別中個(gè)體數(shù)量的問題。 18. 眾數(shù) 和連續(xù)型數(shù)據(jù)的含義一樣,眾數(shù)是數(shù)據(jù)集中出現(xiàn)頻率最高的數(shù)據(jù)。比如,針對某個(gè)分類型取值A(chǔ)、B、C、D中C的出現(xiàn)次數(shù)最多,則C就是眾數(shù)。 以下是一段分類型變量數(shù)據(jù)探索示例代碼,其運(yùn)行結(jié)果通過表2-5來展示。 ▲表2-5 分類型變量數(shù)據(jù)探索示例代碼的運(yùn)行結(jié)果 應(yīng)用Python Pandas的相關(guān)函數(shù)能夠非常容易得到分類型變量的探索結(jié)果,表2-5所示就是數(shù)據(jù)探索示例代碼的運(yùn)行結(jié)果。 關(guān)于作者:彭鴻濤,德勤企業(yè)咨詢總監(jiān)兼首席數(shù)據(jù)科學(xué)家,德勤全球AI團(tuán)隊(duì)核心成員,德勤數(shù)字化轉(zhuǎn)型、智慧營銷、智慧風(fēng)控、客戶體驗(yàn)等核心咨詢服務(wù)方案的資深顧問。 |
|
|