大數據之亂-淺談DataScientist相關工作內容

Yanwu
Jan 30, 2021

--

還記得先前把求職面試文章分享到PTT上,有不少網友詢問:

  1. 新加坡和台灣的公司在資料方面的技術使用差異
  2. 想多了解商業分析的工作內容

所以就想說來寫寫DataScientist的工作內容,到底在大數據的洪流下,工作內容又或者職位title又有什麼不一樣。我曾經看過5間公司開出data engineer 職缺,但詳細聊過後,工作內容皆不一樣。本文想要就我看到的,跟大家介紹介紹。

數據分析的工作內容跟必備技能網路上,已經很多人有寫過類似文章,可以參考:

  1. 數據分析師的工作日常,在資料和程式中挖掘商業價值
  2. 我是如何入門並成爲資料分析師的?

影片的話,可以參考這部;對於DA/BA/DS等職位的解釋、以及工作流程、內容,有很清楚的解釋。

回歸到我對於數據分析/數據科學的看法,會分為兩個部分來說:

  1. 數據分析流程
  2. 工作內容及職位

數據分析流程

對我而言,數據分析是一條龍的研究流程;從資料的取得、資料處理、建模分析到最後的視覺化呈現/商業報告。這整條龍需要熟悉多種程式(SQL、Python、Excel到甚至是網頁前後端、簡報製作等)、數學理論包括統計、微積分、線性代數等;如果是商業上的分析,甚至是要對本身的產業知識有所掌握。這整條路可以説水非常深,涉及領域很廣,接下來就一一解釋:

資料取得

最常被提及的就是網路爬蟲,但還有現在政府開放的Open data,甚至是許多企業的API可以串接,當然公司企業的CRM、ERP,儲存使用者log等資料庫,更甚是老舊企業使用excel儲存的xlsx、csv,都是可以取得資料的來源。

此部分需要的技術:

  • 網路爬蟲
    Python有套件許多套件可以使用:BeautifulSoup、Scrapy、PySpider
    基本爬蟲的概念是透過向網頁發送request,取得html的資料,透過套件解析,並把需要的資料整理出來。
  • API傳接
    向API server發送特定參數的post,取得回傳的資料,大多是以json格式交換資料。
  • 資料庫SQL語法
    MSSQL、MySQL都是基本的資料庫,語法上大同小異,就是需要花點時間學習select、from、where等基本語法。

資料處理

取得資料後,就要想辦法合併整理成需要分析或者可以分析的資料樣式。主要就是篩選需要的資料、合併幾張分散的資料表,把相關的資料整併在一起、當然有一些資料會有異常值或缺失值,也都是此部分需要去做處理的。

此部分需要的技術:

  • Python:numpy、pandas等套件
  • R語言:data.table、data.frame等套件
  • SQL:join、where等語法

建模分析

這部分通常分為數據分析與模型預測;一般來說數據分析就是這個部分,針對商業上遇到問題,進行統計分析、A/B test,並進行推論及驗證問題。
模型預測,包含透過統計模型或機器學習進行分類、分群,甚至是數值的預測。所以這部份需要比較好的數學基礎,及假設驗證的實驗概念。

此部分需要的技術:

  • 敘述統計
  • A/B test
  • 統計模型
  • 機器學習/深度學習

以上技術就比較不侷限對應的程式語言,又或者說每種程式語言都能做到,甚至也能用Excel都可以。

視覺化報告與應用

在一個完整的數據分析專案的最後,就是要針對分析的結論提出有效的商業決策建議報告、或應用及改善現有產品。應用來說,如果是訓練了一個模型,就是要把結果交給對應部門做下一步的處理,通常利用API串接,或利用資料庫提供公司內部使用。

此部分需要的技術:

  • 資料視覺化:幫助閱聽者了解數據樣貌,增加報告易讀性。
    工具:matplotlib、seaborn、ggplot2等 甚至也有聽過用Photoshop
  • 商業報告:完整的商業簡報製作,利用圖像化解釋理論模型及商業應用。
    工具:PowerPoint、Keynote
  • Dashboard數據儀表板:制定特定的商業指標,提供決策者快速了解營運狀況。
    工具:PowerBI、R shiny 等,也可以利用網頁架構手刻
  • API應用:將模型產出數據存回資料庫,提供給相關單位使用。

工作內容及職位

以上是針對數據分析的流程介紹作業內容及所需技術;接下來會針對工作內容及職位介紹。

主要目前會先依資料型態不同,使用的模型會不太一樣,主要有以下三種類別:

  1. 數值資料:主要就是商業分析、電商平台為主的資料都是數值型,主要多為銷售紀錄,使用者log等資料,也是目前較多的數據分析範疇。工作職位多為數據分析師、商業分析師等。工作內容就像本文上半部敘述的樣貌,多半是要解決商業上的問題;或針對商業上的營運狀況做假設,再利用資料進行驗證及提出改善建議。
  2. 影像資料:我個人認為比較偏研究,但應用領域相對較為廣泛的部分。主要就是影像辨識,不論是圖像識別、或是動態的影像辨識。工作內容會比較像是研究演算法,提升模型辨識率(準確率)。
  3. 文字資料:文字探勘相對在中文領域有一定的困難,主要就是做網路輿論分析及辭意判讀,多半還會搭配聲音辨識,做所謂的聊天機器人的應用。追求的也是模型的準確率及資料詞庫的精準度。

接下來就依照職位介紹一下,不同的職位各自的工作內容工作內容

  • Data Engineer資料工程師:
    從一開始搜集資料,如何爬蟲、如何把資料放進資料庫,還有最後面如何把資料用api串接,甚至是基本的ETL都算是資料工程師的工作內容,主要來說就是處理資料結構及儲存上的問題。
  • Data Analyst資料分析師:
    能夠從資料庫撈資料,並利用資料進行統計分析,或是開發模型;通常需要比較好的統計基礎,並能夠快速掌握資料,以數據面出發分析資料。
  • Algorithm Engineer演算法工程師:
    很明確主要的工作內容,是在如何建構機器學習或深度學習的演算法模型,個人認為是需要有大量數學及演算法基礎的工作內容。
  • Business Analyst商業分析師:
    商業分析會以解決商業問題出發,程式基礎要求會是最低的,通常是只要會SQL或excel能夠整理資料就可以了。會著重在利用商業的角度,提供商業上的impact。
  • Data Scientist資料科學家:
    個人認為資料科學家是以上所有工作的通稱,甚至是要對以上的工作內容或職位都能夠有所掌握。

以上是針對現在數據領域的工作內容及職位一點點淺見,雖然資料科學領域的工作內容可以分的很細,但是最重要的還是產業問題。換一個領域就像是隔行如隔山,不僅資料型態差異很大,甚至要使用到的技術方法模型都不一樣。所以除了技術上面要有一定的掌握,更重要的是如何快速了解商業需求,解決商業問題,才能夠為公司帶來價值。

大數據已經被炒了三年五年了,在業界也逐漸重視以數據作為決策的依據。本文章,就是淺談我對於數據分析的工作內容,也希望看到的人,能夠更暸解自己對哪部分有興趣,又或者更釐清自己的工作範疇及熟悉的領域。

--

--

Yanwu
Yanwu

Written by Yanwu

Learning data, Play data. Data analyst in Singapore.

Responses (1)