敏捷數(shù)據(jù)科學(xué)的宣言

大數(shù)據(jù)

作者:車品覺

十年來(lái),我個(gè)人一直從事敏捷數(shù)據(jù)科學(xué)(分析應(yīng)用的迭代和進(jìn)化式開發(fā)),起初我還不知道該怎么稱呼它。作為一名工程師獨(dú)自工作的時(shí)候,迭代和進(jìn)化我打造的分析軟件是再自然不過(guò)的事。加入一支團(tuán)隊(duì)后,我原以為也是這樣。但實(shí)際上并非如此。

我還是網(wǎng)站開發(fā)人員的時(shí)候,就接觸過(guò)敏捷方法,所以走上作為數(shù)據(jù)科學(xué)家的第一個(gè)工作崗位時(shí),我吃驚地發(fā)現(xiàn),數(shù)據(jù)科學(xué)并不敏捷。上任后的最初幾周里,我擬定了一個(gè)預(yù)測(cè)系統(tǒng)的規(guī)格說(shuō)明,然后交給其他人,后者需要六個(gè)月時(shí)間進(jìn)行開發(fā),然后交付使用。這違背了我對(duì)軟件開發(fā)過(guò)程所知的一切,但鑒于那個(gè)系統(tǒng)的規(guī)模和大數(shù)據(jù)工具的狀況,這個(gè)過(guò)程是必要的。該項(xiàng)目差點(diǎn)失敗,在最后時(shí)刻才化險(xiǎn)為夷。那段時(shí)間,我睡眠嚴(yán)重不足,學(xué)到了一些重要的教訓(xùn)。

我不想再經(jīng)歷一次。于是,我試圖讓數(shù)據(jù)科學(xué)變得敏捷,取得了不同程度的成功。當(dāng)我開始把敏捷軟件開發(fā)的方法應(yīng)用于數(shù)據(jù)科學(xué)時(shí),我發(fā)現(xiàn)了一個(gè)模式。困難之處不在于具體實(shí)現(xiàn),而在于處理數(shù)據(jù)(不止是軟件)時(shí)思考敏捷機(jī)會(huì)。

在多家公司工作的經(jīng)歷使我的想法逐漸成形,“敏捷數(shù)據(jù)科學(xué)宣言”就此誕生。宣言專注于如何思考,而不是該做什么??窗寤騍crum的特性也適用于數(shù)據(jù)科學(xué),前提是開發(fā)團(tuán)隊(duì)動(dòng)態(tài)地思考數(shù)據(jù)探索過(guò)程中出現(xiàn)的機(jī)會(huì)。約翰·阿克雷德(John Akred)在敏捷數(shù)據(jù)科學(xué)的具體實(shí)現(xiàn)方面做了很有意義的研究,但就如何追蹤工作而言,我有自己的一些看法。關(guān)鍵是要以積極和動(dòng)態(tài)的方式看待數(shù)據(jù)科學(xué)。

敏捷數(shù)據(jù)科學(xué)宣言

迭代,迭代,迭代

經(jīng)過(guò)連續(xù)幾十次的查詢才會(huì)得出見解,別指望一上手就能有所發(fā)現(xiàn)。數(shù)據(jù)表必須經(jīng)過(guò)分析、格式化、分類、集合和總結(jié),才能被理解。通常要到第三次或者第四次嘗試才能得出具有深刻見解的圖表,而不會(huì)是第一次。建立準(zhǔn)確的預(yù)測(cè)模型需要經(jīng)過(guò)特征工程和超參數(shù)調(diào)節(jié)的很多次迭代。在數(shù)據(jù)科學(xué)中,迭代是洞見獲取、可視化和產(chǎn)品化的基本要素。要構(gòu)建產(chǎn)品就必須進(jìn)行迭代。

交付中間產(chǎn)品

迭代是創(chuàng)造分析應(yīng)用的必要之舉,這意味著我們?cè)谧詈蟮臎_刺階段常常發(fā)現(xiàn)東西還不夠完善。如果我們到了這個(gè)階段還沒有交付過(guò)半成品或中間產(chǎn)品,最后常常就會(huì)沒有任何東西可交付。這不是敏捷,我稱之為“死循環(huán)”,浪費(fèi)無(wú)數(shù)的時(shí)間用于完善沒人想要的東西。

