應該如何完整地理解"資料採礦"?"資料採礦"的理論基礎是什嗎?
圖1表示的是:
現實中人類的社會和經濟活動,總可以用資料(數字或者符號)來描述和記錄;經過對這些資料的分析,就會產生資訊(知識);用這些資訊(知識)來指導實踐,就可以做出相應的決策;這些決策又引發了新一輪的社會和經濟活動。迴圈往複,生息不止。
那麼資料倉儲(DW)、商務智能(BI)和知識發現(KDD)又分別是什麼呢?
圖2中的虛線部分有兩個含義。
第一是因為上述概念誕生初始,在DM的價值鏈上還是有所側重的,資料倉儲重在"建倉",資料採礦和知識發現重在"加工",商務智能重在"應用"。虛線表示曾經擁有。
第二,如果不這樣畫,理論界、應用廠商會不答應,因為不管原來是做資料庫的(IBM,Sybase,NCR,Oracle,Microsoft,etc),還是做統計分析軟體的(SAS,Statistica,SPSS,etc),甚至是做報表工具的(BO,Brio,Cognos,etc),都拚命在延伸自己的價值鏈。
所以,乾脆叫資料管理(也就是DM)好了,一統天下。
至於ERP,CRM等,說白了,還是個DM,只不過限制在了具體的社會經濟活動上罷了。
六種挖掘武器
資料倉儲的建設和資料採礦建模是DM價值鏈上的兩大技術要點。資料採礦從狹義的角度講,只管從資料到知識這一段。作為一個資料採礦人員的起碼要求,就是充分掌握各種挖掘工具的效能、局限、應用條件等。
一般說來,資料採礦有如下六件武器:描述統計、關聯和相關、分類和聚類、預測、最佳化、結構方程模型。簡要說明如下:
(1)描述統計(Descriptive statistics)
描述統計是資料採礦的入門兵器,直觀、簡單,高手常常用來摘葉飛花。描述統計包括平均數、中位元、眾數、分位元、百分比、求和等。描述統計經常和統計圖(如長條圖,橫條圖,線圖,散佈圖,莖葉圖等)配合使用。目前應用最為廣泛的OLAP,究其本質就是針對不同的資料群在做描述統計。
描述統計的應用十分廣泛:比如當月公司利潤總額,比較不同地區的銷售量等等。
(2)關聯和相關(Association and Correlation)
關聯規則從本質上講是條件機率:A發生時,B同時也出現的機率是多大?只要B離50%較遠,就是有意義的。
關聯規則的一個典型的現代應用是"啤酒加尿布"。在應用關聯規則時還需要多考慮的一個問題是:這條規則遵循者的數量怎樣?通俗的說就是,如果超市的尿布只有一個人買(假設),但是這人每次買尿布時,一定會買啤酒。儘管這條規則很可信(100%),但是意義卻不大。
在應用關聯規則時,要注意兩點:關聯不一定是因果,關聯是有方向的。
相關也是考慮兩個事物之間的關係,典型的度量方法有Pearson相關係數和Kendall相關係數。
(3)分類和聚類
分類和聚類是最常用的技術。
一般說來,分類的方法有三種:迴歸、決策樹、神經網路。
聚類和分類的最大區別就是,分類是有監督的,聚類是無監督的。什麼叫監督呢?就是標準,或者說有目標變數。聚類是沒有目標的。"物以類聚,人以群分"。聚類是不知道每一類有什麼特徵的,聚後再總結,再發現共同點。
(4)預測
預測的常用方法是時間序列,迴歸也可以用來預測。
時間序列常用的方法有:ARMA,指數平滑和趨勢外推等。時間序列的最大特點就是充分挖掘事物本身隨時間的規律。因為,任何事物,比如企業銷售額,在沒有特別的外在因素影響下,總是有規可循的。
(5)最佳化
最佳化本是運籌學中的一個概念,主要解決的一個問題是在各種約束條件下,如何合理配置資源,使目標要素最大(小)化。
(6)結構方程模型
不同於以上應用,結構方程模型重點在於如何揭示事物內部的結構和相互作用的原理。比如,如何度量客戶滿意度?客戶滿意度與客戶期望,產品,價格,服務,投訴處理和客戶忠誠是什麼關係?是怎麼作用的?只有搞清楚了這些關係,才可能不斷提高客戶滿意度和客戶忠誠度。結構方程模型就起到這種作用。
資料如何完整呈現?
從應用的角度來說,DM不單是資料的組織或者呈現,也不僅是資料分析和統計建模,而是一個從理解業務需求、尋求解決方案到接受實踐檢驗的完整的過程(Process)。
業界有許多指導項目實踐的方法論,大同小異,以CRISP-DM為例。
CRISP-DM分成如下六個階段:商業理解(Business Understanding),資料理解(Data Understanding),資料準備(Data Preparation),建模(Modeling),評估(Evaluation)和發布(Deployment)。
打個比方,譬如炒菜待客,商業理解就是瞭解顧客的口味;資料理解則是熟悉每一樣原料可以炒什麼菜;資料準備則是根據顧客的口味和廚師的經驗,配菜,擇菜和洗菜;而建模就全靠大廚炒菜的水平;到了評估階段就是顧客品嘗;如果滿意則到了最後的階段,作為招牌菜發布推廣。DM的過程就是客戶空腹而來,滿意而歸的完整的服務過程。
一個成功的DM項目,不僅可以面向操作層面,加強自動化;還可以面向決策層,最佳化決策。
實施計劃細部署
根據NCR資料採礦方法論,NCR將資料採礦項目的實施劃分為五個階段,包括定義業務問題範圍、選取和抽樣、探索型資料分析、建模和實施。
1.定義業務問題範圍:在這個初始階段,需明確闡述項目目標和客戶業務需求,目的是明確資料採礦問題。任務包括:明確營運目標;定義響應變數;專案計劃必要的調整。
2.選取和抽樣:在這個階段,建模小組要搜尋並檢查客戶資料,作為以後分析挖掘時所用變數的簡略一覽表。同時從資料總體中抽樣產生訓練集、驗證集和測試集。任務包括:資料來源、資料對應、準備資料評估、資料的必要彙總、資料抽樣。
3.探索型資料分析(資料探索):在這個階段中,建模小組核查目前的資料來源,並且努力去發現在每個待選的自變數和目標變數之間是否有任何關係。通常,數值分析是全面理解資料的第一步,跟著進行的統計分析是為了得到有關資料分布的更好知識。在資料採礦過程中這是一個關鍵的階段。
任務包括:資料品質檢查;資料的必要整理;通過圖形化呈現工具和其他的統計方法理解資料;分析待選自變數和目標變數之間的關係;資料轉換以輔助資料的分析;資料派生為建立模型做準備;整理和呈現資料探索的發現。
4.建模:在這個階段,建模小組建立並確認採礦模型。建模小組通常嘗試不同的建模技術或結合不同資料集,並衡量模型效能的不同,選出最好的。來自終端使用者的業務領域知識在這個階段是非常關鍵的,因為他們可以評價和確認模型的結果、理解發現並付諸實際行動。
任務包括:為模型的訓練和驗證準備資料集;在模型的建立中使用適當的建模技術;針對不同的建模技術測試模型效能;必要地精鍊採礦模型;和主題專家一起檢驗採礦模型;記錄採礦模型和結果。
5.實施:在這個階段,需要用模型的結果來協助做出業務決定、戰略設計和戰術實施。收集實施結果反饋,為模型的退化進行偵測,更進一步改善模型效能。在利用模型的結果時,複雜的展示層介面通常是不必要的。資料採礦過程的自動化是CRM(客戶關係管理)的解決方案中不可或缺的一部分,因此是與典型的資料採礦分開實施的項目。
任務包括:客戶模型評分和儲存模型結果,效能跟蹤和進一步整合其它業務系統;資料採礦過程的自動化是單獨的項目;模型結果的現場測試是單獨的項目。
資料採礦項目的專案計劃會涵蓋以上的各個階段,但完成整個項目所需的時間則要根據多個關鍵因素而定,如挖掘專題的複雜程度、客戶對挖掘結果效能評定的期望、可用的資料完備性及資料品質、項目人力資源是否充足以及人員能力等等。如表1是為期二個月(40個工作日)的資料採礦專案計劃,可以作為其他挖掘項目制定計劃的參考基準。
從表1的專案計劃可以看出,資料採礦項目需要參與的成員或角色有:資料採礦專家、PDM(產品資料管理)建模人員、ETL開發人員和應用開發人員。同時需要熟悉業務的人員以及熟悉資料倉儲PDM的人員予以支援。(