同濟(jì)大學(xué)軟件學(xué)院 張巍巍
目前,數(shù)據(jù)挖掘技術(shù)在金融、保險、電信等行業(yè)有著廣泛的應(yīng)用,如信用分析、風(fēng)險分析、用于聚類分析等。商業(yè)分析(Business Anal yt ics)正是使用這種技術(shù)的典型代表。商業(yè)分析是指對過去經(jīng)營業(yè)績進(jìn)行連續(xù)反復(fù)探索和調(diào)查的技能、技術(shù)和實踐,以達(dá)到洞察和推動業(yè)務(wù)規(guī)劃的目的。它通常側(cè)重于在數(shù)據(jù)和統(tǒng)計方法的基礎(chǔ)上發(fā)現(xiàn)新的見解和理解業(yè)務(wù)性能。
商業(yè)分析一般由三個階段構(gòu)成,即描述性分析、預(yù)見性分析和規(guī)范性分析。通常情況下,描述性分析和預(yù)見性分析是在商業(yè)分析中運(yùn)用最多的兩種分析手段。描述性分析側(cè)重于過去的經(jīng)營業(yè)績,并通過挖掘歷史數(shù)據(jù)的表現(xiàn),以尋找過去的成功或失敗背后的原因。它已經(jīng)被廣泛運(yùn)用于支持管理報告的各種領(lǐng)域,包括銷售、營銷、經(jīng)營、財務(wù)等。預(yù)測性分析則是通過數(shù)據(jù)挖掘出一種通用的模式,以確定未來的風(fēng)險和機(jī)會,并指導(dǎo)決策。它已被廣泛的應(yīng)用于營銷、金融、保險、零售、旅游、醫(yī)療保健、醫(yī)藥等領(lǐng)域。例如,信用評分系統(tǒng),在整個金融服務(wù)行業(yè)應(yīng)用的很廣泛,通過建立模型處理各種客戶的信用記錄、貸款申請和其他客戶的數(shù)據(jù),以對個人信用進(jìn)行排名,并用于確定信貸的還款時間。
傳統(tǒng)上,描述性分析和預(yù)見性分析一般會按照一定的算法進(jìn)行,如下:
(1)一個商業(yè)分析的項目一般有一個技術(shù)組,技術(shù)組由很多的專家學(xué)者組成,還可以包括項目的的供應(yīng)商和提供商,或者一些其它工作成員。
(2)公司主動提供原始的數(shù)據(jù)集到技術(shù)組,并且指定業(yè)務(wù)目標(biāo)(例如:描述性分析,預(yù)測性分析)。
(3)技術(shù)組對數(shù)據(jù)集進(jìn)行初步分析,并進(jìn)行預(yù)處理(例如:刪除不完整記錄,數(shù)據(jù)集降為)。在數(shù)據(jù)準(zhǔn)備階段,與公司互相交流,以更好的了解數(shù)據(jù)并處理數(shù)據(jù)的細(xì)節(jié)。
(4)接著技術(shù)組通過專門的方法和工具建立(訓(xùn)練)并分析模型。對于描述性分析,輸出通常是作為一個報告,如關(guān)聯(lián)報告。對于預(yù)測性分析,輸出通常是以一個數(shù)學(xué)或算法的方式,以用來描述未來預(yù)測的邏輯或計算流程。
(5)對于描述性分析,應(yīng)該將模型轉(zhuǎn)化為具體的軟件使用。并可能需要設(shè)計和實現(xiàn)用戶界面以及其他相關(guān)組件,以便最終用戶(并不懂?dāng)?shù)據(jù)挖掘等專業(yè)性知識)使用。
(6)對于預(yù)測性分析,經(jīng)過一段時間的實際使用,可能會收集和分析新的數(shù)據(jù)集,以獲得最新的模型的準(zhǔn)確性。如果模型不再準(zhǔn)確,可以加入新的數(shù)據(jù)集進(jìn)行新一輪的訓(xùn)練。
根據(jù)深入的研究,傳統(tǒng)的商業(yè)分析存在很多的不足,例如:需要大量的資源和成本,如技術(shù)組,硬件,軟件等;模型建立后的管理和重新訓(xùn)練;在建模完成后,需要為終端用戶實現(xiàn)界面等。
在認(rèn)識到傳統(tǒng)的商業(yè)分析的優(yōu)點和不足之后,本篇論文提出一種新的解決方案:高可消費(fèi)性商業(yè)分析(下文稱BANew),其重點是提高商業(yè)分析經(jīng)驗的易用性。其目的是為了解決上述不足,如降低重復(fù)建模的成本,完善重新訓(xùn)練和模型的管理體系等。
圖1 基礎(chǔ)架構(gòu)
商業(yè)分析系統(tǒng)采用流行的三層架構(gòu)(界面層、業(yè)務(wù)邏輯層、數(shù)據(jù)訪問層)和MVC(Model-View-Cont r ol l er)相結(jié)合的架構(gòu)模式(如圖1)。
(1)界面層與終端用戶直接交互,采用Boot st r ap和Angul ar Js技術(shù)。Boot st r ap可以很方便的搭建網(wǎng)站布局,Angul ar Js是一套比較完善的前端MVC框架,既可以使用內(nèi)嵌的模板功能,也可以自定義組件。兩者結(jié)合使用,可以為終端用戶提供一套簡約,悅目的使用界面,并具有簡化學(xué)習(xí)成本等等功能。
(2)業(yè)務(wù)邏輯層負(fù)責(zé)邏輯控制,將終端用戶和核心引擎隔離,采用Spr ingMVC技術(shù)。Spr ingMVC基于注解,開發(fā)簡易,和當(dāng)前流行的ORM(如Hiber nat e)進(jìn)行整合,并且該框架開源,為外部提供Rest f ul API,程序員可以按照自己的需求進(jìn)行擴(kuò)展,易于后期開發(fā)。
(3)第三層包括傳統(tǒng)的數(shù)據(jù)訪問層和核心引擎。數(shù)據(jù)訪問層負(fù)責(zé)數(shù)據(jù)讀取和存儲等功能,ORM我們選擇Hi ber nat e,可以和上層Spr ingMVC層進(jìn)行整合,數(shù)據(jù)庫使用免費(fèi)數(shù)據(jù)庫Mysql。核心引擎負(fù)責(zé)模型的訓(xùn)練和管理,算法分為四個階段,契約(Engagement),發(fā)現(xiàn)(Discover y),驗證(Val idat ion),發(fā)布(Depl oyment)。
圖2 工作流
工作流算法整體分為四步:
(1)契約(Engagement):用戶可以創(chuàng)建一個新的項目,然后在該項目下新建一個模型,并輸入簡單信息,如模型名等,然后需要為模型確定目標(biāo)。此外,用戶可以在“了解數(shù)據(jù)”這一步指定數(shù)據(jù)源(數(shù)據(jù)庫、服務(wù)器等)。在“準(zhǔn)備數(shù)據(jù)”步驟中,用戶可以對數(shù)據(jù)進(jìn)行清洗等操作。
(2)發(fā)現(xiàn)(Discover):系統(tǒng)在處理完數(shù)據(jù)后會開始建模。為了降低建模門檻,系統(tǒng)會為用戶提供一套默認(rèn)建模參數(shù),當(dāng)然用戶可以根據(jù)個人需要更改這些參數(shù)。此外系統(tǒng)會根據(jù)結(jié)果進(jìn)行自動重新訓(xùn)練。最終,用戶點擊構(gòu)建模型開始建模,這可能需要一段時間來訓(xùn)練模型。訓(xùn)練的進(jìn)展(如百分比)將顯示在頁面上,用戶可以根據(jù)自己的需要停止/恢復(fù)訓(xùn)練。
(3)驗證(Val idation):建模完成后驗證會自動開始。首先,在發(fā)現(xiàn)階段,所有符合基本條件的模型都會被保存下來。保存的過程對于終端用戶是完全透明的。然后,保存下來的所有模型都將自動開始驗證。如若在驗證階段未通過將自動重新訓(xùn)練。驗證通過的模型將進(jìn)入部署階段。
(4)部署(Depl oyment):此階段包括兩個子階段,部署和部署后的監(jiān)督和管理。部署操作是在發(fā)現(xiàn)階段的自動執(zhí)行的。在部署后階段,用戶可以利用一套管理操作對模型進(jìn)行監(jiān)管。
BANew是在傳統(tǒng)商業(yè)分析的基礎(chǔ)上提出來的一種以終端用戶為核心新的商業(yè)分析模式。降低商業(yè)分析門檻,使商業(yè)分析功能最大化是該模式最大的目的。根據(jù)上述介紹,首先用戶在web頁面上提交數(shù)據(jù),進(jìn)行數(shù)據(jù)準(zhǔn)備((1)根據(jù)默認(rèn)參數(shù);(2)根據(jù)自身需要修改參數(shù)。),然后BANew會在后臺進(jìn)行訓(xùn)練建模,所有的操作對終端用戶是隱藏的,最后終端用戶根據(jù)建模結(jié)果可以保存或者丟棄最終的模型。并且BANew提供API供第三方使用,為后期實現(xiàn)各公司模型數(shù)據(jù)共享提供準(zhǔn)備。
[1]郁抒思,周水庚,關(guān)佶紅.軟件工程數(shù)據(jù)挖掘研究進(jìn)展[J].計算機(jī)科學(xué)與探索,2012,6(1): 1-31.
[2]李國杰,程學(xué)旗.大數(shù)據(jù)研究未來科技及經(jīng)濟(jì)社會發(fā)展的重大戰(zhàn)略領(lǐng)域-大數(shù)據(jù)的研究現(xiàn)狀與科學(xué)思考[J].中國科學(xué)院院刊,2012,27(6):647-657.
[3]林闖,蘇文博,孟坤,等.云計算安全: 架構(gòu), 機(jī)制與模型評價[J].計算機(jī)學(xué)報,2013, 36(9):1765-1784.
[4]胡光永.基于云計算的數(shù)據(jù)安全存儲策略研究[J].計算機(jī)測量與控制,2011,19(10):2539-2541.
[5]李喬,鄭嘯.云計算研究現(xiàn)狀綜述[J].計算機(jī)科學(xué),2011,38(4):32-37.
[6]王惠中,彭安群.數(shù)據(jù)挖掘研究狀及發(fā)展趨勢[J].Industry and Mine Automation,2011,29-32.
[7]Srivastava J,Cooley R,Deshpande M,et al.Web usage mining:Discovery and applications of usage patterns from web data[J].ACM SIGKDD Explorations Newsletter,2000,1(2):12-23.