JY的興趣行李箱

一個數據分析師的個人興趣分享,走到哪寫到哪 可能是程式技能分享、綜藝點評、舞台/歌曲/樂曲/電影收藏、書摘、產業觀察等

【給初學者】自學三階段,教你入門資料分析 4 大環節

前言

有鑒於資料領域廣受各路工作者喜愛,未來各大公司一定也會導入更多有關數據應用,資料分析能力將成為基本門檻。本篇整理站長當時在初學時期是如何點資料分析技能樹的,希望對讀者們有幫助。

本文大綱走起:


小插播:站長的資料分析師經歷

先說這個,讓大家放心我不是江湖道士。
本人之前在廣告投放新創擔任資料分析師,主要針對客戶網站用戶行為製作客製分析報告,一部分報告內容製作成模組(範本),我的工作內容涵蓋 資料撈取、資料清理、洞察挖掘及視覺化。
後來進到銀行業的資料科學部門實習,現在正在進修寫碩論。

另外我蠻喜歡講「資料分析」而不是「數據分析」的原因是,其實真實場景會遇到的資料不完全都是量化的數據,更多有文本、文件等等更多非結構化的資料,這才是發揮資料工作者價值所在;否則一份很漂亮的數據集,任何一位統計資訊領域的大學生就能做分析了。


(I) 學習資料分析對你的意義

之所以先講這個是因為會牽涉到要學多深

如果你不是意在於要當資料分析師,或者你的行業其實不會需要到寫程式,那麼對你來說,洞察挖掘視覺化更為重要:就是如何使簡報更一針見血,少點廢話以及使人confuse的圖表。

如果你的行業價值在於其產生的資料,那知道如何撈取資料、與工程師溝通資料搜集需求,你才能是個和行業接地氣的資料分析師,而不只是透過外部報告做一些邏輯分析。

就我的經驗,綜上所述,能夠講出別人意料外的 insightinsight的意義以及清晰好懂的圖表,是一個資料分析師會與其他部門合作愉快的小關鍵。

(II) 資料分析基本流程 與 技能樹

資料分析師會存在於公司的意義,在於上層需要知道如何優化公司現況,或是告訴外部如何優化他們事業的現況。在你有辛苦的資料工程師大大協助下,已經將大部分公司(或是合作客戶)的資料整理在資料庫(或是雲端服務),這時你需要思考,「你要從用哪些面向整理你的洞察給公司/客戶?」、「所以你會用到哪些資料?」,於是資料分析的基本流程產生:

確立分析目的 >> 資料撈取 >> 資料清理 >> 洞察挖掘 >> 視覺化


簡單講一下各 part 的內容:

確立分析目的

重點:知道你的分析報告聽眾會是誰、他們想要被解惑的問題是什麼?
工具:對TA(目標對象) 的了解、報告框架

學習方法:
多看專業的產業分析報告,了解怎麼定位分析題目、報告的前後邏輯是怎麼鋪陳從問題聚焦到資料描述、洞察、提供建議。
不要覺得產業分析報告大部分不是純用程式畫出來所以就不看,學習產業分析報告的架構會對建構自己的資料分析邏輯很有幫助。


資料撈取

【重點】掌握現有的資料源、更新頻率
【工具】SQL-like from Database/Cloud Service (ex: BigQuery, AWS RDS, …)

【學習方法】
有可能你是直接從 EXCEL 整理圖表,你覺得不需要學撈取資料的技術;但你要很多份 EXCEL 整併一起是很麻煩,而且未來公司要自動化、數位化基本上會全部匯到資料庫,用 SQL 合併撈完是很快而且可以存 query 節省下次的工,所以還是趁早學起來的好。
然後學程式語言最好方法就是,多解不同情境的問題,在過程中遇到問題學會怎麼找解法建立解決問題的資料庫

[實作推薦] SQL Online IDE — 測試用的資料庫,用來練習下 SQL 語法
https://sqliteonline.com/

對初學的人來說,比起影片他教你聽的方式,我會比較推薦 可以一邊練習打語法的“互動式”課程網站(是算互動式對吧?)
[課程推薦] SQL fundamentals | Datacamp (Skill Track)
[課程推薦] Learn SQL | CodeCademy


資料清理

【重點】對資料欄位的意義了解、異常值/缺漏值的處理
【工具】Python / R

【學習方法】
初學者建議一步步走過,了解什麼是異常值、缺漏值,不太建議直接套人家包好的資料清理套件,當然你熟悉知道套件裡面在幹嘛,未來省時也可以寫一套自己的清理 function。
我這裡推薦親民一點的 coursera 中文課程:

[推薦課程] 用 Python 玩轉數據 Data Preprocessing Using Python

另外大家也可以多去看課程的「課綱」,快速的聽一下內容,來了解自己的程度大概在哪個狀態。


洞察挖掘

【重點】不只是畫出圖表叫做分析報告,還要知道自己做的分析屬於哪個階段、公司或產品需要什麼類型的分析、目的和結果為何。
根據 Gartner顧問公司從《Competing on Analytics: The New Science of Winning》衍伸出來的 4 種分析階段:敘述性分析、診斷性分析、預測性分析、指示性分析。

敘述性分析
  挖掘過去數據,聚焦在對公司目標有影響的事,告訴聽眾過去發生了什麼、現況是如何、問題出現在哪
診斷性分析
  針對數據呈現已經發生的事,告訴聽眾為什麼會發生背後導致的可能原因是什麼?
預測性分析
  從診斷性分析延伸,根據可能的導因,分析未來會發生什麼?使用機器學習深度學習等方法從過去數據預測未來事件的發生機率
