大數(shù)據(jù):數(shù)據(jù)科學的陷阱與缺陷
最近看新聞,發(fā)現(xiàn)數(shù)據(jù)科學專業(yè)已經(jīng)是北京大學高考入學門檻較高的專業(yè)了,其實"Data Science" 這個詞性感了快十年了,對互聯(lián)網(wǎng)行業(yè)而言,相當于性感了一個世紀。
從“數(shù)據(jù)說話”,”DT 時代”,到 “數(shù)據(jù)中臺”,“數(shù)據(jù)驅動(Data Drive/Data Driven)”,數(shù)據(jù)體系的不斷演進正在持續(xù)的改變大家的工作與決策方式;正在不斷的革新大家的思維方式;同時也產(chǎn)生了新的商業(yè)邏輯,新的發(fā)展機會。
1976 年,Pascal 作者 Nikalus Wirth 曰:Algorithms + Data Structures = Programs.
就像之前的“SOA”,“云計算”等概念一樣,目前數(shù)據(jù)科學自身的概念還在不斷的變革,各家公司的實踐者們一邊摸索,一邊獲利;一邊總結,一邊布道;當然同時還參雜著很多湊熱鬧的同志把概念折騰的更加模糊。所以數(shù)據(jù)科學本身的能力邊界,方法論體系,最佳實踐等等還沒有完善的建立起來,有很多問題沒有辦法很好的回答。由此就會產(chǎn)生一些迷信和誤會,”強行數(shù)據(jù)“,”隨意數(shù)據(jù)“,”政治正確數(shù)據(jù)“等等情況比較常見, 無論是實際的操作層面,還是方法層面,都存在著一些不小的誤會。這也是我打算總結一下在數(shù)據(jù)科學實踐中存在的陷阱與缺陷的緣由。
這篇分享是根據(jù)我自己的工作經(jīng)驗,和對相關資深同事的訪談總結而成。它的正確性受限于我個人的認知水平和目前行業(yè)的發(fā)展水平,它整理了一些目前可能存在的問題,但未必是長久的道理。希望大家讀的時候批判性的看待。拋磚引玉,如果有不同想法歡迎大家跟我隨時溝通與驗證,結論本身也可以隨時更新。
網(wǎng)易嚴選的很多業(yè)務,比如風控業(yè)務,核心驅動力是數(shù)據(jù)及算法。我們在風控業(yè)務起步的時候就建立了數(shù)據(jù)算法驅動風控的方法體系,所以能保證很小的團隊(3 個人)來支撐嚴選幾十個內(nèi)外部風險場景,每天執(zhí)行百萬次風險決策。當然,這是數(shù)據(jù)驅動自動決策 / 智能決策帶來的力量。成功的美好,或許會讓你按耐不住的想把很多業(yè)務運轉方式轉型過來,但遺憾的是,數(shù)據(jù)質量保障的缺失會讓這一切變成隨時會倒塌的空中樓閣!事實上,絕大部分組織對數(shù)據(jù)質量的理解 支撐不了更加自動和智能的決策場景。強行轉型與減員增效會讓他們原本穩(wěn)定的業(yè)務接近崩潰。
嚴選風控出現(xiàn)過幾次大的故障都跟數(shù)據(jù)質量緊密相關。今年 8 月份的時候,風控在執(zhí)行每周誤判巡檢的時候發(fā)現(xiàn)整體疑似誤判率增加了 4 倍。最終定位原因是設備號相關的日志內(nèi)容有些異常。從而導致了相當一部分用戶的行為(簽到操作)被錯誤的執(zhí)行了攔截。
這是一個很有意思的案例。一些關鍵的決策:比如用戶是不是壞人?某個商品要采購多少量?可能會依賴于很不被重視的某個線上日志的一小部分內(nèi)容。我們的整個質量保障體系很難把視角投入到某個具體應用的某個日志字段在高壓力下會不會出錯?在傳統(tǒng)的應用服務質量保障理念里,日志字段的某個偶爾的小錯誤,沒人會把它當作 Bug,開發(fā)人員更不會去關注。但如果你一旦把 數(shù)據(jù)當作了生產(chǎn)資料,如果我們不對應用質量保障的理念和工具進行革新,你的大量的數(shù)據(jù)分析報告,訓練好的算法模型,做出的決策可能很不可靠,因為你的生產(chǎn)資料本身就是垃圾,而古語有言:Garbage in , garbage out。
還有一個驚人的現(xiàn)狀是,大量用于生產(chǎn)數(shù)據(jù)的復雜 SQL 并沒有進行真正的測試,甚至,大量的數(shù)據(jù)系統(tǒng)并不存在一個所謂的測試環(huán)境。我們很難像測試線上服務(比如訂單系統(tǒng))那樣去測試數(shù)據(jù)生產(chǎn)過程的正確性。那么這樣通過幾萬行,甚至幾十萬行(嚴選)SQL 生產(chǎn)出來的數(shù)據(jù)到底能不能用?這個問題其實很難回答。
數(shù)據(jù)的可靠性是組織在轉型數(shù)據(jù)驅動過程中一個非常大的陷阱。
大家都在討論數(shù)據(jù)質量的重要性,但是內(nèi)心又默默覺得這個事情比較低級。因此,我們很少見到有團隊會把大量聰明的大腦投入到數(shù)據(jù)質量的保障上。
除了資源投入的缺失,很多數(shù)據(jù)團隊對數(shù)據(jù)質量的認知也是各不相同。我曾經(jīng)跟一位在數(shù)據(jù)行業(yè)從業(yè) 15 年,為某知名公司數(shù)據(jù)體系做出巨大貢獻的前輩做過一次深入的溝通,聊起數(shù)據(jù)質量,”你覺得數(shù)據(jù)質量是什么?“ 他的回答是:“數(shù)據(jù)質量,真正需要考慮的是指標一致性。”。瞧瞧,就算是非常資深的同行,他的認知還是不夠完整,按他對數(shù)據(jù)質量的理解,數(shù)據(jù)的支撐能做到報表給人看,這個層面就很完美了,要落地到戰(zhàn)術層,落地到線上自動決策基本不可行(因為數(shù)據(jù)質量的故障難以像線上程序故障一樣快速修復,它是一個持續(xù)污染的過程)。
數(shù)據(jù)做為智能決策的輸入,是動態(tài)變化的。它沒法像代碼的依賴那樣做靜態(tài)分析,它的依賴層次動態(tài)而不穩(wěn)定。