好的系統(tǒng)是自文檔化的,用敏捷數(shù)據(jù)科學(xué)的話說(shuō),我們記錄和分享我們創(chuàng)造的不完整資產(chǎn)。我們完全致力于源代碼管理。我們跟同事并盡可能快地跟終端用戶分享這一成果。這個(gè)原則并不是對(duì)所有人都顯而易見。很多數(shù)據(jù)科學(xué)家擁有學(xué)術(shù)背景,多年的努力研究最終變成一篇學(xué)位論文。

開展實(shí)驗(yàn),而不是執(zhí)行任務(wù)

在軟件工程中,產(chǎn)品經(jīng)理在沖刺期間把一張圖表交給一位開發(fā)人員去實(shí)現(xiàn)。這位開發(fā)人員把任務(wù)轉(zhuǎn)換成一個(gè)SQL GROUP BY,并制作出一個(gè)網(wǎng)頁(yè)。任務(wù)完成了?錯(cuò)。以這種方式擬定的圖表不可能有價(jià)值。數(shù)據(jù)科學(xué)不同于軟件工程,因?yàn)樗强茖W(xué)和工程兼而有之。

在任何特定的任務(wù)中,我們必須通過(guò)迭代以獲得洞見,實(shí)驗(yàn)是對(duì)這些迭代的最好詮釋。管理一支數(shù)據(jù)科學(xué)團(tuán)隊(duì)相當(dāng)于管理多個(gè)同時(shí)發(fā)生的實(shí)驗(yàn),而不是分派任務(wù)。好的資產(chǎn)(圖表,報(bào)告,預(yù)測(cè))是探索性數(shù)據(jù)分析的產(chǎn)物,因此我們必須從實(shí)驗(yàn)而不是任務(wù)的角度來(lái)思考。

傾聽數(shù)據(jù)的聲音

可能性與目標(biāo)性一樣重要。知道什么容易什么困難與期望一樣重要。在軟件應(yīng)用開發(fā)中,有三個(gè)視角需要考慮:客戶的視角,開發(fā)人員的視角,企業(yè)的視角。在分析應(yīng)用開發(fā)中,還有另一個(gè)視角:數(shù)據(jù)的視角。如果不了解數(shù)據(jù)對(duì)特征的“看法”,產(chǎn)品擁有者就無(wú)法有良好的表現(xiàn)。數(shù)據(jù)的意見必須始終囊括進(jìn)產(chǎn)品討論中,這意味著產(chǎn)品討論必須根植于在成為我們努力焦點(diǎn)的內(nèi)部應(yīng)用中通過(guò)探索性數(shù)據(jù)分析實(shí)現(xiàn)的可視化。

大數(shù)據(jù)

尊重?cái)?shù)據(jù)價(jià)值金字塔

數(shù)據(jù)價(jià)值金字塔(下圖)是一個(gè)基于馬斯洛需求層次理論的五級(jí)金字塔。它描述了把原始數(shù)據(jù)精煉成圖表、報(bào)告和預(yù)測(cè)時(shí)創(chuàng)造出來(lái)的價(jià)值增量。不管是記錄還是預(yù)測(cè),都是為了促成新的行動(dòng),或者改善現(xiàn)有的行動(dòng):

數(shù)據(jù)價(jià)值金字塔的第一級(jí)(記錄)是管道工程:讓數(shù)據(jù)從收集處流向在應(yīng)用中出現(xiàn)的位置。第二級(jí)(圖表)是開始精煉和分析的層級(jí)。第三級(jí)(報(bào)告)是對(duì)數(shù)據(jù)的深入探索,我們能真正弄懂?dāng)?shù)據(jù)背后的含義。第四級(jí)(預(yù)測(cè))創(chuàng)造了更多的價(jià)值,但準(zhǔn)確的預(yù)測(cè)意味著更低層級(jí)所包含和促進(jìn)的特征工程。最后一級(jí)(行動(dòng))是人工智能(AI)大放光彩的地方。如果你的洞見無(wú)法促成新的行動(dòng)或者改善現(xiàn)有的行動(dòng),就沒有多大價(jià)值。

大數(shù)據(jù)

