tft每日頭條

 > 科技

 > 從0開始教你做數據分析12篇

從0開始教你做數據分析12篇

科技 更新时间:2024-11-20 02:31:45
導讀:大多數情況下,數據分析的過程必須包括數據探索的過程。數據探索可以有兩個層面的理解:

一是僅利用一些工具,對數據的特征進行查看;二是根據數據特征,感知數據價值,以決定是否需要對别的字段進行探索,或者決定如何加工這些字段以發揮數據分析的價值。字段的選取既需要技術手段的支撐,也需要數據分析者的經驗和對解決問題的深入理解。

作者:彭鴻濤 張宗耀 聶磊

如需轉載請聯系華章科技

從0開始教你做數據分析12篇(一文看懂數據分析必備的18個概念)1

01 數值類型

在進行數據分析時,往往需要明确每個字段的數據類型。數據類型代表了數據的業務含義,分為3個類型:

1. 區間型數據(Interval)

數值型數據的取值都是數值類型,其大小代表了對象的狀态。比如,年收入的取值,其大小代表了其收入狀态。

2. 分類型數據(Categorical)

分類型數據的每一個取值都代表了一個類别,如性别,兩個取值代表了兩個群體。

3. 序數型數據(Ordinal)

和分類型數據非常相似,每個取值代表了不同的類别。但是,序數型的數據還有另外一層含義就是每個取值是有大小之分的。比如,如果将年收入劃分為3個檔次:高、中、低,則不同的取值既有類别之分,也有大小之分。

如果不了解字段的實際業務含義,數據分析人員可能會出現數據類型判斷失誤。比如字段的取值為“1”“2”“3”等,并不意味着是一個數值類型,它的業務含義還可以是一個分類型的字段,“1”“2”“3”分别代表了一個類别,其大小沒有任何含義。所以,充分了解字段的含義是很重要的。

很多的數據分析工具會根據數據中的字段的實際取值,做出類型的自動判斷:如字符型的數據,一般都認定為分類型數據;如某個字段的所有取值隻有“1”“2”“3”,則判斷其為分類型變量,然後經過用戶的再次判斷,其很可能是序數型變量。

不同的數據類型,在算法進行模型訓練時,處理和對待的方式是不同的。區間型數據是直接進行計算的;分類型數據是先将其轉換為稀疏矩陣:每一個類别是一個新的字段,然後根據其取值“1”“0”進行計算。

在很多場景下,人們習慣将分類型數據和序數型數據統稱為分類型數據,即數據類型可以是兩個:數值型數據(區間型數據)和分類型數據(分類型數據和序數型數據)。

從0開始教你做數據分析12篇(一文看懂數據分析必備的18個概念)2

02 連續型數據的探索

連續型數據的探索,其關注點主要是通過統計指标來反映其分布和特點。典型的統計指标有以下幾個:

4. 缺失值

取值為空的值即為缺失值。缺失值比例是确定該字段是否可用的重要指标。一般情況下,如果缺失率超過50%,則該字段就完全不可用。

在很多情況下,我們需要區别對待null和0的關系。Null為缺失值,0是有效值。這個區别很重要,要小心區别對待。例如,某客戶在銀行内的某賬戶餘額為null,意味着該客戶可能沒有該賬戶。但是如果将null改為0,則是說用戶有該賬戶,且賬戶餘額為零。

5. 均值(Mean)

顧名思義,均值即平均值。其大小反映了整體的水平。一個數學平均成績是95分的班級,肯定比平均成績是80分的班級的數學能力要好。

6. 最大值和最小值

最大值和最小值即每個數據集中的最大數和最小數。

7. 方差

方差反映各個取值距平均值的離散程度。雖然有時兩組數據的平均值大小可能是相同的,但是各個觀察量的離散程度卻很少能相同。方差取值越大,說明離散程度越大。比如,平均成績是80分的班級,其方差很小,說明這個班級的數學能力比較平均:沒有多少過高的成績,也沒有多少過低的成績。

8. 标準差

标準差是方差的開方,其含義與方差類似。

9. 中位數(Median)

