《TO 導讀》:資料科學家是緊跟著在大數據之後竄起的新名詞之一。在現代的網路新創事業中,帶有浪漫的成分越來越少,緊迫燒錢的同時,事事求得數據的佐證變成新創公司們行事的依據。而資料科學家正是與資料為伍的領舵手,如何在海量般的資料中整理出脈絡分明的航道給公司參考,便是他們最重要的工作之一。
而台灣目前仍比較少聽到資料科學家的相關資訊,台灣資料科學愛好者年會這樣的組織正不斷努力地推動這塊產業。
而本文也許是許多人所好奇的「資料科學家大哉問」,資料科學家到底都在做什麼、需要什麼技能、學歷如何等?分享者朱贇(ㄩㄣ)目前在 Airbnb 擔任資料科學家。
矽谷的大部分公司,都有很多的 Data Scientist,簡稱 DS,不知道在中國是不是叫數據科學家。
前幾天 InfoQ 的網站上發布了一篇文章《Airbnb 支付平台如何進行異常檢測》,翻譯的是 Airbnb 公司部落格上的一篇英文原文。
這篇文章講的是 Airbnb 的一個異常探測系統:
Airbnb 為全球 190 個國家提供服務,支持多種貨幣類型。大部分情況下,支付系統會成功支付,但有時會出現暫歇性故障,比如,某些貨幣不能處理或者支付渠道不可訪問。為了能夠盡可能快的捕捉到這些故障訊息,公司的數據團隊開發了一個即時的異常檢測系統來甄別這些問題。這個異常檢測系統可以幫助產品團隊定位問題,也讓數據分析師能騰出更多的時間來做其它工作,比如,新的付費方式或者產品上線的 A/B 測試、定價或者價格預測和構建機器學習模型來做個性化推薦。
這個異常檢測系統我們現在仍然是在使用的,不過略有進一步的改進和完善。英文原文是我們組的一位資料科學家陸競驍寫的。發布之後,也有幾個朋友私下問了一些細節問題,比如:「這樣的系統是怎麼從無到有做出來的」、「需要什麼樣的人來做」等等。所以今天就大概聊聊公司對資料科學家的技能要求以及平時工作的一些大概內容吧。
順便提一句,Twitter 其實也有一個類似的異常檢測系統的基於 R 語言的開源包。和我們的主要區別在於對於 seasonality 的處理。Airbnb 使用 FFT 模型來模擬 seasonality 的方式可能使用起來更加靈活一些。有興趣的可以下載 Twitter 的開源包,然後根據自己的需求做類似的系統。我們的系統目前還沒有開源。
- 資料科學家都做什麼?
在一般的互聯網公司,資料科學家的工作可能包括(卻不止於)下面四類:
1. 構建 Dashboard
這在有些公司是由 Business Intelligence(BI)來做的。主要是使用一些統計工具和畫圖工具來用創建 Dashboard,使得關鍵的 metrics 和訊息可以一目了然地表示出來。並將一些數據之間錯綜複雜的聯繫用最直觀的方式,為公司別的員工展示。讓包括 PM、經理等人員對於公司各個層次、各個方向的訊息有更準確的了解。
2. 和數據工程師一起採集和清理數據,構建數據管道
這包括使用各種腳本語言(如 Python),寫一些程序,獲取需要的數據,並對數據進行一定的處理。
3. 機器學習方向的數據科學家和機器學習方向的軟體工程師一起構建機器學習模型
並一起對學習的結果進行分析,和參與到參數和模型的調整中。
4. 各種數據分析。
包括對 A/B 測試的結果的統計分析。A/B 測試可能在很多公司的使用和機器學習差不多的廣泛了。簡單有效,尤其適合面向用戶的產品特性或者 UI 方面的決策選取。方法很簡單,將一個產品的兩種、多種設計隨機均等地推送給不同的用戶組,根據用戶的使用反饋回來的數據的分析,快速有效地決定哪一種設計更優。或者說哪一種設計針對不同的人群和場景更優。這些結果有時甚至會與設計時的直覺判斷相悖。但是當採樣範圍和數據累積均達到一定的程度時,提供的結果還是相當有說服力的。
- 資料科學家都有什麼樣的學術背景?
大多資料科學家都是來自於數學和統計專業。然而也有很多來自物理、機械工程、金融等專業。相對而言,資料科學家比碼工(程式設計師)的平均學歷要高,也就是碩士博士的比例更大一些。
知乎日報上《如何成為一名數據科學家?》一文中提到:
數據科學(Data Science)是從數據中提取知識的研究,關鍵是科學。數據科學集成了多種領域的不同元素,包括信號處理、數學、概率模型技術和理論、機器學習、計算機編程、統計學、數據工程、模式識別和學習、可視化、不確定性建模、數據倉庫,以及從數據中析取規律和產品的高性能計算。數據科學並不局限於大數據,但是數據量的擴大誠然使得數據科學的地位越發重要。
數據科學的從業者被稱為數據科學家。數據科學家通過精深的專業知識在某些科學學科解決複雜的數據問題。不遠的將來,數據科學家們需要精通一門、兩門甚至多門學科,同時使用數學、統計學和計算機科學的生產要素展開工作。所以數據科學家就如同一個 team。
曾經投資過 Facebook、LinkedIn 的格雷洛克風險投資公司把數據科學家描述成「能夠管理和洞察數據的人」。在 IBM 的網站上,數據科學家的角色被形容成「一半分析師,一半藝術家」。他們代表了商業或數據分析這個角色的一個進化。
- 怎樣算一個優秀的資料科學家?
其實除了金融等領域對資料科學家的技術背景有著上面的嚴格的要求,很多互聯網公司如 Square、Airbnb、Facebook 等對於技術背景達到一定的水準後,更看重的其實是另外一些軟技能,如:
1. 對數據的敏感性
能不能將數據裡隱藏的訊息通過建模等的方式找到並加以驗證。
2. 和各種非資料科學家的溝通能力
資料科學家通常都是分配到組裡的,需要和產品經理、工程師等很緊密的合作。協調組員之間的訊息傳遞,將一個數據驅動的測試方案執行出來,都是一個優秀的資料科學家應該具備的素質。
3. 數據的可視化表示
知道怎樣選取最有效的方式,將數據中的訊息準確明瞭地表示出來。
4. 對數據和公司核心 Metrics 之間的依賴性、相關性能做出準確的分析
這樣才能有助於提出更有利於提高公司 Metrics 的方案。
這也是為什麼很多矽谷的公司在招資料科學家的時候,更願意招有工作經驗的資料科學家,很多中小公司甚至乾脆不招畢業生。而因為各種數據生成的 dashboard, 更是公司高層做決定的一些主要依據。
- 資料科學家在矽谷的薪資是怎樣的?
這個問題我的數據不夠,不好以偏概全的來誤導。不過倒是讓我想起來另外一件事。
大家經常看到 LinkedIn、GlassDoor 等網站對各個職業的平均水平進行統計。我和我的一些朋友覺得,這些數據其實是很 bias 的,而且基本可以說是偏低的。為什麼這麼說呢?我猜有兩個原因。
第一,剛入職場的人更喜歡參與這樣的統計調查。而比較 Senior 的人,其實幾乎沒有人或者很少有人去參與這樣的調查。
第二,很多高工資的公司參與這樣的統計調查的人要相對較少。我為什麼這麼猜?只是從我認識的人提起這樣的一些統計數據都覺得比實際情況偏低推測的。不用跟我爭辯,我只是說出我的觀點,信不信由你。
- 為什麼資料科學家很重要?
沒啥可說的了:可信的數據、靠譜的解讀,是做出正確判斷的重要基礎。
所以對於很多公司而言,招到優秀的資料科學家,其實和招到優秀的軟體工程師一樣重要。而一個公司在多大程度上由數據驅動,看看他們資料科學家與工程師的比例,也就大概有個譜了。
(本文獲得《雷鋒網》授權刊登轉載,原標題為《Airbnb 資深程序媛:公司裡的 Data Scientist》。未經科技報橘授權請勿轉載。頁首圖片來源:youtube。)
- 延伸閱讀