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