中位數是将排序後的數據集分為兩個數據集,這兩個數據集分别是取值高的數據集和取值低的數據集。比如,數據集{3,4,5,7,8}的中位數是5,在5之下和5之上分别是取值低和取值高的數據集。數據集{2,4,5,7}的中位數應當是(4 5)/2=4.5。

10. 衆數(Mode)

衆數是數據集中出現頻率最高的數據。衆數最常用的場景是分類型數據的統計,但是其也反映了數值型數據的“明顯集中趨勢點的數值”。

均值、中位數、衆數的計算方式各有不同,假設有一組數據:

1,2,2,3,4,7,9

  • 均值:(1 2 2 3 4 7 9)/7=4
  • 中位數:3
  • 衆數:2

11. 四分位數(Quartile)

四分位數,即用三個序号将已經排序過的數據等分為四份,如表2-2所示。

從0開始教你做數據分析12篇(一文看懂數據分析必備的18個概念)3

▲表2-2 四分位的例子

第二四分位數(Q2)的取值和中位數的取值是相同的。

12. 四分位距(Interquartile Range,IQR)

四分位距通過第三四分位數和第一四分位數的差值來計算,即IQR=Q3-Q1。針對上表,其IQR=61-34=27。

四分位距是進行離群值判别的一個重要統計指标。一般情況下,極端值都在Q1-1.5×IQR之下,或者Q3 1.5×IQR之上。著名的箱形圖就是借助四分位數和四分位距的概念來畫的,如圖2-1所示。

從0開始教你做數據分析12篇(一文看懂數據分析必備的18個概念)4

▲圖2-1 箱形圖及IQR

箱形圖中的上下兩條橫線,有可能是離群值分界點(Q3 1.5×IQR或Q1-1.5×IQR),也有可能是最大值或最小值。這完全取決于最大值和最小值是否在分界點之内。

13. 偏斜度(Skewness)

偏斜度是關于表現數據分布的對稱性的指标。如果其值是0,則代表一個對稱性的分布;若其值是正值,代表分布的峰值偏左;若其值是負值,代表分布的峰值偏右。在圖2-2中給出了偏斜度的示例。

從0開始教你做數據分析12篇(一文看懂數據分析必備的18個概念)5

▲圖2-2 Skewness的含義

Skewness的絕對值(不論是正值還是負值)如果大于1是個很明顯的信号,你的數據分布有明顯的不對稱性。很多數據分析的算法都是基于數據的分布是類似于正态分布的鐘型分布,并且數據都是在均值的周圍分布。如果Skewness的絕對值過大,則是另一個信号:你要小心地使用那些算法!

不同的偏斜度下,均值、中位數、衆數的取值是有很大不同的:

從0開始教你做數據分析12篇(一文看懂數據分析必備的18個概念)6

▲圖2-3 衆數、均值及中位數在不同分布下的比較

由圖2-3可見,在數據取值範圍相同的情況下,中位數是相同的。但是均值和衆數卻有很大的不同。所以,除了偏斜度指标可以直接反映分布特征外,還可以通過中位數和均值的差異來判斷分布的偏斜情況。

  • 中位數<均值:偏左分布
  • 中位數、均值相差無幾:對稱分布
  • 中位數>均值:偏右分布

14. 峰态(Kurtosis)

标準正态分布的峰态的值是3,但是在很多數據分析工具中對峰态值減去3,使得:0代表是正态分布;正值代表數據分布有個尖尖的峰值,高于正态分布的峰值;負值代表數據有個平緩的峰值,且低于正态分布的峰值。

峰态指标的主要作用是體現數值分布的尾巴厚度,尖峰對應着厚尾,即Kurtosis大于0時,意味着有一個厚尾巴。尖峰厚尾也就是說,在峰值附近取值較集中,但在非峰值附近取值較分散。圖2-4所示為一個峰态的例子。

從0開始教你做數據分析12篇(一文看懂數據分析必備的18個概念)7

▲圖2-4 峰态的例子

在連續型數據的探索中,需要重點關注的指标首先是缺失率,然後是均值、中位數等指标,這些指标能幫助數據分析者對數據的特征有很好的了解。偏斜度是另外一個非常重要的指标,但其絕對值接近1或大于1時,必須對其進行log轉換才能使用,否則該指标的價值将大打折扣。