數(shù)據(jù)價(jià)值金字塔使我們的工作有了結(jié)構(gòu)。這個(gè)金字塔是我們應(yīng)該記住的東西,但不是嚴(yán)格遵循的原則。有時(shí)可以跳過(guò)一級(jí),有時(shí)可以后退一級(jí)。如果你把一個(gè)新的數(shù)據(jù)集直接放入預(yù)測(cè)模型作為一個(gè)特征,但沒有添加進(jìn)更低層級(jí)的應(yīng)用數(shù)據(jù)模型中,未能使這個(gè)數(shù)據(jù)集透明和可訪問,那么你就會(huì)欠下技術(shù)債。你應(yīng)該牢記這一點(diǎn),一有機(jī)會(huì)就還債。

找到關(guān)鍵路徑

為了盡量提高成功幾率,我們應(yīng)該把大多數(shù)時(shí)間用于對(duì)成功最重要的方面。但哪些方面對(duì)成功最重要?這必須通過(guò)實(shí)驗(yàn)來(lái)發(fā)現(xiàn)。開發(fā)分析產(chǎn)品是對(duì)移動(dòng)目標(biāo)的搜索和追求。

一旦確定目標(biāo),比如要作出一個(gè)預(yù)測(cè),我們就必須找到實(shí)現(xiàn)的關(guān)鍵路徑,如果證明是有價(jià)值的,還必須找到改善的關(guān)鍵路徑。在從一個(gè)任務(wù)流向另一個(gè)任務(wù)的過(guò)程中,數(shù)據(jù)被一步步精煉。分析產(chǎn)品常常需要多個(gè)階段的精煉,并運(yùn)用ETL(提取,轉(zhuǎn)換,加載)過(guò)程、統(tǒng)計(jì)技巧、信息訪問,機(jī)器學(xué)習(xí),人工智能和圖形分析。

這些階段的相互聯(lián)系構(gòu)成了復(fù)雜的依賴網(wǎng)。團(tuán)隊(duì)領(lǐng)袖要把這個(gè)網(wǎng)放在心上,他的職責(zé)就是確保團(tuán)隊(duì)發(fā)現(xiàn)關(guān)鍵路徑,然后組織團(tuán)隊(duì)落實(shí)這條路徑。產(chǎn)品經(jīng)理無(wú)法自上而下地管理這個(gè)過(guò)程,而是必須由產(chǎn)品科學(xué)家自下而上地發(fā)現(xiàn)它。

獲得元

如果不能像開發(fā)普通的應(yīng)用那樣,輕松地按時(shí)交付好的產(chǎn)品,那我們交付什么?如果什么也交付不了,就不能號(hào)稱敏捷。為了解決這個(gè)問題,在敏捷數(shù)據(jù)科學(xué)中,我們應(yīng)該“獲得元”。重點(diǎn)是記錄分析過(guò)程,而不是我們尋求的最終狀態(tài)或者產(chǎn)品。這可以讓我們?cè)诜磸?fù)攀爬數(shù)據(jù)價(jià)值金字塔,尋找殺手級(jí)產(chǎn)品的關(guān)鍵路徑時(shí),變得更加敏捷,可以交付中間產(chǎn)品。那么,產(chǎn)品從哪里來(lái)?來(lái)自面板。我們通過(guò)記錄探索性數(shù)據(jù)分析,創(chuàng)造了這個(gè)面板。

總結(jié)

上述七條原則共同驅(qū)動(dòng)了敏捷數(shù)據(jù)科學(xué)方法,構(gòu)成和記錄了探索性數(shù)據(jù)分析過(guò)程,將之轉(zhuǎn)變成分析應(yīng)用。

極客網(wǎng)企業(yè)會(huì)員

免責(zé)聲明:本網(wǎng)站內(nèi)容主要來(lái)自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁(yè)或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書面權(quán)利通知或不實(shí)情況說(shuō)明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。

2017-11-23
敏捷數(shù)據(jù)科學(xué)的宣言
作者:車品覺 十年來(lái),我個(gè)人一直從事敏捷數(shù)據(jù)科學(xué)(分析應(yīng)用的迭代和進(jìn)化式開發(fā)),起初我還不知道該怎么稱呼它。作為一名工程師獨(dú)自工作的時(shí)候,迭代和進(jìn)化我打造的分

長(zhǎng)按掃碼 閱讀全文