數(shù)據(jù)科學(xué)難在實(shí)踐,有哪些彎路可以不走?
大數(shù)據(jù)文摘出品
編譯:李雷、欒紅葉
數(shù)據(jù)科學(xué)這一名詞流行了這么長(zhǎng)時(shí)間,對(duì)于很多企業(yè)來(lái)說(shuō)仍然是熟悉而又陌生的詞匯。
對(duì)于積極向布局?jǐn)?shù)據(jù)科學(xué)應(yīng)用的企業(yè)來(lái)說(shuō),如何避免走彎路是始終追求的目標(biāo)。
Blue Yonder,一個(gè)成立于2008年的大數(shù)據(jù)分析平臺(tái),用他8年的數(shù)據(jù)科學(xué)經(jīng)驗(yàn)告訴你,什么是真正的數(shù)據(jù)科學(xué)、有哪些彎路可以不走。
正如Blue Yonder創(chuàng)始人在采訪中說(shuō)到:“在這八年里,我們經(jīng)歷了不少痛苦的教訓(xùn),尤其是在數(shù)據(jù)科學(xué)應(yīng)用方面。”
以下是采訪原文,請(qǐng)欣賞!
數(shù)據(jù)科學(xué)
我相信許多人都知道什么是數(shù)據(jù)科學(xué),但我想分享一下我個(gè)人對(duì)它的理解:數(shù)據(jù)科學(xué)的目的是構(gòu)建自動(dòng)化的數(shù)據(jù)驅(qū)動(dòng)運(yùn)營(yíng)決策支持系統(tǒng)。
根據(jù)這么嚴(yán)格的定義(你也許會(huì)有異議),數(shù)據(jù)科學(xué)的唯一目便成了決策的支持和自動(dòng)化。那么“運(yùn)營(yíng)決策”是什么?
它是指企業(yè)需要頻繁定期進(jìn)行的大量決策,這些決策對(duì)業(yè)務(wù)KPI(關(guān)鍵績(jī)效指標(biāo))有直接影響,其結(jié)果也需要在短時(shí)間內(nèi)進(jìn)行評(píng)估。
企業(yè)可能需要作出以下決策,例如:各種產(chǎn)品明天的***定價(jià)是多少或發(fā)送給供應(yīng)商X的下一個(gè)訂單中各產(chǎn)品的***定價(jià)是多少。
由于人們經(jīng)常在不經(jīng)意間受到影響,因此在大多數(shù)情況下,自動(dòng)決策勝于人類的運(yùn)營(yíng)決策,并且自動(dòng)決策可以顯著提高業(yè)務(wù)流程的效率。
人類決策偏見(jiàn)列表:
https://en.wikipedia.org/wiki/List_of_cognitive_biases#Decision-making.2C_belief.2C_and_behavioral_biases
所有這一切實(shí)際上意味著,數(shù)據(jù)科學(xué)對(duì)于運(yùn)營(yíng)決策的意義就像工業(yè)機(jī)器人對(duì)于制造業(yè)那樣。正如機(jī)器人可以自動(dòng)執(zhí)行重復(fù)的生產(chǎn)任務(wù)一樣,數(shù)據(jù)科學(xué)也可以自動(dòng)執(zhí)行重復(fù)的運(yùn)營(yíng)決策。
DevOps與數(shù)據(jù)科學(xué)
DevOps工作流程旨在克服傳統(tǒng)IT組織中由于開(kāi)發(fā)團(tuán)隊(duì)和運(yùn)營(yíng)團(tuán)隊(duì)相互獨(dú)立而導(dǎo)致的普遍沖突問(wèn)題。開(kāi)發(fā)團(tuán)隊(duì)希望開(kāi)發(fā)新功能并希望新功能盡早上線,而運(yùn)營(yíng)團(tuán)隊(duì)負(fù)責(zé)系統(tǒng)的穩(wěn)定性,因?yàn)樗凶兏紩?huì)帶來(lái)風(fēng)險(xiǎn)。他們需要盡可能地阻止新功能上線。
在這場(chǎng)沖突中,兩個(gè)團(tuán)隊(duì)都忽略了以穩(wěn)定可靠的新功能為客戶創(chuàng)造價(jià)值這一共同目標(biāo)。
開(kāi)發(fā)人員和運(yùn)營(yíng)團(tuán)隊(duì)之間的沖突只是組織結(jié)構(gòu)不合理導(dǎo)致的其中一種情形,對(duì)于按功能劃分的其他組織機(jī)構(gòu)也存在相同的問(wèn)題。
在許多公司里,數(shù)據(jù)科學(xué)也被困在類似的“功能團(tuán)隊(duì)孤島”中。更詳細(xì)的解釋,我建議閱讀這篇《什么是DevOps》
相關(guān)鏈接:https://theagileadmin.com/what-is-devops/
數(shù)據(jù)科學(xué)-麻煩制造者
有個(gè)虛構(gòu)的段子,但卻透著真實(shí)的無(wú)奈。兩位管理人員在一次會(huì)議上相遇,其中一位經(jīng)理問(wèn)道,“你們公司是不是已經(jīng)開(kāi)始使用數(shù)據(jù)科學(xué)決策分析了?”另一位回答說(shuō):“我們的數(shù)據(jù)科學(xué)家團(tuán)隊(duì)已經(jīng)成立一年了,但什么時(shí)候可以開(kāi)始分析還遙遙無(wú)期呢。”
為了更好地理解為什么許多數(shù)據(jù)科學(xué)工作的進(jìn)展緩慢,我們需要看一下用數(shù)據(jù)科學(xué)進(jìn)行自動(dòng)化業(yè)務(wù)決策的典型工作流程。
下面的工作流程示例是以零售行業(yè)為例,同樣也適用于其他行業(yè)。
(1) 從各種來(lái)源提取各種必要的數(shù)據(jù):
- 內(nèi)部數(shù)據(jù)源,如ERP,CRM和POS系統(tǒng),或來(lái)自在線商店的數(shù)據(jù)。
- 外部數(shù)據(jù),如天氣或公眾假期數(shù)據(jù)
(2) 提取,轉(zhuǎn)換和加載數(shù)據(jù):
- 關(guān)聯(lián)數(shù)據(jù)源
- 聚合并轉(zhuǎn)換數(shù)據(jù),
- 用“一張大表”關(guān)聯(lián)所有數(shù)據(jù)
(3) 機(jī)器學(xué)習(xí)和決策制定:
- 使用歷史數(shù)據(jù)來(lái)訓(xùn)練機(jī)器學(xué)習(xí)模型
(4) 對(duì)于決策,使用當(dāng)前的***數(shù)據(jù)
- 由此產(chǎn)生的決策被送回ERP系統(tǒng)或其他數(shù)據(jù)倉(cāng)庫(kù)
這些步驟基本上涉及業(yè)務(wù)的方方面面,并且需要深入集成到業(yè)務(wù)流程中,以創(chuàng)建有效的決策系統(tǒng)。
然而這也是迄今為止數(shù)據(jù)科學(xué)決策分析工作***的麻煩。為了整合數(shù)據(jù)科學(xué),就需要改變核心業(yè)務(wù)流程,而改變核心業(yè)務(wù)流程卻是一項(xiàng)艱巨的任務(wù)。
數(shù)據(jù)科學(xué)本質(zhì)上是貪婪的
沒(méi)有數(shù)據(jù)科學(xué)家會(huì)說(shuō)“目前的數(shù)據(jù)庫(kù)規(guī)模足夠明年用的了。”
人們通常覺(jué)得數(shù)據(jù)科學(xué)家都是貪婪的,因?yàn)樗麄兯坪鯇?duì)可用資源有著不切實(shí)際的想法。但實(shí)際上,數(shù)據(jù)科學(xué)本身才是貪婪的。
總的來(lái)說(shuō),以下因素會(huì)使數(shù)據(jù)科學(xué)項(xiàng)目的結(jié)果更準(zhǔn)確:
- 更多屬性(“列”)
- 更多歷史數(shù)據(jù)(“行”)
- 更獨(dú)立的數(shù)據(jù)源(例如,天氣,金融市場(chǎng),社交媒體......)
- 更復(fù)雜的算法(例如,深度學(xué)習(xí))
綜上,這不是數(shù)據(jù)科學(xué)家的問(wèn)題!原則上,他們有權(quán)提出這些要求。幸運(yùn)的是,我們有方法來(lái)解決資源短缺問(wèn)題,我將在稍后進(jìn)行論證。
另一個(gè)問(wèn)題是低估了決策的絕對(duì)數(shù)量。比如一家擁有100個(gè)店鋪和5,000種產(chǎn)品的小型超市連鎖店的每日補(bǔ)貨量預(yù)測(cè),補(bǔ)貨算法需要14天的日預(yù)測(cè)數(shù)據(jù)才能進(jìn)行分析。那實(shí)際意味著每天需要計(jì)算,處理和存儲(chǔ)7百萬(wàn)個(gè)預(yù)測(cè)數(shù)據(jù)。
由于建立一個(gè)有效的機(jī)器學(xué)習(xí)模型需要許多不同的數(shù)據(jù)源,部門(mén)之間可能會(huì)引入新的共通性和糾結(jié)。整個(gè)公司必須在公共標(biāo)識(shí)符(common identifiers)和數(shù)據(jù)類型(data types)上達(dá)成一致。
以前,斷開(kāi)鏈接的子部分需要與它們的數(shù)據(jù)流保持同步。比如,一個(gè)自動(dòng)的日常補(bǔ)貨系統(tǒng)可能要依賴營(yíng)銷部門(mén)的促銷數(shù)據(jù)和商店的庫(kù)存數(shù)據(jù)。所有必要的數(shù)據(jù)需要在一天中的固定時(shí)間獲取,這樣才方便系統(tǒng)設(shè)計(jì)決策并及時(shí)發(fā)送給供應(yīng)商。
數(shù)據(jù)科學(xué)家 VS 公司的其他人
現(xiàn)在回到DevOps上來(lái),這一運(yùn)動(dòng)旨在克服開(kāi)發(fā)人員和運(yùn)營(yíng)團(tuán)隊(duì)之間潛在的偏差。
如果你試圖在一個(gè)單獨(dú)的地方與數(shù)據(jù)科學(xué)家團(tuán)隊(duì)一起構(gòu)建自動(dòng)化決策系統(tǒng),那么就會(huì)不可避免地出現(xiàn)以上這種問(wèn)題。
由于數(shù)據(jù)科學(xué)與其他部分的不可分離和對(duì)數(shù)據(jù)的貪婪,其團(tuán)隊(duì)很難成功地將一個(gè)系統(tǒng)與其他具有不同績(jī)效體制的團(tuán)隊(duì)進(jìn)行合作。
為了防止或解決這些問(wèn)題,我們必須接受DevOps模式的基本原則:
- 調(diào)整所有團(tuán)隊(duì)的目標(biāo),使他們?cè)诠ぷ魃喜恢劣诋a(chǎn)生“沖突”,而是努力實(shí)現(xiàn)共同目標(biāo)。
- 拆除部門(mén)之間的墻,建立跨職能團(tuán)隊(duì)
- 根據(jù)用戶附加值的估量,改進(jìn)決策方式并分配資源和功能
關(guān)于承諾
決策是任何公司成功的核心。因此,在引入數(shù)據(jù)科學(xué)時(shí),整個(gè)公司,包括所有的領(lǐng)導(dǎo)層和部門(mén),都需要接受并重視。
運(yùn)用數(shù)據(jù)科學(xué)進(jìn)行自動(dòng)化決策是價(jià)值流的重要組成部分。這很可能意味著,你需要改變既定的流程,重組團(tuán)隊(duì),重新考慮公司的組織架構(gòu)。
此外,想要成功執(zhí)行這些措施,你需要獲得必要的認(rèn)可。每個(gè)人都需要知道為什么會(huì)有這些改變,并且還要支持這些決策。如果沒(méi)有這種誠(chéng)摯的諾言,自動(dòng)化決策就不可能會(huì)成功執(zhí)行。
相關(guān)鏈接:
https://www.datascience.com/blog/stakeholder-buy-in-for-data-science-product
反過(guò)來(lái),你的數(shù)據(jù)科學(xué)工作必須著重于真正的附加值:一個(gè)是需要評(píng)估執(zhí)行成本,包括技術(shù)債務(wù)成本、復(fù)雜性的累積、糾結(jié)的增加等;另一方面也要將其與改進(jìn)后的預(yù)期收益進(jìn)行比較。
數(shù)據(jù)科學(xué)從來(lái)不是一個(gè)以自我為目標(biāo)的團(tuán)隊(duì)。
相關(guān)鏈接:https://www.datascience.com/blog/agile-data-science)
拆除數(shù)據(jù)科學(xué)的自我壁壘
DevOps的一個(gè)關(guān)鍵目標(biāo)就是使團(tuán)隊(duì)團(tuán)結(jié)以實(shí)現(xiàn)公司的共同目標(biāo),并且也要拆毀不同團(tuán)隊(duì)之間的壁壘。因?yàn)椋绻褦?shù)據(jù)科學(xué)家分到一個(gè)單獨(dú)的小組,安排在一個(gè)單獨(dú)的房間里,這將會(huì)是一條通往失敗的必經(jīng)之路。
相關(guān)鏈接:
https://www.datascience.com/blog/centralized-data-science
相反,如果我們將數(shù)據(jù)科學(xué)家安排到一個(gè)跨職能的團(tuán)隊(duì)中,這將有助于構(gòu)建一個(gè)端到端的完整決策系統(tǒng),并有助于使其工作與公司目標(biāo)保持一致。一旦每個(gè)部門(mén)都連接起來(lái),數(shù)據(jù)科學(xué)家的工作就不會(huì)與其他部門(mén)相矛盾。
相反,這種決策系統(tǒng)的成功將變成公司的共同利益。以共同努力為特點(diǎn)的整體優(yōu)化就能夠?qū)崿F(xiàn)一個(gè)共同目標(biāo),這將會(huì)取代以自我為中心和不一致的目標(biāo)為特征的局部?jī)?yōu)化。
這個(gè)跨職能團(tuán)隊(duì)和其他的團(tuán)隊(duì)一樣致力于相同的質(zhì)量標(biāo)準(zhǔn),在質(zhì)量、彈性或穩(wěn)健性方面沒(méi)有任何妥協(xié)的余地。
相反,由于自動(dòng)化決策具有較高的風(fēng)險(xiǎn),我們需要采用更高的標(biāo)準(zhǔn)。同時(shí),遵循“精益思想”的方法,創(chuàng)造一個(gè)既便宜又安全的實(shí)驗(yàn)環(huán)境。
用奧卡姆剃刀與貪婪作斗爭(zhēng)
有一個(gè)解決問(wèn)題的原則叫做奧卡姆剃刀(Occam’s razor),也就是:“在相互競(jìng)爭(zhēng)的假說(shuō)中,應(yīng)該選擇假設(shè)最少的。”在數(shù)據(jù)科學(xué)領(lǐng)域,我們可以將這個(gè)原則重新表述為:
如果兩個(gè)數(shù)據(jù)科學(xué)模型的結(jié)果是兼容的,那么就采用資源覆蓋面較小的模型。
這條簡(jiǎn)單的規(guī)則為我們提供了如何建立數(shù)據(jù)科學(xué)模型的明確指導(dǎo),解決了數(shù)據(jù)科學(xué)固有的貪婪性問(wèn)題。
如果不測(cè)量生成值并在整個(gè)實(shí)現(xiàn)周期中應(yīng)用此原則,您可能會(huì)面臨成本激增,回報(bào)有限的問(wèn)題。
相關(guān)鏈接:
https://www.datascience.com/blog/lessons-from-a-canceled-data-science-project
所以,必須要確保數(shù)據(jù)科學(xué)家致力于這一重要原則,因?yàn)榕c數(shù)據(jù)科學(xué)家對(duì)抗是非常困難的。他們有數(shù)據(jù)和專業(yè)知識(shí)來(lái)提出難以提出異議的論點(diǎn)。
創(chuàng)造一種盡可能簡(jiǎn)單的,但又失必要的復(fù)雜的效率文化。
這同樣適用于不同數(shù)據(jù)源的使用。在數(shù)據(jù)安全領(lǐng)域,有一個(gè)“需要知道”(need to know)的原則,即只有需要訪問(wèn)的人才能訪問(wèn)數(shù)據(jù)。
也就是在數(shù)據(jù)科學(xué)的應(yīng)用中,我們需要衡量所額外添加的數(shù)據(jù)源的價(jià)值,如果改進(jìn)不夠顯著,無(wú)法證明額外數(shù)據(jù)的相關(guān)性,那么就要嚴(yán)格清除這些數(shù)據(jù)源。
結(jié)語(yǔ)
數(shù)據(jù)科學(xué)也就是用來(lái)支持和自動(dòng)化決策的。對(duì)大多數(shù)公司來(lái)說(shuō),這變得比以往任何時(shí)候都重要。由于它是一個(gè)決策系統(tǒng),所以必須成為業(yè)務(wù)流程的核心。這一事實(shí)帶來(lái)了一系列嚴(yán)重的問(wèn)題,特別是文化性質(zhì)的問(wèn)題,可能是災(zāi)難性的。
沒(méi)有誠(chéng)意的嘗試往往會(huì)導(dǎo)致時(shí)間和金錢(qián)的浪費(fèi),同時(shí)還加重了數(shù)據(jù)科學(xué)作為麻煩制造者的聲譽(yù)。
將數(shù)據(jù)科學(xué)進(jìn)行合理的整合是一個(gè)不可忽視的轉(zhuǎn)折點(diǎn)。用DevOps模式來(lái)接受數(shù)據(jù)科學(xué),測(cè)量重要的KPIs,從實(shí)驗(yàn)中學(xué)習(xí),并不斷改進(jìn)流程。這是一條真正成為數(shù)據(jù)驅(qū)動(dòng)公司的道路。
作者Twitter: https://twitter.com/sebineubauer
相關(guān)報(bào)道:
https://www.datascience.com/blog/why-is-it-so-hard-to-put-data-science-in-production
【本文是51CTO專欄機(jī)構(gòu)大數(shù)據(jù)文摘的原創(chuàng)譯文,微信公眾號(hào)“大數(shù)據(jù)文摘( id: BigDataDigest)”】