數據科學導論:探索性數據分析

本筆記是數據科學導論系列的第二篇,Markdown 文件開源於 GitHub。

EDA 是什麼

探索性數據分析(Exploratory Data Analysis, EDA)像偵探工作,你不知道自己會找到什麼,所以你也不會做過多的假設,通過可視化工具對數據進行一次又一次的檢視來找到線索,並對結果保持開放的心態,正如 EDA 之父 John Tukey 所言,「探索性數據是一種態度,是對我們相信存在抑或不存在的事物保持靈活的審視」。

Exploratory data analysis is an attitude, a state of flexibility, a willingness to look for those things that we believe are not there, as well as those that we believe to be there.

與 EDA 區別的是傳統統計分析(Formal Analysis),傳統統計分析在假設樣本分布後,把數據套入假設模型再做分析。EDA 所做的,就是重新檢視我們對數據的理解,為之後的傳統統計分析打下基礎。

本篇將討論如何正確地運用可視化工具進行探索性數據分析,這些準則也適用於數據可視化,但探索性數據分析和數據可視化的目標是不同的,探索性數據分析重在「探索」,為研究者服務;數據可視化重在「講故事」,為觀眾服務。

正直的數據分析

做任何研究,研究者都不能事先確定任何立場,對於 EDA 來說更是如此,研究者必須保持懷疑和謹慎的態度,即便數據結果與你預期大不相同,也要盡量做到客觀。

不正直的數據分析有兩類,一類是研究者想讓數據結果更顯著來支持自己的立場,包括篡改 p 值(p-hacking)、數據窺探(data snooping)等等,這些行為往往讓你的實驗無法重複。xkcd 有篇漫畫就諷刺了這個現象。

另一類不正直的數據分析是研究者故意誤導觀眾,例如 FOX 把柱狀圖的下半部分砍掉,造成增長很多的假象。

而事實上,如果讓柱狀圖從 0 開始顯示,結果如下。

下圖中,FOX 故意挑選某些月份的數據,誤導觀眾以為奧巴馬政府的失業率不斷走高,可以看到 x 軸的月份根本不是每季度(By Quarter) 的。

簡化圖表

盡最大的可能簡化圖表,數據可視化的初衷就是減輕人們理解數據的負擔,簡化圖表能讓觀眾更專註於數據上,可視化大師 Edward Tufte 提出了要用「最少的油墨」顯示「最多的數據」,以下是幾個簡化要點。

首先,絕對不使用 3D,3D 完全不如 2D 直觀,而且效果非常災難。

其次,簡化一切無用的元素,去除背景、網格、圖表框。

用對圖表

A. V. Abela 製作了一張圖表建議,放在他的博客上。簡而言之,描述趨勢使用折線圖,描述數量使用柱狀圖(且必須從 0 開始),描述關係使用散點圖,描述比例使用餅狀圖。

科學家經過 30 年的研究,發現人對位置、長度和角度的感知最敏銳,可以用來表示數量,其次是面積和密度,可表示順序,對於顏色和形狀的感知是最不精確的,只可用來區分類別。

用對顏色

比較數量大小的時候,不要使用彩虹色,因為彩虹色不能體現線性關係,我們的認知沒法感覺到紅色比綠色「高」,更好的選擇時用不同深淺的顏色。彩虹色還會對色盲人群造成困擾。

顏色的建議可以在 Color Brewer 找到。這些顏色在數據可視化庫 Seaborn 上也有。

深入閱讀

Flowing Data Blog

Visualize This

Visual Explanations

Envisioning Information

The Visual Display of Quantitative Information

Now You See It

作業

本篇筆記更「視覺向」,文字很難表達全面,所以推薦讀者回顧課程視頻,以對「什麼樣的可視化是好的可視化」有更好的感知。DS100 在這節課中使用了案例研究,並在案例研究中結合了數據整理和 EDA,在本篇筆記里沒有提及,所以也推薦讀者參閱。

CS109 Lecture Video: Exploratory Data Analysis

DS100 Lecture Slides: Exploratory Data Analysis

CS109 Homework: Exploratory Data Analysis

致謝

數據科學導論筆記基於加州大學伯克利校區 DS100 與哈佛大學 CS109 的課程主頁改寫,參考了課件、筆記、閱讀材料及作業,感謝製作這兩門課程的 Joe Blitzstein、Hanspeter Pfister、Verena Kaynig-Fittkau、Joseph E. Gonzalez、Joseph Hellerstein、Deborah Nolan 和 Bin Yu。本文基於 DS100 Week 3 - Exploratory Data Analysis,及 CS 109 Lecture 3 - Exploratory Data Analysis。


推薦閱讀:

R語言可視化——散點圖及其美化技巧!
可能是比Python更方便的詞雲製作了
亮瞎雙眼的Power BI自定義可視化圖表(2017最新版)
大數據可視化引擎 DHAgency:多樣數據,實時展示
數據表管理技能大科普

TAG:数据科学 | 数据可视化 |