指示性分析
  接續預測性分析,透過預測得到的結果,告訴聽眾下一步該做什麼建議做法。常見應用,如:實時推薦系統

【工具】
敘述性分析— EX: 描述產業現況的框架、描述電商網站現況的框架等
診斷性分析— EX: 魚骨圖、5W分析法等
預測性分析、指示性分析— EX: 機器學習中的迴歸、分類、分群、關聯演算法、深度學習神經網絡等

【學習方法】
強烈建議要從敘述性分析開始、再來 診斷性分析 ,最後到預測性、指示性分析 循序的學;因為如果連現況都講不清楚,做預測性分析時候你的問題就不夠痛、不夠具體,無法說服聽眾為什麼你分析的這個題目是足夠重要的。
市面上很少課程真的在講「分析邏輯」,畢竟牽涉到不同產業,會有不同的商業指標,分析師要在意的東西都會不一樣,分析邏輯本身真的可說是分析師的價值核心。如果以供應鏈產業為例的話,我會推薦 coursera 這一堂:

[課程推薦] Business Intelligence and Competitive Analysis | Coursera

另外,做分析之前,建議可以先了解 產業各項指標及其重要性,這樣你才會知道分析時,拿什麼數據來做比較、趨勢觀察等。

[課程推薦] Analytical Business Metrics | Coursera

好的分析我認為多少都帶有 競爭、比較 的元素,不管是跟公司的以前,還是跟外部競爭者比較;從客觀的框架比較下,出現問題的參照點,所以才有了優化的目標;商業上的驗證也是一樣,企業做了新的嘗試,和以前比較,就是在分析這個嘗試的有效性。


視覺化

【重點】了解各種圖表類型、選擇適合的圖表,知道的視覺化樣式越多、越能針對要講述的結論選擇最好表達的圖表。
【工具】Python (matplotlib, seaborn, plotly…) / R (ggplot2) / EXCEL / Power BI / Tableau / Data Studio …

【學習方法】
當你練習前一 part「洞察挖掘」的敘述性分析時,這時可以自己用各種圖表去表示你的資料分佈。

例如:有一個魚品種和身體特徵的資料集,魚的身長、頭長、鰭長都是連續型變數,魚的品種是離散型名目變數,這時可以怎麼在一張圖同時表示魚的身長和品種分佈?

其中一種答案是用小提琴圖 (Violin Plot)。如下圖,A, B, C, D, E, F 代表魚的品種,y 軸數值代表魚的身長,是不是可以看到不同品種魚類的身長分佈的差異呢?

圖片來源:The Data Visualisation Catalogue

小提琴圖結合箱形圖的統計意涵(中位數四分位距非離群值範圍),加上被旋轉90度的核密度分佈圖 (kernel density plot),如右圖的紫色區域,顯示資料集中,A品種的魚在各種身長的分佈多寡

圖片來源:The Data Visualisation Catalogue

圖表的 function因為細節很多,自己調整有時不夠效率;此時也可以多參考 Kaggle 上別人做 EDA (Exploratory Data Analysis,探索性資料分析) 的公開 notebook,這裡推薦一份完整度很高的:

[作品參考] A Simple Tutorial on Exploratory Data Analysis | Kaggle

平時儲存一些基本圖表的 function,也能幫助擴充你的圖表資料庫、增加工作效率:

[資源推薦] Top 50 matplotlib Visualizations – The Master Plots (with full python code)

(III) 該如何讓自己更加脫穎而出?data 領域的光譜

       A         B

資料工程 <————> 資料分析 <————> 資料科學

我們把職位兩兩的交集區標記成 A、B,如果你發現自己喜歡研究「技術」勝於「團隊、跨部門關係」,那麼很建議你可以挑選其中一區去進階學習

A:爬蟲、資料源串接

B:分析結果用於特徵工程、建立簡單的機器學習模型,推動實際的 AI 商業應用(如產生推薦名單、投放名單等)


如果你對「技術、程式語言」沒有那麼大的熱情,但是很喜歡產業分析,那你一定要多認識不同產業,最好能具備接觸多種產業的分析案件的經歷,因為對你來說,不是要搞技術的,是要比眼界和視角,你比別人強的地方在於對不同產業的掌握度高,你在選擇未來有潛力的公司時的視角也會更加開闊和客觀。

如果你很喜歡用 data 說服人、「解釋難懂的東西給人聽」,很鼓勵你往管理層前進!
說真的讓一個績效很好但不喜歡社交的人當主管,無非是把對的人放錯地方、不考慮人際魅力和天性的結果QQ
但是人際魅力並非是把交朋友看得比績效重,而是他很會解決團隊衝突、或是讓對工作沒有自發熱誠的人願意為了團隊努力,這是我的理解。

對我來說,目前我會歸納資料分析師的職涯有這幾種選擇:

  1. 到不同產業大企業擔任資深分析師、持續累積資歷
  2. 原公司管理階層、建立分析團隊、優化資料分析流程
  3. 涉略其他 data position 的專業,往工程端專精
  4. 涉略其他 data position 的專業,再到新創公司 lead data team

相信道路很廣還有我沒想到的,也歡迎讀者跟我分享你特殊的職涯囉!


結語

即刻開始學習。

如果你希望能有夥伴一起學習的動力,歡迎私我加入 Python 資料分析學伴群。

Like my work??
Don't forget to support or like, so I know you are with me..

CC BY-NC-ND 2.0

Want to read more ?

Login with one click and join the most diverse creator community.