數據分析師會被演算法取代么?
《疑犯追蹤》里的那個「機器」,主要工作就是分析人的行為,然後找出一些「目標人員」,再由業務人員去接觸。看上去,這個機器完全是代替了數據分析師的工作啊。
拋開美劇里的這種有所誇張的內容,在現實中,當一個數據分析師跟別人聊天的時候,經常會被問一些問題:
Q:數據分析人員能做什麼?
A:從紛繁的數據里提煉出有價值的信息並給公司提供支持啊。
Q:你怎麼提煉啊?
A:寫程序採集啊,清洗啊,用一定的演算法計算數據內部聯繫,根據業務做出判斷啊……
Q:如果都是用已有的演算法,這些事情為什麼不能用現成的流程來做呢?或者為什麼不能寫成程序,讓機器自己實現呢?
A:呃…………
作為一名數據分析師,跟人聊天聊成這樣,非常常見也非常令人不爽。但我們數據分析師是不是僅能手工操作一些演算法,等著機器和演算法逐步取代我們么?並不是!
照例觀點先行:數據分析不等於數據分析演算法/程序,數據分析演算法/程序只是分析師手中的工具,數據分析要取得成功必須依賴人的力量,數據分析師的作用在於根據對業務的理解,合理使用分析工具,完成分析目標。
結合業務的數據分析才是科學的,一切只看計算機輸出結果不考慮業務實際情況的數據分析都是無(shua)用(liu)功(mang)。計算機能實現的演算法也好,程序也好,只是數據分析中的一部分;如何選擇分析切入點,如何選擇數據來源,如何確定演算法,如何解讀結論,這些機器統統做不了,需要我們數據分析師來解決。
觀點在上邊兩段里已經充分展示了,接下來我要愉快的展(che)開(dan)觀點內容了:
數據分析通常包括幾個階段:提出/發現問題——獲取並清洗數據——建模——調整優化——輸出結論。
這是一個閉環流程,每一步都需要人工參與,程序會參與中間三步,演算法在建模中會用到,而數據分析的最重要兩步,問題和結論,目前是不可能完全交給計算機去處理的(其實我個人認為這兩步在真正的人工智慧出現前,絕不可能由計算機自動處理),因此數據分析人員最大的優勢,就是「經驗」,也就是業務理解能力和數據分析經驗。
詳細解釋一下數據分析的幾個階段:提出/發現問題階段:
大多數時候,數據分析都是為了解決一個問題(鎖定某個產品的目標客戶,對同樣的人群做營銷活動用A方案好還是B方案好,等等),或者驗證一個猜想(不讓旅遊者上班高峰坐地鐵是不是會大幅度緩解擁擠現象,啤酒和尿布放一起是不是真的會提升啤酒的銷售額,等等),總之需要達到一個目標。即使是探索性分析(拿著一大堆數據看看能不能找出點什麼結論),那也需要先預設一個或多個目標作為切入點,然後在探索過程中逐步修正。
提出和發現問題的過程,交給計算機干不太靠譜,首先計算機不會提出問題(因為笨),其次計算機能發現的問題也一定是人已經發現了的問題(還是因為笨),需要先有人來設定規則,然後計算機才能根據規則發現問題。而數據分析師,就是設定規則的人。
目標和規則的設定,一定要基於業務,這樣分析結果才有用,否則會得出正確但無用的結論。舉個栗子,訂閱報紙的數據扔給計算機去分析關聯關係,看有哪些報紙可以進行組合促銷,最後得出個光明日報和人民日報關聯繫數90%多,所以這倆報紙可以組合起來賣,問題是這倆報紙本來就是要求黨政機關訂閱的黨報,組合起來毫無意義,該訂的還是要訂,不訂的還是不訂,這就是典型的正確但無用的分析結果。懂業務能讓分析師少做這種無用功,但是計算機要想懂業務就得由人來教,教還不一定能教會,教完了又不能觸類旁通(報紙的關聯演算法拿到電商去完全不能用啊),這樣的計算機永遠都不如分析師懂業務。
獲取並清洗數據:這個階段計算機參與的較多,分析師的工作是指出拿什麼數據,拿哪些欄位,數據獲取到以後用哪些規則進行清洗整理。如果數據源不變,需要重複或定期進行分析時,這個階段的規則可以固化,由計算機來自動執行,但規則仍然是由分析師來制定的。建模、調整優化:
這兩個階段中,分析演算法出場了,描述分析、關聯分析、回歸、分類、聚類、時間序列,每個類別里都有一大堆的固定演算法,分析師不能通過手算得出結論,需要藉助封裝好演算法的分析工具(圖形化的SPSS,命令行方式的R,等等),看來這一階段計算機要超越分析師了!等等,建模哪有這麼簡單,計算機解決不了的問題一大堆呢:什麼時候用哪個類別的演算法(該做分類還是聚類),同一類別不同演算法哪個更適合當前情況(K-means還是兩步聚類,這是個問題),同一個演算法怎麼調整參數能使效果更好(到底該把用戶聚成幾類呢),演算法輸出的結果是否正常(有一部分數據出了問題導致分析結果出現偏差)等等。這些問題計算機統統不知道耶,需要分析師來告訴它該做什麼事。
打個比方,數據分析就是打仗,演算法是機槍、大炮、坦克等等技術兵器,分析師是士兵、炮手、駕駛員(操縱者),不能因為士兵自己不能一分鐘吐出幾百發子彈或者炮手自己不能一下子拆掉一個碉堡,就讓機槍大炮坦克把操縱者扔下,自己上陣去打仗……就算是無人機,那也得有個拿遙控器的駕駛員蹲在辦公室里操作啊……
演算法始終只是工具,數據分析效果如何還是要看用工具的分析師功力如何。一個做過幾十個分析項目的分析師,功力通常來說比剛入行的分析師或者純開發人員要深厚一些(極少數天賦異稟的不算……),選演算法調參數建模型的能力更強一些,分析出來的結果也會相對靠譜一些——沒錯,經驗在這兩個階段就是優勢。
輸出結論:這一階段計算機的工作已經基本完成了,對模型輸出的數據進行解讀,那完全是分析師的天下——同一份數據給不同的分析師,可能會得出不同的結論,很多時候分析師並不單單根據數據本身得出結論,還要結合很多外界因素來修正結論。分析師的經驗越豐富,擁有的有效信息量越多,得出的結論就越接近事實(之所以用接近,是因為對數據解讀的準確度永遠達不到100%,影響結果的因素太多了,比如一個企業銷售額連續增長10年,分析師根據公司數據和市場情況判斷下一年還會繼續增長,結果老闆出事跑路了,企業直接倒閉),而這個過程是計算機目前沒辦法自主進行的,商業智能系統做的再好,也需要由分析師來設定規則,告訴計算機在什麼時間需要做什麼。也許隨著大數據和人工智慧的發展,有一天計算機可以完全不依賴人工設定的規則(不需要確定數據來源,不需要選擇演算法和模型,不需要人工干預來修正模型,等等),自己對數據進行全方位的分析,加入所有因素的影響,並輸出準確度非常高的報告,只有到那時候,分析師才會失業啊。
不過,真到了那一天,恐怕不光是分析師失業的問題吧……
推薦閱讀:
※中國的獨角獸和那些聰明的投資者
※揭秘知乎限流
※運營與增長黑客只差一個數據驅動
※利用RFM模型對A公司進行客戶價值分析
※關於機器學習(數據科學)競賽的一些小思考