【資料科學入門】如何開始用資料說故事?探索式資料分析與資料視覺化

Robby
Taiwanese in Data Science
10 min readSep 9, 2020

文/ 葉芷淇、Justin Ko

資料科學入門的主題中我們介紹了實用的分析工具,以及如何讀取資料,接下來要帶大家了解的是該怎麼在茫茫資料海裡找到分析的方向?怎麼讓繁雜的數據開始會說話?

本篇文章包含三個部分,會先從探索性資料分析入手,並使用資料視覺化呈現初步結果,最後會用一個真實資料集實際操作,繼續閱讀下去吧!

什麼是探索式資料分析(EDA)?

探索式資料分析是研究人員面對意涵不明確或是資料還在初始的處理階段時,常用的分析方式。透過統計指標和視覺化工具,從中觀察資料的分佈及態勢,藉以提出重點作為接續深入分析的基礎。

舉例一個經典的「啤酒、尿布、星期五」故事,美國 Walmart 超市在分析消費者購物車組合的相關性時,意外的發現啤酒和尿布這兩樣看似毫無關聯的商品卻時常出現在同一個購物籃組合中。經過進一步分析,他們發現這樣的故事:

星期五晚上年輕爸爸常會需要奉太太之命去買尿布,到了超市後,一想到晚上看球賽的娛樂時光,便會順手拎了啤酒回家,於是成了啤酒與尿布在購物籃中有高度相關連的結果。

發現了兩者關聯後,超市調整了賣場商品的擺放,將啤酒擺放在尿布專區旁。這個策略也順利奏效,提高了超市的銷售額。

探索式分析工具

1. 工具簡介

隨著大數據日益蓬勃的發展,分析工具也如雨後春筍般不斷推陳出新。本文就以下幾個常用個工具向大家做介紹:

  • Excel
    作為一位資料分析人員,對於 Excel 想必並不陌生。Excel 是個高度普及的分析工具,幾乎大部分的公司都會使用到它,而身為一位資料分析人員也常會有機會需要使用它來讀取資料,使用函數做資料的梳理與計算、繪製圖表,甚至產出報表。
  • Power BI
    是微軟所推出的資料視覺化工具,與 Tableau 具有相似的功能,可以方便使用者快速的調整匯入的資料(像是不同表格間的Mapping、匯入資料的欄位調整..等),並提供豐富多樣的動態視覺化呈現方式,除了常見的長條圖、組合圖外,還有基本地圖能一目了然的表達資料與空間位置的關聯,甚至還有更酷炫的infographic功能,可以把長條圖的形狀更改成酒瓶或是人型…等等的樣貌。
  • Tableau
    則是出自史丹佛大學的三個人之手,秉著「希望資料能被一般人所理解」的理念而創造出 Tableau。它與 Power BI 有著類似的作用,簡化了使用者在梳理資料上的過程,並擁有眾多視覺化的模板,讓使用者能迅速的完成令人一目了然的資料儀表板。
  • Python
    是近年來十分具有話題性的資料分析工具,許多資料分析工具者也開始使用 Python 作為日常分析工具。 Python 的用途究竟多強大?舉例來說,假如今天老闆請你做的自家產品與競業的價格比較表,若是不會 Python 的話,可能就需要土法煉鋼的打開一個個網頁,點擊每項競業產品的相關資訊,再整理成一個檔案。但若是會 Python 呢?資料搜集時就能使用網路爬蟲,將所需要的資料從網路上轉化成資料形式。在資料前的處理時,則可以運用 Pandas 載入資料集,將資料進行整理,變得更方便閱讀和分析。進入到探索性資料分析時,還能使用 Matplotlib 套件將資料視覺化的處理。
  • R
    R 的用途與 Python 相似,而這也是它們兩個常被拿來比較的原因之一,兩者之間該怎麼選擇,也常成為熱門的討論話題。從兩者定位的角度來看,R 致力於提供用戶更好的數據分析、統計分析和繪圖模型,是許多數據科學家、統計學家所使用的工具。在學習的容易度上,剛開始學習 R 時學習曲線會相較 Python 來的陡峭,可讀性和易用性相較於 Python 來得困難。

2. 工具比較圖

*註.三顆星為滿分

資料視覺化

所謂 A picture is worth a thousand words,指的是大多數時候一張圖片能表達的事情或是複雜的概念,都可以比起用文字或是數字表達出來的還要豐富和清楚許多。人類主要是靠五種感覺器官在接收外面的資訊,這五感分別為視覺、聽覺、嗅覺、味覺、觸覺。其中的視覺又是五感中最強烈的感覺,因為視覺能接收的資訊量和速度是其他感覺器官的好幾倍,所以人類在接收周圍資訊時更依賴視覺。既然負責視覺的眼睛是人類接收訊息最優秀的器官,如果在龐大的資料中要找出有用的資訊,使用資料視覺化便是最好的選擇。

以下來介紹幾樣常用的視覺化圖表以及它們各自的功用:

長條圖

  • 長條圖的好處在於它的簡單與直觀。當你想要比較資料中不同類別的差異的時候,長條圖可以讓每個類別之間的差異明顯的表示出來。適合用長條圖來表示的測量尺度分別為類別尺度順序尺度。下圖左邊的水平長條圖適合表示在使用類別尺度的資料上,因為不同組之間並沒有大小或順序之分;而下圖右邊的垂直長條圖則適合表示使用順序尺度的資料上,因為由左至右的排序是有意義存在的。