Python Pandas中DataFrame的describe方法默認隻統計連續性字段的最大值、最小值、均值、标準差、四分位數,如果想獲取其他的特征值,需要調用相應的函數來獲得。下面是一段示例代碼,其運行結果通過表2-4來展示。

List_of_series = [bank.var().rename('方差'), bank.median().rename('中位數'), bank.skew().rename('偏斜度'), bank.kurt().rename('峰态')] df = pd.DataFrame(list_of_series) mode = bank.mode(numeric_only=True).rename({0: '衆數'}) pd.concat([df, mode])

從0開始教你做數據分析12篇(一文看懂數據分析必備的18個概念)8

▲表2-4 連續型變量數據探索示例代碼的運行結果

03 分類型數據的探索

分類型數據的探索主要是從分類的分布等方面進行考察。常見的統計指标有以下幾個:

15. 缺失值

缺失值永遠是需要關心的指标,不論是連續型數據,還是分類型數據。過多的缺失值,會使得指标失去意義。

16. 類别個數

依據分類型數據中類别的個數,可以對指标是否可用有一個大緻的判斷。例如,從業務角度來看,某指标應當有6個類别,但實際樣本中隻出現了5個類别,則需要重新考慮樣本的質量。再如,某個分類型變量隻有一個類别時,對數據分析是完全不可用的。

17. 類别中個體數量

在大多數情況下,如果某些類别中個體數量太少,如隻有1%的比例,可以認為該類别是個離群值。關于分類型變量離群值的研究比較多,但是如果脫離業務來談分類型變量的離群值,是不妥當的。

不平衡數據就是一個典型的與業務有關的例子。比如,從業務角度來看,購買黃金的客戶隻占銀行全量客戶的很小的一個部分,如果采取簡單随機抽樣的方式,“是否購買”列的值将隻有極少的“是”的取值。

但是,不能将“是”直接判斷為離群值,反而“是”有極其重要的業務含義。所以,數據分析者需要靈活地認識和對待類别中個體數量的問題。

18. 衆數

和連續型數據的含義一樣,衆數是數據集中出現頻率最高的數據。比如,針對某個分類型取值A、B、C、D中C的出現次數最多,則C就是衆數。

以下是一段分類型變量數據探索示例代碼,其運行結果通過表2-5來展示。

bank.describe(include=[np.object])

從0開始教你做數據分析12篇(一文看懂數據分析必備的18個概念)9

▲表2-5 分類型變量數據探索示例代碼的運行結果

應用Python Pandas的相關函數能夠非常容易得到分類型變量的探索結果,表2-5所示就是數據探索示例代碼的運行結果。

關于作者:彭鴻濤,德勤企業咨詢總監兼首席數據科學家,德勤全球AI團隊核心成員,德勤數字化轉型、智慧營銷、智慧風控、客戶體驗等核心咨詢服務方案的資深顧問。

張宗耀,上海全應科技有限公司資深數據科學家,前華為企業智能部門資深數據科學家,前IBM SPSS 算法組件團隊資深算法工程師。

聶磊,陝西萬禾數字科技有限公司CTO,前IBM SPSS 資深數據科學家,前IBM Watson Analytics數據分析引擎技術主管及架構師。

本文摘編自《增強型分析:AI驅動的數據分析、業務決策與案例實踐》,經出版方授權發布。

從0開始教你做數據分析12篇(一文看懂數據分析必備的18個概念)10

延伸閱讀《增強型分析》

推薦語:增強型分析是數據科學的未來,本書講解了如何通過前沿的大數據技術和AI技術實現智能的數據分析和業務決策,即增強型分析。本書的三位作者是來自德勤、前華為和前IBM的資深數據科學家,在大數據和AI領域至少都有10年以上的工作經驗,他們将各自多年來在“構建數據挖掘模型,解決實際業務問題”方面積累的經驗全部總結在了這本書中。

長按二維碼發現更多好書

從0開始教你做數據分析12篇(一文看懂數據分析必備的18個概念)11

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved