題圖:Emily Cheng 手繪, Airbnb 程序媛,我的鄰座
我欠你一個道歉:昨天這篇發了一遍,原本是為了發文敬賀 「極客邦科技」 的「技術社群大會」圓滿召開,也感謝「技術社群聯盟」讓我加盟,成為他們的一分子。且本人其實又和 「中生代社群」 有著很親密的關係。
結果可能看朋友們都 「約會」 在大會現場,可能去不了心裡有遺憾,硬是把標題的 「data scientist」 錯寫成 「date scientist」,bug 有點大,只好刪了。結果後臺收到幾百條留言各種互動,早知道就不刪了,留下這個美麗的錯誤好了。
矽谷的大部分公司,都有很多的 Data Scientist,簡稱 DS,不知道國內是不是叫數據科學家。
前幾天 InfoQ 的網站上發布了一篇文章《Airbnb支付平臺如何進行異常檢測》(文末 「閱讀原文」 進入),翻譯的是 Airbnb 公司博客上的一篇英文原文。
這篇文章講的是 Airbnb 的一個異常探測系統:
Airbnb為全球190個國家提供服務,支持多種貨幣類型。大部分情況下,支付系統會成功支付,但有時會出現暫歇性故障,比如,某些貨幣不能處理或者支付渠道不可訪問。為了能夠儘可能快的捕捉到這些故障信息,公司的數據團隊開發了一個實時的異常檢測系統來甄別這些問題。這個異常檢測系統可以很好的幫助產品團隊定位問題,也讓數據分析師能騰出更多的時間來做其它工作,比如,新的付費方式或者產品上線的A/B 測試、定價或者價格預測和構建機器學習模型來做個性化推薦。
註:InfoQ 作為 IT 媒體界的翹首,在規範翻譯英文博客的流程上起了一個很好的表率。首先就翻譯的準確性來說,InfoQ 網站上的翻譯總的來說質量是很高的,也有專人校對。此外,我知道他們翻譯的文章是聯繫授權的,就說這一篇,也是得到了 Aribnb 的 eng 部門和 PR 部門首肯的。在此對 InfoQ 對智慧財產權的尊重表示一下個人小小的敬意。
這個異常檢測系統我們現在仍然是在使用的,不過略有進一步的改進和完善。英文原文是我們組的一位 Data Scientist 陸競驍 寫的。發布之後,也有幾個朋友私下問了一些細節問題,比如:「這樣的系統是怎麼從無到有做出來的?」 「需要什麼樣的人來做?」 等等。所以今天就大概聊聊公司對 Data Scientist 的技能要求以及平時工作的一些大概內容吧。
順便提一句,Twitter 其實也有一個類似的異常檢測系統的基於 R 語言的開源包 :https://blog.twitter.com/2014/breakout-detection-in-the-wild。和我們的主要區別在於對於 seasonality 的處理。Airbnb 使用 FFT 模型來模擬 seasonality 的方式可能使用起來更加靈活一些。有興趣的可以下載 Twitter 的開源包 https://github.com/twitter/BreakoutDetection ,然後根據自己的需求做類似的系統。我們的系統目前還沒有開源。
Data Scientist 都做什麼?
在一般的網際網路公司,DS 的工作可能包括(卻不止於)下面四類:
構建 Dashboard。這在有些公司是由 Business Intelligence(BI)來做的。主要是使用一些統計工具和畫圖工具來用創建 Dashboard,使得關鍵的 metrics 和信息可以一目了然的表示出來。並將一些數據之間錯綜複雜的聯繫用最直觀的方式,為公司別的員工展示。讓包括 PM、經理等人員對於公司各個層次、各個方向的信息有更準確的了解。
和數據工程師一起採集和清理數據,構建數據管道。這包括使用各種腳本語言(如 Python),寫一些程序,獲取需要的數據,並對數據進行一定的處理。
機器學習方向的數據科學家和機器學習方向的軟體工程師一起構建機器學習模型。並一起對學習的結果進行分析,和參與到參數和模型的調整中。
各種數據分析。包括對 A/B 測試的結果的統計分析。A/B 測試可能在很多公司的使用和機器學習差不多的廣泛了。簡單有效,尤其適合面向用戶的產品特性或者 UI 方面的決策選取。方法很簡單,將一個產品的兩種/多種設計隨機均等地推送給不同的用戶組,根據用戶的使用反饋回來的數據的分析,快速有效地決定哪一種設計更優。或者說哪一種設計針對不同的人群和場景更優。這些結果有時甚至會與設計時的直覺判斷相悖。但是當採樣範圍和數據累積均達到一定的程度時,提供的結果還是相當有說服力的。
Data Scientist 都有什麼樣的學術背景?
大都 DS 都是來自於數學和統計專業。然而也有很多來自物理、機械工程、金融等專業。相對而言,DS 比碼工的平均學歷要高,也就是碩士博士的比例更大一些。
知乎日報上《如何成為一名數據科學家?》一文中提到:
數據科學(Data Science)是從數據中提取知識的研究,關鍵是科學。數據科學集成了多種領域的不同元素,包括信號處理,數學,概率模型技術和理論,機器學習,計算機編程,統計學,數據工程,模式識別和學習,可視化,不確定性建模,數據倉庫,以及從數據中析取規律和產品的高性能計算。數據科學並不局限於大數據,但是數據量的擴大誠然使得數據科學的地位越發重要。
數據科學的從業者被稱為數據科學家。數據科學家通過精深的專業知識在某些科學學科解決複雜的數據問題。不遠的將來,數據科學家們需要精通一門、兩門甚至多門學科,同時使用數學,統計學和計算機科學的生產要素展開工作。所以數據科學家就如同一個team。
曾經投資過 Facebook,LinkedIn 的格雷洛克風險投資公司把數據科學家描述成「能夠管理和洞察數據的人」。在 IBM 的網站上,數據科學家的角色被形容成「一半分析師,一半藝術家」。他們代表了商業或數據分析這個角色的一個進化。
怎樣算一個優秀的 Data Scientist?
其實除了金融等領域對 DS 的技術背景有著上面的嚴格的要求,很多網際網路公司如 Square、Airbnb、Facebook 等對於技術背景達到一定的水準後,更看重的其實是另外一些軟技能,如:
對數據的敏感性。能不能將數據裡隱藏的信息通過建模等的方式找到並加以驗證。
和各種非 DS 的溝通能力。Data Scientest 通常都是分配到組裡的,需要和產品經理、工程師等很緊密的合作。協調組員之間的信息傳遞,將一個數據驅動的測試方案執行出來,都是一個優秀的 DS 應該具備的素質。
數據的可視化表示。知道怎樣選取最有效的方式,將數據中的信息準確明了的表示出來。
對數據和公司核心 Metrics 之間的依賴性、相關性能做出準確的分析。這樣才能有助於提出更有利於提高公司 Metrics 的方案。
這也是為什麼很多矽谷的公司在招 DS 的時候,更願意招有工作經驗的 DS,很多中小公司甚至乾脆不招畢業生。而因為各種數據生成的 dashboard, 更是公司高層做決定的一些主要依據。
Data Scientist 在矽谷的薪資是怎樣的?
這個問題我的數據不夠,不好以偏概全的來誤導。不過倒是讓我想起來另外一件事。
大家經常看到 LinkedIn、GlassDoor 等網站對各個職業的平均水平進行統計。我和我的一些朋友覺得,這些數據其實是很 bias 的,而且基本可以說是偏低的。為什麼這麼說呢?我猜有兩個原因。第一,剛入職場的人更喜歡參與這樣的統計調查。而比較 Senior 的人,其實幾乎沒有人或者很少有人去參與這樣的調查。第二,很多高工資的公司參與這樣的統計調查的人要相對較少。我為什麼這麼猜?只是從我認識的人提起這樣的一些統計數據都覺得比實際情況偏低推測的。不用跟我爭辯,我只是說出我的觀點,信不信由你。
為什麼 Data Scientist 很重要?
沒啥可說的了:可信的數據、靠譜的解讀,是做出正確判斷的重要基礎。
所以對於很多公司而言,招到優秀的 Data Scientest,其實和招到優秀的軟體工程師一樣重要。
而一個公司在多大程度上由數據驅動,看看他們 Data Scientist 與工程師的比例,也就大概有個譜了。
廣告也八卦:因為這篇談到數據科學家和數據分析,不禁想起來 IT 自媒體裡面一位喜歡靠數據說話的公眾號作者。「caoz 的夢囈」 這個公眾號可能 「嘀嗒嘀嗒」 很多的讀者已經訂閱了。號主人稱 「曹神」,沒錯,就是前幾天推薦過我的公眾號的那位。曹神推薦了我的公眾號,卻偏偏要對我的寫作技巧、公眾號取名等各種吐槽。有我的朋友替我抱不平,說 「曹神又黑你了。」 其實他也就是喜歡裝的比較高冷而已,私底下人其實可好了。否則就不會一邊挑我的刺,一邊無償幫我打廣告啦。
曹神到底是誰?這裡賣個關子。我開始也是不認識他的,後來因為寫公眾號,才斷斷續續有了些許交集,從一些朋友那裡聽到一些傳說,才知道不小心認識了個牛人。曹神在網際網路圈子裡混的挺有些年頭了。對網際網路數據掌握之全,和網際網路趨勢的敏感性都是有過人之處的。尤其是2006-2009這段時間。引用大輝哥的原話 「他的內容,內行看門道,外行看熱鬧。」 他的公眾號更新的比較勤快,所以總會三不五時有那麼一篇兩篇讓你有所收穫吧。
寫公眾號認識了一些很有趣的朋友。喜歡彼此對寫作技巧或觀點偶爾吐個小槽。曹神說我的寫作技巧不咋地,然而另外兩三個大號作者私下在朋友圈或私信裡也有對我說,說曹神比較羅嗦(哈哈)。所以這麼看來,到底喜不喜歡他的文章,你還是自己去看看吧。反正是我最喜歡的幾個號之一了。(我的這段廣告寫的也是有夠囉嗦的了。本來打算自己的地盤,反吐槽回去,然而寫成這樣,只能說我還是不夠彪悍了,呵呵……)
下面是 「嘀嗒嘀嗒」 的二維碼:矽谷程序媛視角為您講述技術、八卦矽谷。偶爾講講故事。