數據科學專業有被自動化的風險嗎?

2019-11-13     AI公園

作者:Tony Yiu

編譯:ronghuaiyang

導讀

有質量的預測真的可以按需生產嗎?這對數據科學專業意味著什麼?

前幾天,我讀了一篇關於優步如何將數據科學的力量賦予每一位員工的文章。我特別注意到下面這句話:

預測平台的宏偉願景是按下一個按鈕就能提供預測。完全不需要專業知識。用戶需要的惟一輸入是歷史數據,無論是CSV文件還是查詢連結的形式,以及預測範圍,你想預測多遠。其他一切都是在幕後完成的—Franziska Bell, Uber的數據科學總監

這讓我想到,預測真的能被商品化到這樣的程度嗎?微軟(Microsoft)、谷歌和亞馬遜(Amazon)也在努力為各自的雲客戶打造更「拖放」的機器學習解決方案,因此Uber肯定不是唯一一家有此抱負的公司。

Bell的這句話引出了兩個截然相反的結論——要麼優步的預測平台超級驚人,要麼他們對預測未來的挑戰過於漫不經心。為了好玩,讓我們看看每種可能性:

優步的預測平台非常棒 — 優步必須要怎麼做,才能夠做到,按下一個按鈕,其中唯一需要輸入的是目標變量的歷史數據就可以產生預測?他們必須能夠:

  1. 有數據,並知道是否包括任何和所有相關的特徵。你需要衍生變量來建立一個模型,尤其是當你試圖預測一些複雜的事情時。優步不僅必須在做出預測前準備好所有可用的數據,還必須知道要包含哪些特徵,以及如何轉換每個特徵。
  2. 它還必須能夠比較和對比各種預測算法(線性回歸、隨機森林和神經網絡)。並能夠為每個特定的算法選擇最優超參數。
  3. 預測還必須進行反測試(以降低模型樣本外爆炸的風險),Uber需要能夠向用戶傳達模型所依賴的假設以及模型在什麼條件下可能會崩潰。

有很多事情要做。如果他們能做到這一切,那就是他們的功勞。

如果Uber太過於樂觀了呢 — 相反的觀點是,預測平台只是一個(ARIMA模型)或(LSTM),基於過去預測未來的觀測目標。對於某些應用,這是可以的。

但是,只使用滯後的目標變量作為特徵意味著可能會錯過關鍵的衍生關係,這將使模型嚴重欠擬合,並可能表現得很差。

對此採取保留態度

我個人對優步的「預測即服務」目標持懷疑態度。我可以理解,優步是否允許員工使用預構建的模型「隨需應變」的預測某些關鍵的業務指標 —— 這些模型已被其數據科學團隊廣泛研究和改進。但我不認為這是Franziska Bell的意思。似乎她的目標是能夠創建一個按鈕,按一下就可以預測幾乎任何事情。

這是一個非常困難的問題,可能是一個不可能的問題。讓我們通過預測過程的每個步驟來更好地了解什麼可以容易的自動化和什麼不可以很容易地自動化。

明確定義問題——需要預測什麼?

如果沒有一個問題需要解決,那麼建立一個模型並利用它進行預測就沒有多大意義。因此,第一步是弄清楚我的問題是什麼,我可以預測哪些方面的問題,這樣可以讓問題變得更清晰。

這一點往往不像乍一看那麼明顯。從Uber開始,讓我們繼續以它為例。假設我們是優步的分析師,我們的工作是預測舊金山明年的優步需求。我們能不能給預測平台一個Uber需求的歷史時間序列,然後用它來完成?

可能不會。我的意思是,我們老闆所說的需求是什麼意思?可以是以下任何一種:

  • 明年的乘客人數。
  • 來年的總載客量,即乘客人數乘以每位乘客的載客量。
  • 下一年乘客支付的美元數,即乘客人數乘以每位乘客乘坐的次數乘以每位乘客的平均價格。

因此,對於我們究竟需要預測什麼,存在著歧義。你是否注意到,隨著我們對需求定義的充實,我們需要預測的變量越來越多?

即使只是乘客的數量本身也是許多因素相互作用的結果:

  • 可用司機數量 — 司機數量和乘客數量之間存在循環效應,Uber僱傭的司機越多,使用其平台的乘客就越多(這被稱為網絡效應)。
  • 競爭格局(Lyft, taxis, scooters等)如何隨著時間的推移而變化。這包括競爭對手的數量、每個競爭對手的營銷和定價策略等。

