杜曉夢 北京百分點(diǎn)信息科技有限公司研發(fā)總監(jiān),博士
發(fā)展策略
基于分布式架構(gòu)的大數(shù)據(jù)建模實踐
杜曉夢 北京百分點(diǎn)信息科技有限公司研發(fā)總監(jiān),博士
大數(shù)據(jù)時代的到來,數(shù)據(jù)的量、數(shù)據(jù)的源都發(fā)生了劇烈的變化,這種變化引發(fā)了變革。開源運(yùn)動的進(jìn)一步發(fā)展,為這場變革提供了催化劑。本文重點(diǎn)討論了百分點(diǎn)的商業(yè)建模技術(shù)架構(gòu)是如何應(yīng)對這種變化的。
分布式架構(gòu);大數(shù)據(jù);建模
大數(shù)據(jù)時代的到來,數(shù)據(jù)的量、數(shù)據(jù)的源都發(fā)生了劇烈的變化,這種變化引發(fā)了變革。開源運(yùn)動的進(jìn)一步發(fā)展,為這場變革提供了催化劑。本文重點(diǎn)討論了百分點(diǎn)的商業(yè)建模技術(shù)架構(gòu)是如何應(yīng)對這種變化的。
百分點(diǎn)大數(shù)據(jù)商業(yè)建模的基礎(chǔ)架構(gòu)基本分為業(yè)務(wù)需求層、模型層和數(shù)據(jù)管理層。進(jìn)一步細(xì)分的話,數(shù)據(jù)管理層又可以細(xì)分成計算層、數(shù)據(jù)文件系統(tǒng)層以及操作系統(tǒng)層;模型層又可分成模型和可視化、分析工具以及接口層。從需求層來看,在大數(shù)據(jù)時代,企業(yè)和消費(fèi)者的接觸點(diǎn)變得越來越多,包括線下門店、精準(zhǔn)廣告、社交平臺等接觸點(diǎn)。企業(yè)要實現(xiàn)它的業(yè)務(wù)需求,首先要從這些接觸點(diǎn)上采集消費(fèi)者的數(shù)據(jù),然后進(jìn)行分析和挖掘,以滿足不同業(yè)務(wù)部門的需求,這個是業(yè)務(wù)層或者需求層要解決的一些問題。
在小數(shù)據(jù)時代,數(shù)據(jù)分析師需要考慮的往往只有需求和模型設(shè)計本身,考慮輸入變量是離散的還是連續(xù)性的變量,要用線性的模型還是要用非線性的模型就夠了。小數(shù)據(jù)時代,會用到一些建模工具,比如SaaS、SPSS等,會去跑一個模型,然后分析系數(shù)的顯著性,得出分析的結(jié)果。但是在大數(shù)據(jù)時代,這種方式發(fā)生了很大的變化,建模變成了一個體系的問題,需要從整個需求層到模型層,再到數(shù)據(jù)管理層進(jìn)行一個綜合的考慮。
以一個典型業(yè)務(wù)層的需求為例,首先要考慮用什么模型。在模型層,要將商品進(jìn)行分類,要結(jié)合統(tǒng)籌學(xué)和優(yōu)化的模型去對這個問題進(jìn)行分析。在分析工具上,可能會用Python去進(jìn)行數(shù)據(jù)的清洗,或者會選用R進(jìn)行數(shù)據(jù)的建模,會考慮這個模型的實時性有多高?它的數(shù)據(jù)量多大?它是單機(jī)就能跑,還是要上分布式的架構(gòu)?如果是上分布式架構(gòu)的話,用Hadoop還是用Spark?用Rhadoop去調(diào)用數(shù)據(jù),還是用SparkR去進(jìn)行分析等問題。進(jìn)一步地,需要有數(shù)據(jù)管理層的分布式架構(gòu)去進(jìn)行支撐。
在大數(shù)據(jù)的時代,建模演化成一個要結(jié)合7層去考慮的整體問題。其實需求層在大數(shù)據(jù)和小數(shù)據(jù)的時代,變化不太大,差異不太大,都是解決這些企業(yè)不同業(yè)務(wù)部門的需求,銷售有銷售的需求,例如銷量預(yù)測、個性化定價、庫存優(yōu)化等。營銷有營銷的業(yè)務(wù)需求,例如如何定位目標(biāo)人群,通過哪些渠道去觸達(dá)消費(fèi)者,營銷投放的ROI怎么樣等。這些需求在大數(shù)據(jù)時代和小數(shù)據(jù)時代沒有特別大的差異,只不過是在大數(shù)據(jù)時代,數(shù)據(jù)分析師能夠利用它去進(jìn)行分析的數(shù)據(jù)更廣泛了,變成了多源異構(gòu)的數(shù)據(jù),建模工具的性能大大提升了,因此數(shù)據(jù)分析方式也要跟著去發(fā)生變化。
本文主要對數(shù)據(jù)管理層和模型層進(jìn)行介紹(見圖1、2)。數(shù)據(jù)管理層又可以進(jìn)一步分成操作系統(tǒng)層、數(shù)據(jù)文件系統(tǒng)層和計算層3層。操作系統(tǒng)層是硬件之上第一層,大部分的公司有Linux、Unix、Windows這些系統(tǒng),所有的建模工具、數(shù)據(jù)管理和處理都依賴于這些操作系統(tǒng)。在數(shù)據(jù)文件系統(tǒng)層,有HDFS分布式文件系統(tǒng)、消息隊列、磁盤文件系統(tǒng)等,這一層和計算層是緊緊相連的。計算層提供數(shù)據(jù)的處理、計算的框架和方式,包括Hadoop、Spark、Storm計算框架。當(dāng)然,也包括像Oracle和MySQL這種傳統(tǒng)數(shù)據(jù)庫提供結(jié)構(gòu)化數(shù)據(jù)管理和處理的方法論。一些非結(jié)構(gòu)化的數(shù)據(jù)庫,如像Redis可以和Storm很好地結(jié)合,目前百分點(diǎn)的實時推薦架構(gòu)就是這樣做的。
圖1 數(shù)據(jù)管理層
圖2 模型庫
模型層又可以細(xì)分成模型和可視化、分析工具層以及接口層。模型和可視化層解決不同業(yè)務(wù)應(yīng)用場景的問題,這里面會有各種統(tǒng)計模型、機(jī)器學(xué)習(xí)的模型,運(yùn)籌學(xué)、優(yōu)化學(xué)的模型、經(jīng)濟(jì)學(xué)的模型等。要實現(xiàn)這些模型,就要去選擇合適的分析工具。例如,在客戶運(yùn)營領(lǐng)域里有RFM模型,用于分析客戶的價值度。這個模型可以是用R語言實現(xiàn),也可以用Python、Java、C++等工具實現(xiàn)。還有一些常用的算法,比如因子分析、聚類分析、決策樹等,既可以用Weka,也可以用SAS進(jìn)行實現(xiàn)。包括一些當(dāng)需要集成一些可視化組件的時候,可以通過一些Processing的工具。
分析工具也是需要選型的,不同的數(shù)據(jù)分析師可能會根據(jù)自己的偏好去鉆研某一個到兩個數(shù)據(jù)分析工具,例如R和Python。數(shù)據(jù)接口層,通過分析工具,利用數(shù)據(jù)管理層提供的API進(jìn)行模型實現(xiàn)。大多數(shù)時候會借助一些現(xiàn)有的工具,比如RHadoop、Python Hadoop Streaming等。當(dāng)然,也會因為性能問題和工具無法提供的功能,而借助各個系統(tǒng)的API封裝實現(xiàn)自己的模型,這個時候就可能會用到C++和Java等這些編程語言去實現(xiàn)。以上是對模型層和管理層進(jìn)一步的細(xì)分。
接下來給大家介紹一下百分點(diǎn)大數(shù)據(jù)商業(yè)建模的流程九宮格(見圖3)。
第一步,在任何大數(shù)據(jù)分析、建模之前,首先要做業(yè)務(wù)問題的定義。要定義清楚你想要分析什么東西,業(yè)務(wù)需要什么樣的結(jié)果,如何去量化這個業(yè)務(wù)問題。業(yè)務(wù)問題定義是很重要的,它直接決定了模型的價值和意義所在,如果模型最后的結(jié)果不能回答最開始的業(yè)務(wù)問題,或者不能滿足業(yè)務(wù)的需求,認(rèn)為這個模型分析其實是失敗的。
圖3 大數(shù)據(jù)商業(yè)建模流程九宮格
第二步是數(shù)據(jù)的提取和理解,要針對一個已經(jīng)定義清楚的一個業(yè)務(wù)問題去提取相關(guān)的數(shù)據(jù)。數(shù)據(jù)在哪里?去哪些數(shù)據(jù)庫提取,去MySQL、SQLServer提取,還是去Greenplum提取,或者去HBase或Codis集群里提???不同的數(shù)據(jù)庫需要用到不同的工具和語言去做數(shù)據(jù)提取。對于數(shù)據(jù)的提取部分,一般大數(shù)據(jù)公司都會有專門的數(shù)據(jù)工程師去做。接下來到數(shù)據(jù)的理解部分,拿到數(shù)據(jù)之后千萬不要馬上進(jìn)入到分析的環(huán)節(jié)去,先要做大量數(shù)據(jù)理解,包括描述性的統(tǒng)計分析、一些相關(guān)性分析、繪制大量的圖表,例如散點(diǎn)圖、殘差圖等,幫助我們建立對數(shù)據(jù)的理解,這一步非常關(guān)鍵。往往通過數(shù)據(jù)的理解,就能部分回答你的業(yè)務(wù)問題,或者說建立起一系列的假設(shè)。
第三步進(jìn)入到數(shù)據(jù)預(yù)處理的環(huán)節(jié)。數(shù)據(jù)預(yù)處理會占據(jù)大概50%的時間,有一些大數(shù)據(jù)工程師或數(shù)據(jù)分析師認(rèn)為拿來數(shù)據(jù),只要嘗試各種模型,就能解決這個業(yè)務(wù)問題,其實這種做法是不對的。通常來說,50%以上的時間需要花在數(shù)據(jù)的預(yù)處理部分,這也是大數(shù)據(jù)和小數(shù)據(jù)的一些差異。因為在大數(shù)據(jù)建模的領(lǐng)域,數(shù)據(jù)的噪音是非常大的。需要首先去做一些數(shù)據(jù)的清洗、降噪,例如補(bǔ)充缺失值,怎么去填充缺失值?是全用均值去填充?還是用模型預(yù)測值去填充?異常值要不要去除?怎么定義Outlier?這些都有相關(guān)的技術(shù)。需要做數(shù)據(jù)的集成,包括冗余的屬性,冗余的維度,進(jìn)一步在數(shù)據(jù)預(yù)處理時,還要做數(shù)據(jù)的變換,包括數(shù)據(jù)的平滑。要去做數(shù)據(jù)的規(guī)范化,數(shù)據(jù)量綱的統(tǒng)一,如果數(shù)據(jù)量綱差異太大的話,可能分析出來某個系數(shù)有的是0.0000幾,那它的可讀性是非常不好的。在數(shù)據(jù)預(yù)處理的部分,還要去做一些數(shù)據(jù)的規(guī)約,這個部分其實是要在海量數(shù)據(jù)中提取出有代表性的數(shù)據(jù)。因為如果這個數(shù)據(jù)太大的話,其實分析起來是浪費(fèi)資源的。所以如果能用一些代表性的數(shù)據(jù)去分析,而不損失信息量的話,就是規(guī)約的目的。數(shù)據(jù)的規(guī)約包括數(shù)據(jù)離散化、抽樣的技術(shù)等。這些都是數(shù)據(jù)預(yù)處理的技術(shù),也是筆者認(rèn)為在大數(shù)據(jù)建模的過程里最重要的一個環(huán)節(jié)。有一個說法叫Garbage In,Garbage Out,意思就是說,如果你不做任何數(shù)據(jù)的清洗加工,就直接進(jìn)入模型的話,它其實是垃圾進(jìn)入,然后出來的也會是垃圾,沒有價值的結(jié)果。
第四步是模型算法選型。面對無數(shù)的模型算法,要選擇哪個?其實是取決于你的數(shù)據(jù)情況,取決于你的業(yè)務(wù)問題。當(dāng)然有大量可供選擇的模型,例如在統(tǒng)計建模的領(lǐng)域有線性、非線性的回歸,有時間序列的算法等。在機(jī)器學(xué)習(xí)領(lǐng)域,有分類、聚類、關(guān)聯(lián)規(guī)則、神經(jīng)網(wǎng)絡(luò)等。在優(yōu)化運(yùn)籌領(lǐng)域,有線性、非線性規(guī)劃,模擬退火、遺傳算法等。但模型的算法不是越復(fù)雜越好,從經(jīng)驗來看,線性模型和邏輯回歸能解決很多的問題。因此,能解釋業(yè)務(wù)問題的模型就是好的模型,而不要盲目追求算法的復(fù)雜度。
第五步在模型算法選型之后,要做分析工具和語言的一個選型。通常會有一些熟知的工具,例說R、Python、Java、C++等,某個模型算法,例如分類,可以用R實現(xiàn),也可以用Python,甚至可以直接用C++去寫,這個其實取決于數(shù)據(jù)建模工程師的偏好,或者取決于分析團(tuán)隊負(fù)責(zé)人的偏好。一般來說,建議大家掌握2~3種工具,精通其中的一種。
第六步建模挖掘的部分,會利用模型算法選型決定的模型,利用分析工具選型決定的工具去進(jìn)行建模的挖掘。大多數(shù)情況會嘗試幾種模型,然后對比單個模型效果,或者通過Bagging、Boosting方法去投票,做組合,提高準(zhǔn)確率。前五步的功夫做足,真正的建模挖掘步驟反倒不會是多么困難的部分。
第七步進(jìn)入到模型評估。模型評估其實也是一個非常重要的部分,什么樣的模型才是好模型?評估模型優(yōu)劣性的指標(biāo)有很多種,比如說準(zhǔn)確率、召回率。如果是統(tǒng)計模型,會用RSquare去評估模型對于方差的解釋度;會用均方根誤差,RMSE這個指標(biāo)去評估模型的預(yù)測效果。模型的速度、健壯性也很重要,包括模型的擴(kuò)展性,在數(shù)據(jù)量大的時候,能否保證運(yùn)算的效率,也是需要評估的一個指標(biāo)。另外,模型的可解釋性,對于業(yè)務(wù)人員也是很重要的。有一些黑箱模型、神經(jīng)網(wǎng)絡(luò)等,它天生不具備像邏輯回歸的可解釋性。另外,筆者認(rèn)為最重要的指標(biāo)是模型的結(jié)果是否是可用的,是否回答了業(yè)務(wù)的問題,這個其實是評估模型的一個最重要的指標(biāo)。
第八步,在通過了模型的評估之后,就要把這個結(jié)果可視化,需要用大量的圖表去展示模型的結(jié)果,要讓它的可讀性變得很強(qiáng),邏輯很清晰,結(jié)論很清楚,這樣才能講給業(yè)務(wù)人員聽,讓業(yè)務(wù)人員理解模型是怎么出來的,數(shù)據(jù)分析的結(jié)果如何支撐業(yè)務(wù),如何回答業(yè)務(wù)問題。有些數(shù)據(jù)分析師不重視可視化,會認(rèn)為模型預(yù)測準(zhǔn)就好,其實可視化的過程也是幫助你總結(jié)的一個過程。
第九步,當(dāng)模型通過了所有的評估、業(yè)務(wù)審核等,就要去做模型的部署,模型與企業(yè)現(xiàn)有的應(yīng)用系統(tǒng)、生產(chǎn)系統(tǒng),包括推薦、營銷系統(tǒng)、CRM等對接,把這個模型投入到生產(chǎn)和業(yè)務(wù)中,讓它切實發(fā)揮作用。
以上就是在大數(shù)據(jù)時代做數(shù)據(jù)建模流程的9個步驟。
分享一個應(yīng)用場景,即如何通過大數(shù)據(jù)建模解決客戶的業(yè)務(wù)問題。這個案例是某品牌手機(jī)新品上市營銷的業(yè)務(wù)方案,幫它做了兩件事情,第一件事情是老用戶的營銷,通過建模找到新品手機(jī)的目標(biāo)人群(見圖4);第二件事情是微博的營銷,對于這一點(diǎn)做了以下3件事:
(1)幫它甄別這個行業(yè)比較有話語權(quán)的微博。
(2)幫它識別了網(wǎng)友中的意見領(lǐng)袖。
(3)幫它找到想買手機(jī)的用戶。
這個項目的關(guān)鍵點(diǎn),其實就是定義清楚業(yè)務(wù)問題。定義清楚一系列業(yè)務(wù)問題之后,選取一些建模的方法去實現(xiàn),幫助它解決這些業(yè)務(wù)問題。例如,如何通過老用戶建模分析找到新品手機(jī)的目標(biāo)人群?
圖4 老用戶營銷
首先,提取了這個品牌手機(jī)的電商旗艦平臺及線下門店的用戶歷史交易數(shù)據(jù),作為原始數(shù)據(jù)要做描述性的統(tǒng)計,之后做數(shù)據(jù)清洗和預(yù)處理。在數(shù)據(jù)清洗的過程中,發(fā)現(xiàn)了很多數(shù)據(jù)錯誤,需要和客戶進(jìn)行確認(rèn),決定修改的原則,并將對數(shù)據(jù)的修改記錄下來,具體參見圖5、6。
圖5 數(shù)據(jù)概括
圖6 數(shù)據(jù)問題概括
在數(shù)據(jù)清洗之后,運(yùn)用關(guān)聯(lián)規(guī)則模型度量這個新品手機(jī)和其他品類的相似性。主要步驟如下:
(1)選擇滿足最小支持度的商品項集。
(2)選擇滿足最小置信度的規(guī)則。
(3)選擇提升度大于1的規(guī)則,不斷迭代,找出所有滿足要求的關(guān)聯(lián)規(guī)則。
(4)選擇滿足最低KULC系數(shù)的規(guī)則。
(5)選擇IR偏向的關(guān)聯(lián)規(guī)則。
其中,篩選規(guī)則為:
●提升度>3(電視品類提升度>1)。
●未設(shè)置最小支持度。
●KULC:采取放寬KULC限制,同時設(shè)置最低不平衡度,再從中選取對當(dāng)前rhs有利規(guī)則;P(KULC>0.5)規(guī)則非常少;當(dāng)前設(shè)置>0.25。
●IR:在一定不平衡度基準(zhǔn)以上進(jìn)一步篩選偏向當(dāng)前rhs的關(guān)聯(lián)規(guī)則;絕大多數(shù)關(guān)聯(lián)關(guān)系很不平衡;當(dāng)前設(shè)置>0.5。
●置信度,當(dāng)前篩選結(jié)果最小置信度達(dá)0.5,因此不再針對置信度進(jìn)一步設(shè)置。
經(jīng)關(guān)聯(lián)規(guī)則模型得到如圖7的結(jié)果,運(yùn)用關(guān)聯(lián)規(guī)則模型,找到和新品品類A最相近的細(xì)分品類B,將購買過B品類的用戶作為再營銷的重點(diǎn)老用戶群體。
當(dāng)然,也使用了其他的模型預(yù)測,例如購買概率的預(yù)測、協(xié)同過濾模型、產(chǎn)品生命周期的推測等。之后,建立用戶特征的過濾,識別這個終端消費(fèi)用戶的購買頻次、消費(fèi)的品類、價格承受度,最后鎖定目標(biāo)人群,輸出目標(biāo)群體的營銷列表,找到整個老用戶群體里有可能去購買新品手機(jī)的用戶群體,并做了基于購買概率的排序。
對于新品手機(jī)的微博營銷方案,首先爬取了在新浪微博上行業(yè)相關(guān)的微博,通過關(guān)鍵詞提取了所有博文的內(nèi)容,包括評論內(nèi)容、轉(zhuǎn)發(fā)內(nèi)容、用戶信息等。進(jìn)一步構(gòu)建了3個模型,篩選出來用于微博營銷新品手機(jī)的潛在目標(biāo)用戶。這3個模型分別是通過構(gòu)建影響力指數(shù)模型去找到具有行業(yè)話語權(quán)的行業(yè)公眾號、通過社會網(wǎng)絡(luò)模型識別微博中的意見領(lǐng)袖,以及通過語義分析模型找到想買手機(jī)的人群,從而實施新品手機(jī)廣告的轉(zhuǎn)發(fā)和推薦。下面具體介紹一下這3個模型:
(1)影響力指數(shù)編制
首先,對微博公眾號影響力指數(shù)進(jìn)行了編制?;诖朔诸愊碌乃{(lán)V用戶的微博影響力數(shù)據(jù),綜合利用AHP方法計算出不同行業(yè)在微博平臺影響力的指標(biāo),然后找到這些最具有影響力的微博公眾號或者藍(lán)V的用戶去做新品手機(jī)廣告的觸達(dá),具體參見圖8。
(2)社會網(wǎng)絡(luò)分析
圖7 關(guān)聯(lián)規(guī)則結(jié)果
運(yùn)用社會網(wǎng)絡(luò)模型去找到這款手機(jī)的意見領(lǐng)袖。社會網(wǎng)絡(luò)分析模型廣泛地運(yùn)用在這種具有網(wǎng)絡(luò)特征的大數(shù)據(jù)分析中,例如通過計算節(jié)點(diǎn)的連接數(shù)去找到一個社交群體中的意見領(lǐng)袖和活躍分子等。同時,SNA模型還可以用來計算社交網(wǎng)絡(luò)的密度,監(jiān)控這個網(wǎng)絡(luò)的健康度等,目前在輿情監(jiān)控領(lǐng)域、電信網(wǎng)絡(luò)的數(shù)據(jù)分析等都有比較廣泛的應(yīng)用。利用SNA模型,去找到微博中和手機(jī)相關(guān)的意見領(lǐng)袖,進(jìn)行新品手機(jī)營銷文章的推送,引發(fā)這個意見領(lǐng)袖的關(guān)注和討論,從而帶動大多數(shù)跟隨者對某品牌新品手機(jī)的一個關(guān)注,這是第二個模型,具體參見圖9。
圖8 影響力指數(shù)編制
圖9 社會網(wǎng)絡(luò)分析
(3)文本挖掘模型
第三個模型是文本挖掘(見圖10)。在文本挖掘模型中,首先建立了一系列的規(guī)則,例如在微博正文中含有“想買手機(jī)”、“挑選手機(jī)”等關(guān)鍵詞的微博,針對規(guī)則對抓取的博文進(jìn)行了標(biāo)注和過濾,經(jīng)過SVM分類模型的訓(xùn)練,把微博進(jìn)行分類,最后篩選出可能會對某品牌手機(jī)感興趣,或者近期有購買手機(jī)意愿的人群,由營銷人員進(jìn)行觸達(dá),推廣這個新品的手機(jī)。
接下來看一下這幾個模型一些應(yīng)用的效果。首先第一部分,在老用戶營銷中,經(jīng)過建模加權(quán)之后的結(jié)果,找到不同等級的目標(biāo),用戶群體超過10萬人。通過篩選之后進(jìn)行短期的推送,效果比盲投廣告提升了3倍。在微博營銷中,通過3個模型,獲取了超過10萬人的目標(biāo)用戶群,經(jīng)過運(yùn)營人員進(jìn)行觸達(dá),有超過1萬人響應(yīng)了新品手機(jī)微博的營銷信息,最終通過這些大數(shù)據(jù)建模的方式找到這個營銷的短名單,然后幫助這個品牌成功實現(xiàn)新品上市的營銷推廣方案。
最后跟大家分享的是,在大數(shù)據(jù)時代的商業(yè)建模需要做到的幾個方面(見圖11):
第一,好數(shù)據(jù)勝過復(fù)雜的模型,不用去太刻意追求模型的復(fù)雜度,往往線性回歸和邏輯回歸就能解釋大部分的問題了。記得一位計量經(jīng)濟(jì)學(xué)教授說過這樣的話:如果你不知道該用簡單模型還是復(fù)雜模型,為什么不從簡單的開始呢?
第二,要做好充分的數(shù)據(jù)預(yù)處理,做好數(shù)據(jù)的清洗、融合、集成、規(guī)約等,去了解業(yè)務(wù),理解數(shù)據(jù),切忌Garbage In,Garbage Out。所謂磨刀不誤砍柴工,如果數(shù)據(jù)預(yù)處理準(zhǔn)備的充分,接下來的數(shù)據(jù)挖掘也會非常地流暢。反之,如果沒有做充分的數(shù)據(jù)預(yù)處理和描述性分析,就會對建模的結(jié)果產(chǎn)生懷疑,進(jìn)而返工,浪費(fèi)更多的時間。
圖10 文本挖掘模型
第三,筆者認(rèn)為需要大數(shù)據(jù)建模分析去解決業(yè)務(wù)問題的企業(yè)應(yīng)該組建一個功能比較全面的數(shù)據(jù)科學(xué)團(tuán)隊。大數(shù)據(jù)建模往往需要群策群力。之前講過,在大數(shù)據(jù)時代,建模已經(jīng)演化成一個體系問題,基本不能由一個人來承擔(dān)了。或者說,一個人需要掌握太多種技能才能應(yīng)付整個建模流程。通常來說,數(shù)據(jù)科學(xué)團(tuán)隊里會有大數(shù)據(jù)提取工程師、建模算法工程師、數(shù)據(jù)可視化工程師、業(yè)務(wù)數(shù)據(jù)分析師、優(yōu)化工程師等,是一個集團(tuán)軍作業(yè)、流水線作業(yè)的情況,而不是像小數(shù)據(jù)時代,通過一個人就能解決從數(shù)據(jù)的提取、加工、建模,到最后數(shù)據(jù)的分析結(jié)果展示這一系列的問題。
如果一個人能解決大數(shù)據(jù)建模這一系列的問題——能夠和數(shù)據(jù)庫進(jìn)行底層的交互、能去做建模算法的挖掘、能做數(shù)據(jù)的優(yōu)化、能做數(shù)據(jù)可視化等,集這些功能為一身的人才配稱之為數(shù)據(jù)科學(xué)家,真正的數(shù)據(jù)科學(xué)家是非常稀有的。而目前沒有集這些功能于一身的人的情況下,通常可以用群體的力量去解決在大數(shù)據(jù)時代遇到的數(shù)據(jù)挖掘問題。因此,筆者認(rèn)為,企業(yè)去招一個全面的數(shù)據(jù)科學(xué)家,不如去組建一個功能比較全面的數(shù)據(jù)科學(xué)團(tuán)隊,大家各有所長,數(shù)據(jù)提取工程師去做和數(shù)據(jù)庫的交互,算法工程師去做數(shù)據(jù)的挖掘,可視化做可視化的展現(xiàn),調(diào)優(yōu)的去做運(yùn)營調(diào)優(yōu)等,以集體的力量去解決企業(yè)在大數(shù)據(jù)時代遇到的商業(yè)建模的一些問題。
圖11 大數(shù)據(jù)時代商業(yè)建模需要做到的幾個方面
2016-06-20)