摘 要:聯(lián)機(jī)分析挖掘(OLAM)是一項新興前沿的概念,他不但無縫集成了OLAP和Data Mining技術(shù),具有兩者各自的優(yōu)勢,而且將整個數(shù)據(jù)分析領(lǐng)域提升出一個新亮點。介紹OLAM提出的緣由和體系結(jié)構(gòu)以及一些關(guān)鍵性的技術(shù),闡述選取SQL Server 2005作為聯(lián)機(jī)分析挖掘模型研究的詳細(xì)思路,著重利用SQL Server 2005在無縫集成方面的優(yōu)勢,用一個具體實例對OLAM模型進(jìn)行具體的建模分析和研究,以期待OLAM作為一門新工具為用戶輔助決策。
關(guān)鍵詞:聯(lián)機(jī)分析挖掘;SQL Server 2005;分析服務(wù);多維數(shù)據(jù)集
中圖分類號:TP302.1文獻(xiàn)標(biāo)識碼:A
文章編號:1004-373X(2008)08-109-03
Research of Online Analytical Mining Model Based on SQL Server
RAO Wenbi,WANG Junqiang,TAN Xiaohua
(School of Computer Science,Wuhan University of Technology,Wuhan,430070,China)
Abstract:The Online Analytical Mining (OLAM) is a newly arisen concept of leading edge fields.It is not only seamless to integrate OLAP and Data Mining technology and has both advantages respectively,but also it proposes a new highlight in the whole fields of data analysis.This article introduces the origin of the OLAM and its architecture as well as a number of key technologies,and then describes the detailed ideas of selecting SQL Server 2005 as a research tool.Finally using SQL Server 2005 with the seamless integration technology to do a research and analyzing an instance of OLAM module,so that looking forward to the coming of OLAM as a new tool for users to support decisionmaking.
Keywords:online analytical mining;SQL Server 2005;analysis services;cube
聯(lián)機(jī)分析挖掘技術(shù)(OLAM)是一種新的體系結(jié)構(gòu),也是一個多學(xué)科交叉的研究領(lǐng)域。他在OLAP和Data Mining兩者進(jìn)行優(yōu)勢互補(bǔ)的基礎(chǔ)上進(jìn)行了無縫集成,使之成為目前最熱門的研究技術(shù)之一。他的基本操作是將數(shù)據(jù)挖掘功能(關(guān)聯(lián)、分類、預(yù)測等)與OLAP的鉆取(Drilling)相結(jié)合,以數(shù)據(jù)立方體為基礎(chǔ)在多維度和多層次的抽象空間中進(jìn)行數(shù)據(jù)挖掘,利于靈活地挖掘知識。
1OLAM的提出
聯(lián)機(jī)分析處理(Online Analytical Processing,OLAP)是由關(guān)系數(shù)據(jù)庫之父E.F.Codd于1993年提出的:共享多維信息、針對特定問題的聯(lián)機(jī)數(shù)據(jù)訪問和分析技術(shù)。具有快速性、可分析性、多維性、信息性、共享性5個特點。OLAP具有靈活的分析功能,直觀的數(shù)據(jù)操作和分析結(jié)果可視化表示等突出優(yōu)點,從而使用戶對于基于大量復(fù)雜數(shù)據(jù)分析變得輕松高效,以利于迅速做出正確的判斷,輔助決策。
數(shù)據(jù)挖掘(Data Mining)就是從大量的、不完全的、有噪聲的、模糊的、隨機(jī)的實際應(yīng)用數(shù)據(jù)中,提取隱含在其中的、人們事先不知道的、但又是潛在有用的信息和知識的過程。他與傳統(tǒng)的數(shù)據(jù)分析(如查詢、報表、聯(lián)機(jī)應(yīng)用分析)的本質(zhì)區(qū)別是數(shù)據(jù)挖掘是在沒有明確假設(shè)的前提下去挖掘信息、發(fā)現(xiàn)知識。數(shù)據(jù)挖掘所得到的信息應(yīng)具有先未知、有效和可實用3個特征。先前未知的信息是指該信息是預(yù)先未曾預(yù)料到的,即數(shù)據(jù)挖掘是要發(fā)現(xiàn)那些不能靠直覺發(fā)現(xiàn)的信息或知識,甚至是違背直覺的信息或知識,挖掘出的信息越是出乎意料,就可能越有價值。
OLAM正是以數(shù)據(jù)倉庫為基礎(chǔ)并結(jié)合OLAP與Data Mining當(dāng)前二種成熟的技術(shù)而提出的一種新的功能強(qiáng)大的數(shù)據(jù)分析工具,以輔助分析和決策。本文主要通過以SQL Server 2005的Foodmart實例為基礎(chǔ)來對OLAM模型進(jìn)行分析和研究。
2 OLAM的體系結(jié)構(gòu)
2.1 OLAM的結(jié)構(gòu)層次
OLAM的體系結(jié)構(gòu)分為4個層次:數(shù)據(jù)存儲層、多維數(shù)據(jù)庫(MDDB)層、OLAP/OLAM層和用戶接口層。OLAM服務(wù)器通過用戶圖形接口接收用戶的分析指令,在元數(shù)據(jù)的指導(dǎo)下,對數(shù)據(jù)立方體做一定的操作,然后將挖掘分析結(jié)果展現(xiàn)給用戶,這個過程是動態(tài)的。由于市場上已經(jīng)有許多OLAP產(chǎn)品,所以直接在已經(jīng)建造好的數(shù)據(jù)立方體和OLAP引擎上開發(fā)OLAM機(jī)制是很重要的。
2.2 OLAM的關(guān)鍵技術(shù)
OLAM模型建立在多維數(shù)據(jù)視圖的基礎(chǔ)上。因此,基于數(shù)據(jù)立方體的挖掘算法是其核心所在。數(shù)據(jù)立方體的計算與傳統(tǒng)挖掘算法的結(jié)合使得數(shù)據(jù)挖掘有了極大的靈活性和交互性。根據(jù)立方體的計算和數(shù)據(jù)挖掘所進(jìn)行的次序的不同可以有一些不同的組合。
OLAM以多維模型為基礎(chǔ)對數(shù)據(jù)立方體進(jìn)行切片、切塊、上卷、下鉆等操作。因此,數(shù)據(jù)立方體是OLAM的關(guān)鍵,他會間接影響OLAM的性能。
數(shù)據(jù)倉庫技術(shù)為OLAM提供分析和挖掘操作的數(shù)據(jù)基礎(chǔ),在OLAM系統(tǒng)中由于原始數(shù)據(jù)的類型不同,數(shù)據(jù)分析和挖掘算法不同,因而要求數(shù)據(jù)基礎(chǔ)的數(shù)據(jù)組織形式能支持復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。
3 OLAM的模型構(gòu)建
3.1OLAM工具的選取
由于Microsoft SQL Server 2005能將OLAP與Data Mining 進(jìn)行無縫的聯(lián)接,故首先考慮使用SQL Server 2005工具進(jìn)行OLAM模型的研究和實驗。
SQL Server 2000中包括的數(shù)據(jù)挖掘算法只有決策樹算法和聚類算法,與之相比,SQL Server 2005中引入了多個新的數(shù)據(jù)挖掘算法,包括貝葉斯算法、時間序列算法、序列聚類算法、關(guān)聯(lián)規(guī)則算法和神經(jīng)網(wǎng)絡(luò)算法。與傳統(tǒng)的數(shù)據(jù)挖掘工具相比,SQL Server 2005具備許多優(yōu)勢,SQL Server 2005的數(shù)據(jù)挖掘與SQL Server,SQL Serve Integration Server,Analysis Services都進(jìn)行很好的集成。SQL Server 2005具有易用性,可伸縮性和可擴(kuò)展性等特點,同時他包含簡單而豐富的API。
3.2 SQL Server 2005的OLAM機(jī)制
在Microsoft SQL Server 2005中,利用SSIS(SQL Server Integration Services)的DTS從SQL Server中對數(shù)據(jù)進(jìn)行提取、轉(zhuǎn)換和加載服務(wù),再通過建立Analysis Services服務(wù)把數(shù)據(jù)進(jìn)行具體分析,然后再按需加載到所建立的模型中。接著選用有針對性的挖掘算法和參數(shù),對基于數(shù)據(jù)倉庫建立的OLAP多維數(shù)據(jù)立方體進(jìn)行無縫聯(lián)機(jī)分析挖掘。訪問挖掘出的結(jié)果和發(fā)布這些查詢結(jié)果的方法是使用SQL Server Reporting Service。Reporting Service提供了一個創(chuàng)建定制報表的機(jī)制,這個報表通常包含文本和圖形,可以通過HTML,Email、打印形式和Microsoft Office文檔發(fā)布。
4 OLAM模型的實現(xiàn)
4.1 模型設(shè)計
基于OLAM的理論基礎(chǔ),利用Foodmart食品商店銷售數(shù)據(jù)來建立數(shù)據(jù)倉庫,并以1998年1,4季度銷售所得的毛利潤gross_profit為基礎(chǔ)進(jìn)行聯(lián)機(jī)分析挖掘研究。
首先通過SQL Server Management Studio建立一個食品商店數(shù)據(jù)庫,導(dǎo)入模型所需要挖掘分析的表,然后創(chuàng)建數(shù)據(jù)庫關(guān)系圖。創(chuàng)建好后再打開SQL Server Business Intelligence Development Studio新建一個Analysis Services項目,然后新建一個數(shù)據(jù)源來連接剛在SQL Server Management Studio中建立的數(shù)據(jù)庫,接著創(chuàng)建數(shù)據(jù)源視圖DSV。數(shù)據(jù)源視圖是數(shù)據(jù)在客戶端的一個抽象視圖,這也是建模工作開始的地方。在DSV中,可以選擇、組織、瀏覽以及在某種意義上說可以操作數(shù)據(jù)源中的數(shù)據(jù)。為了分析食品商店一年的某個黃金時間段的毛利潤收入來源情況,在銷售事實表中需建立一個命名計算列g(shù)ross_profit,把他定義為銷售價格減去銷售成本的差值。然后分別建立客戶、商店、產(chǎn)品、促銷、時間5個維度。客戶維度自定義教育程度、職業(yè)、年收入、姓名4個層次;產(chǎn)品維度分為類別、品牌、產(chǎn)品3個層次;時間維度自定義年、季度、月、日4個層次。然后依據(jù)前面所建立的維度和層次結(jié)構(gòu)建立相應(yīng)的食品商店多維數(shù)據(jù)集,將存儲模式設(shè)計為性能比較好的HOLAP模式并將聚合的標(biāo)準(zhǔn)設(shè)計為性能提升達(dá)到80%的標(biāo)準(zhǔn)。
4.2 模型建立
為了針對具體客戶在某個時間段給商店帶來的毛利潤進(jìn)行深入的挖掘分析,以前面的多維數(shù)據(jù)集為基礎(chǔ)創(chuàng)建一個以客戶事例表為維度的挖掘結(jié)構(gòu)。然后將所需分析的客戶教育程度、職業(yè)、年收入作為事例級別列的屬性,將時間作為嵌套表,季度作為嵌套鍵,并加入命名計算列毛利潤gross_profit,具體建模如圖1所示。
然后對源多維數(shù)據(jù)集進(jìn)行切片,將客戶維度的層次結(jié)構(gòu)選取為自定義的教育程度職業(yè)年收入;篩選值設(shè)置為高中、本科教育程度;職業(yè)設(shè)置為管理人員和專家,時間維度選取為1998年前后比較有代表性的第1和第4季度。
為了在數(shù)據(jù)中盡量尋找自然分組,以便對毛利潤總體的來源情況進(jìn)行歸類分析,在建立數(shù)據(jù)模型的時候選取Microsoft的聚類算法。在該算法中將CLUSTER_COUNT參數(shù)值設(shè)置為0會使此算法使用試探性方法最合理地確定要生成分類的數(shù)目,再將控制模型收斂的STOPPING_TOLERANCE參數(shù)設(shè)定為3以便使聚類的結(jié)果更為清晰,最后對該聚類模型進(jìn)行處理。
4.3對挖掘數(shù)據(jù)的具體分析
通過圖2可以看到,針對于具體的問題,當(dāng)將明暗度變量分別設(shè)為第1,第4季度毛利潤、狀態(tài)選擇大于31.3時,很明顯分類10,11顏色較深,說明這2個聚類給商店帶來不少的毛利潤。
再從圖3的分類剖面圖可以看到,分類10和11成為帶來整個第1、第4季度毛利潤的主要分類群。從圖中分析得知,高中學(xué)歷并從事手工體力勞動的人大部分年收入在MYM30KMYM50K之間,處于低收入水平,但給商店帶來的毛利潤卻很高,與具有學(xué)士學(xué)歷、專家水平的消費者水平相差幾乎不多。
從圖4中也可以很明顯看到分類10和11與其他聚類的差別??梢钥闯?,高學(xué)歷高收入群體能給商店帶來可觀的利潤,但大部分中等學(xué)歷中低收入人群也能夠在該時段成為商店毛利潤的主要來源群體。[LL]
最后使用Reporting Services新建一個報表項目,如圖5所示。由此報表可以很清楚的看到選取的具體客戶按所需的分類方式以詳細(xì)直觀的形式展示出來,還可以通過HTML,Email等形式將此報表發(fā)布出去。
5 結(jié) 語
OLAM是當(dāng)前一項比較熱門的概念,他是OLAP與Data Mining技術(shù)相結(jié)合的產(chǎn)物,兼有OLAP多維分析的在線性、靈活性和數(shù)據(jù)挖掘?qū)?shù)據(jù)處理的深入性,并以數(shù)據(jù)倉庫為基礎(chǔ)實現(xiàn)更有效的輔助決策。但真正的OLAM技術(shù)在無縫集成方面做得還不夠好,缺乏成熟的體系結(jié)構(gòu)。目前的OLAM還在不斷的探索和完善中,相信在不久的將來,OLAM必將在數(shù)據(jù)分析領(lǐng)域成為一項很成熟的技術(shù)并為分析人員甚至是用戶提供更多的決策輔助。
參 考 文 獻(xiàn)
[1]Sumathi S,Sivanandam S N.Data Warehousing,Data Mining,and OLAP Studies in Computational Intelligence.SCI,2006(29):2173.
[2]Jiawei Han.OLAP Mining: An Integration of OLAP with Data Mining [C].Proc.1997 IFIP Conference on Data Semantics(DS7),Leysin,Switzerland,1997(10):111.
[3]曹薊光.聯(lián)機(jī)分析數(shù)據(jù)挖掘技術(shù)(OLAM)的研究[D].杭州:浙江大學(xué),2001.
[4]蒲曉湘,劉文才.聯(lián)機(jī)分析挖掘(OLAM)技術(shù)的現(xiàn)狀與發(fā)展[J].重慶大學(xué)學(xué)報,2004(3):3640.
[5]劉夫濤,張雷,艾波.OLAM以及基于Web的OLAM [J].計算機(jī)工程與應(yīng)用,2000,36(9):108109.
[6]胡洪寧,郭福亮.一種基于OLAP與DM的OLAM模型的研究[J].計算機(jī)與數(shù)字工程,2005,33(3):3941.
[7]陸昌輝,黃權(quán),劉青寶,等.維度匯總性判斷方法研究\\[J\\].現(xiàn)代電子技術(shù),2007,30(22):5154.
作者簡介 饒文碧 女,1967年出生,湖北武漢人,武漢理工大學(xué)計算機(jī)科學(xué)與技術(shù)學(xué)院教授,博士。研究方向為普適計算、智能算法、數(shù)據(jù)挖掘等。
王駿強(qiáng) 男,1982年出生,湖北武漢人,碩士。研究方向為數(shù)據(jù)倉庫、數(shù)據(jù)挖掘。
譚小花 女,碩士。研究方向為數(shù)據(jù)挖掘。