因此,看似簡單的問題最終變得相當複雜,難以自動化。正如我們上面所看到的,正確的預測模型通常是多個單獨模型和預測的集合。如果我們不考慮足夠的變量,我們的模型將會錯過關鍵的影響。如果我們試圖在整體中包含太多的模型和/或預測,我們將會迷失在複雜的迷宮中。

搞清楚要預測什麼並不容易,對於負責充實模型的各個組件的架構師來說,經驗豐富的數據科學家是非常寶貴的,這樣,模型就可以跨越過於簡單和過於複雜之間的界限。

識別有洞察力的數據(並找到它)

一旦我們確定了我們想要預測的變量,並為我們的模型集成繪製了一個簡潔的流程圖,我們就可以開始了,對嗎?錯了,首先我們需要弄清楚我們是否擁有所有我們需要的數據。在最樂觀的情況下,我們所有的數據都是可用的、清理過的,並且隨時可以進入資料庫——但是在現實世界中很少會出現這樣的情況。

一旦我們知道我們想要預測什麼,然後我們需要決定我們的候選特徵集,我們將使用它來生成我們的預測。通常,這些數據不會立即可用——相反,數據科學家的工作是弄清楚從哪裡以及如何獲得數據。如果無法直接觀察,那麼如何用實際可用的東西來代替它。

這個步驟也很難自動化。除非一個公司的數據湖像谷歌一樣巨大和深,否則他們將需要數據科學家來聰明和創造性地搜索世界,尋找有洞察力的數據。

構建預測特徵工程並選擇合適的算法

這部分可能更容易自動化。假設我們成功地獲取並清理了所有數據(這並不容易),現在就可以構建模型了。

儘管我認為,經驗豐富的數據科學家或統計學家在選擇正確的模型和正確設置其參數方面將是非常寶貴的專家,但我也意識到,在這裡,一種蠻力、自動化的方法絕對是可能的。

你甚至可以說,我們不需要運行和測試每一個模型來選擇最好的一個。相反,我們可以假設使用XGBoost或一個神經網絡會給我們一個足夠好的結果,前提是它們經過了適當的訓練,並且沒有過擬合。

此外,上述兩種算法都有效地實現了特徵工程過程的自動化。例如,給定足夠的神經元和層,神經網絡可以很容易地捕捉到我們的特徵和目標之間的任何非線性關係。因此,不需要顯式地包含我們的特徵之間的對數和指數或交互。

當然,這種自動化是要付出代價的。低解釋性——換句話說,我們不知道是什麼在驅動我們的預測。例如,在線性回歸中,係數a告訴我們特徵a每增加1個單位對我們預測的確切影響,在神經網絡中,我們不知道增加的特徵a如何影響我們的預測。

在當今大而複雜的數據世界中,模型可解釋性似乎是一種加分的特性,而不是一種必須具備的特性。但我認為,在一些情況下,一個更簡單、更具解釋性的模型並不會讓你付出太多代價(就預測的準確性而言),保持模型的簡單是明智的。

知道你的模型什麼時候會掛

賦予每個人預測能力的一個被低估的風險是,沒有先驗預測經驗的人對無效或過擬合的模型可能造成的破壞缺乏正確的認識

從行為上看,當我們看到一個精確的定量預測時,我們就會產生一種錯誤的安全感(我們對數字和數學的精確性感到欣慰)。但是,一個經驗豐富的數據科學家會知道要質疑模型的假設,並認識到模型在什麼條件下可能表現得很差。

這是不可解釋模型的另一個缺點。

如果我們不能看到驅動我們預測的關鍵關係,我們就很難知道什麼時候這些關係不再有效。

在我看來,這很難自動化。總有一份工作適合那些既了解建立模型、又了解做出預測的好處和風險的人。

結論

所有可以自動化的東西似乎最終都會自動化。因此,當數據科學和機器學習的某些方面在某種程度上實現自動化時,我們不應該感到驚訝。相反,我們應該關注那些難以自動化的數據科學方面,並在可預見的未來繼續增加價值:

  • 了解業務的主要驅動力,以及影響這些驅動力的因素。
  • 知道如何正確界定和設計模型,使其既不過於簡單和欠擬合,也不過於複雜。
  • 了解如何挖掘有洞察力的數據,可用於提供數據科學模型。
  • 建立「足夠好」的可解釋模型。
  • 能夠識別出你的模型在什麼時候以及在什麼情況下可能會崩潰並產生糟糕的預測。

當然,這些只是我的想法。我也很想聽聽你的。

英文原文:https://towardsdatascience.com/is-the-data-science-profession-at-risk-of-automation-ae162b5f052f

請長按或掃描二維碼關注本公眾號

文章來源: https://twgreatdaily.com/zh/tZuYZW4BMH2_cNUgaVr3.html