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

大數(shù)據(jù)

作者:車品覺

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

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

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

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

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

迭代,迭代,迭代

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

交付中間產(chǎn)品

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

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

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

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

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

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

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

大數(shù)據(jù)

尊重數(shù)據(jù)價值金字塔

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

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

大數(shù)據(jù)

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

找到關(guān)鍵路徑

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

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

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

獲得元

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

總結(jié)

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

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

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

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

長按掃碼 閱讀全文