直方圖:

  • 雖然直方圖跟長條圖長得很像,不過兩者不同的地方在於長條圖適用於類別型資料,而直方圖則適合使用數值型資料。直方圖在顯示數值型資料時可以讓使用者看到不同級距之間的資料分布狀況,也就是所謂的次數(頻數)分布表。舉例來說,下面的直方圖就顯示了五歲到十一歲之間的人數分布狀況。

圓餅圖

  • 圓餅圖是用來顯示同個資料欄位裡不同類別的占比。通常每一個類別都會用百分比來顯示,所以整張餅的總數會是 100%,而每一部分的餅會用類別名稱與占的百分比來標示。在使用圓餅圖時,一般會建議顯示少於等於六個類別,因為太多個類別反而會讓人眼有困難分辨不同類別之間的大小。如下圖所示,左邊的圓餅圖相對會是比右邊更好的呈現。

折線圖

  • 折線圖最適合拿來顯示數值型資料在某個連續時間區間內的變化,讓分析者可以快速地看出圖中的趨勢。折線圖的組成原件為代表時間的 X 軸代表測量值的 Y 軸,圖上的每個數據點會用線來連結。下方的折線圖顯示了今年八月的每日平均溫度。折線圖也可以同時顯示同一個時間區間內的不同資料,讓使用者可以比較不同資料之間的差別。

案例實作

接下來,我們會實際使用真實資料來演示資料分析師是如何運用資料視覺化工具來探索資料 (資料前處理省略)。這邊使用的資料是 University of California Irvine 機器學習資料庫的電子商務資料,資料內容為 2009 年 12 月 到 2011 年 12 月之間英國境內的電商交易紀錄,平台上的買家大多為批發商,商品則是以季節性禮品為主。資料清理完後一共有 779,775 個列數和 8 個欄位。

資料表的欄位和它的中文翻譯如下:

  1. InvoiceNo:訂單編號
  2. StockCode:商品編號
  3. Description:商品敘述
  4. Quantity:商品訂購數量
  5. InvoiceDate:訂單日期
  6. UnitPrice:商品單價 (Pound Sterling)
  7. CustomerID:買家編號
  8. Country:買家所在國家 (共有 41 個國家)

資料中最小的顆粒度為商品編號。每個買家可以有多筆訂單,每個訂單可以有一個以上的商品。

如下圖所示,編號為 14096 的買家有一張編號為 573576 的訂單,訂單中有不同商品編號與各自的商品資訊。

以下將會示範幾個不同的資料分析切角來認識這個資料表。

  1. 不同國家的買家數量
  2. 訂單數量在不同時間的變化
  3. 訂單價格分佈統計
  4. 商品敘述文字分析

不同國家的買家量:

由於資料來自於英國的電商,所以大多數的買家也來自於英國境內。5,942 個買家裡有 5,410 位來自英國,約佔總數的 91.05 %。

訂單數量在不同時間的變化:

下圖使用折線圖來顯示在不同時間的商品訂購數量。使用到的欄位為 Invoice Date 和訂單編號的加總。此折線圖可以讓我們快速地看到商品銷售數量會在每年的十月和十一月達到最高點,合理推測此趨勢是由於每年的十月和十一月是最靠近聖誕節的月份,所以也是批商發大量購買節慶商品的時候。

訂單價格分佈統計:

為了瞭解資料表內訂單總價的分佈,我們把每個訂單裡面的商品單價與商品訂購數量相乘後加總起來,再計算出分佈於各英鎊級距的訂單量總數。由下圖的圓餅圖可以清楚的看到大部分的訂單單價集中在 100 ~ 300 英鎊的級距,其他訂單數量分佈也在每個級距中隨著訂單單價變高而快速地遞減。

商品敘述文字分析:

就算是非數值型的文字欄位,其實也可以有方法做分析,並且可將分析出來的結果拿去幫助機器做學習。

(以下示範簡單版的文字分析)

首先先把商品敘述欄位拿出來做斷詞 (把一段句子斷成字詞的動作),並且只留下有意義的詞 (一些像是英文的冠詞the就屬於無意義的字)。再把剩下的字詞轉換成電腦看得懂的數字,這樣一來就可以讓電腦去計算出哪一些字詞是比較相近的,並讓相近的文字分在同一組。分組完成後,把各個群組內的字詞出現的次數由多到少排列,再用文字雲呈現出每個分組內出現次數比較高的字詞。

文字雲的資料呈現方式會像下圖,出現頻率比較高的字詞除了字體會比較大之外,也另外標示成紅色以方便觀測。舉例來說,下圖的第二個文字雲代表的字群會跟聖誕節比較相關,而第四組的文字雲會跟項鍊或首飾比較相關。如果覺得字群分得好的話,便可以把結果加回原本的資料之中。這樣做的好處是,在做像是客戶分群的任務時,分析師就可以知道不同的買家各自偏好哪一些類型的商品。

資料視覺化其實是門不簡單的學問。除了要運用不同的資料切角去認識資料,也要決定選擇使用不同種最能快速又精確表達高價值資訊的視覺化圖表。資料視覺化的圖表除了上面提到的幾個基本款之外,還有其它很多在不同情境各自適用的圖表等著你去探索。

當你的視覺化圖表做的很到位時,你也不用多作解釋,它自然就會幫你傳達出你想表達的重點,並達到一張圖勝過千言萬語的境界。

如果喜歡這篇文章,可以幫我們拍手 👏 👏👏 50下,並且follow我們的最新文章,支持我們繼續努力! (找找左側或左下角 “拍手符號👏”,長按可以連拍50下喔)

--

--