【数据挖掘笔记五】数据立方体技术
5.數(shù)據(jù)立方體技術(shù)
數(shù)據(jù)倉庫系統(tǒng)在各種粒度上為多維數(shù)據(jù)的交互分析提供OLAP工具,OLAP工具使用數(shù)據(jù)立方體和多維數(shù)據(jù)模型對匯總數(shù)據(jù)提供靈活的訪問,因此重點要關(guān)注數(shù)據(jù)立方體的技術(shù)。數(shù)據(jù)立方體技術(shù)包括數(shù)據(jù)立方體的計算方法方法和多維數(shù)據(jù)分析方法。
數(shù)據(jù)立方體技術(shù)對于數(shù)據(jù)挖掘也是有用的。多維數(shù)據(jù)挖掘是基于OLAP的數(shù)據(jù)分析與知識發(fā)現(xiàn)技術(shù)集成再一起的。多維數(shù)據(jù)挖掘,通過探查多維空間中的數(shù)據(jù)來搜索有趣的模式,賦予用戶動態(tài)地關(guān)注感興趣的任何維子集的自主權(quán),用戶可以交互地下鉆或上卷到各抽象層,發(fā)現(xiàn)分類模型、聚類、預(yù)測規(guī)則和離群點。
5.1?數(shù)據(jù)立方體計算:基本概念
數(shù)據(jù)立方體有利于多維數(shù)據(jù)的聯(lián)機分析處理,數(shù)據(jù)立方體預(yù)計算是終點。
1)立方體物化:完全立方體、冰山立方體、閉立方體和立方體外殼
基本方體的單元是基本單元,非基本方體的單元是聚集單元。聚集單元在一個或多給維上聚集,其中每個聚集維用單元記號的*指示。
單元之間存在祖先-后代關(guān)系的定義:在n維數(shù)據(jù)立方體中,i-D單元a=(a1,a2,…,an,measuresa)是j-D單元b=(b1,b2,…,bn,measuresb)的祖先,而b是a的后臺,當(dāng)且僅當(dāng)i<j,且1≤k≤n,只要ak≠*,就有ak=bk。
為快速OLAP,最好是預(yù)計算完全立方體,但其復(fù)雜度是維數(shù)的指數(shù),即n維數(shù)據(jù)立方體包含2n個方體,如果在考慮每個維的概念分層,則顯然大的多。完全立方體的計算,可以計算較小的立方體,包含給定維集合的一個子集,或者某些維的可能值的一個較小的值域;這樣較小的立方體是給定維子集和維值的完全立方體。探索計算數(shù)據(jù)立方體的所有方體(完全物化)的可伸縮方法,必須考慮可用于計算方體的內(nèi)存容量的限制、所計算的數(shù)據(jù)立方體的總體大小,以及計算所需要的時間。
數(shù)據(jù)立方體的部分物化則在存儲空間和OLAP響應(yīng)時間上進行折中,不是計算完全立方體,而是計算立方體的方體的一個子集,或者計算由各種方體的單元子集組成的子立方體。
當(dāng)相對于存放在方體中的非零值元組的數(shù)量,方體維的基數(shù)的乘積很大時,該方體是稀疏的。如果一個立方體包含許多稀疏方體,則該立方體是稀疏的。考慮到相當(dāng)多的立方體空間可能被大量具有很低度量值的單元所占據(jù)(立方體單元在多維空間中的分布常常是想當(dāng)稀疏的),考慮部分物化的立方體,即冰山立方體(iceberg?cube),定義最小閾值,或最小支持度閾值,或最小支持度。一種計算冰山立方體的樸素方法是首先計算完全立方體,然后剪去不滿足冰山條件的單元。顯然這個代價也是高昂的。最有效的當(dāng)然是直接計算冰山立方體。
引入冰山立方體將減輕計算數(shù)據(jù)立方體中不重要聚集單元的負擔(dān),然而仍有大量不感興趣的單元要計算,為系統(tǒng)地壓縮數(shù)據(jù)立方體,需引入閉覆蓋(closed?coverage)概念。一單元c是閉單元(closed?cell),如果不存在單元d,使得d是單元c的特殊化(后代),即d通過將c中的*值用非*值替換得到,并且d與c具有相同的度量值。閉立方體(closed?cube)是一個僅由閉單元組成的數(shù)據(jù)立方體。
部分物化的另一種策略是只預(yù)計算涉及少數(shù)維(如3到5個維)的方體,這些方體形成對應(yīng)的數(shù)據(jù)立方體的立方體外殼(cube?cell)。這種情況下,在附加的維組合上查詢需要臨時計算。
2)數(shù)據(jù)立方體計算的策略
有兩種基本數(shù)據(jù)結(jié)構(gòu)用于存儲方體,一種是關(guān)系OLAP使用關(guān)系表,另一種是多維OLAP使用多維數(shù)組。有多種有效計算數(shù)據(jù)立方體的方法,一般優(yōu)化技術(shù)包括:
a.排序、散列和分組
對維屬性使用排序、散列和分組操作,以便對相關(guān)元組重新定序和聚類。在立方體計算中,對共享一組相同維值的元組(或單元)進行聚集,重要的是利用排序、散列和分組操作對這樣的數(shù)據(jù)進行訪問和分組,以便有利于聚集的計算。這些技術(shù)可進一步擴展,進行共享排序(當(dāng)使用基于排序的方法時,在多個方體之間共享排序開銷),或進行共享劃分(當(dāng)使用基于散列的方法時,在多個方體之間共享劃分開銷)。
b.同時聚集和緩存中間結(jié)果
在立方體計算中,從先前計算的較低層聚集而不是從基本事實表計算較高層聚集是有效的。此外,從緩存的中間計算結(jié)果同時聚集可能導(dǎo)致減少開銷很大的磁盤IO操作。這種技術(shù)可進一步擴展,進行平攤掃描(同時計算盡可能多的方體,分?jǐn)偞疟P讀)。
c.當(dāng)存在多個子女方體時,由最小的子女聚集
當(dāng)存在多個子女方體時,由先前計算的最小子女方體計算父母方體(即更泛化的方體)更有效。
d.使用先驗剪枝方法有效地計算冰山立方體
對于數(shù)據(jù)立方體,先驗性質(zhì)(Apriori?property)表述如下:如果給定的單元不滿足最小支持度,則該單元的后代(即更特殊的單元)也不滿足最小支持度。該性質(zhì)可顯著降低冰山立方體的計算量。如果某個單元c違反冰山立方體設(shè)定的最小支持度這個條件,則c的每個后代也將違反該條件,遵守這一性質(zhì)的度量成為反單調(diào)的(anti-monotonic),當(dāng)然單調(diào)性就是滿足條件。剪枝在頻繁模式挖掘中很流行,有助于數(shù)據(jù)立方體的計算,減少處理時間和磁盤空間的需求。
5.2?數(shù)據(jù)立方體計算方法
數(shù)據(jù)立方體計算是數(shù)據(jù)倉庫實現(xiàn)的一項基本任務(wù)。完全或部分?jǐn)?shù)據(jù)立方體的預(yù)計算可以大幅度降低響應(yīng)時間,提高聯(lián)機分析處理的性能。
1)完全立方體計算的多路數(shù)組聚集
多路數(shù)組聚集(MultiWay)方法使用多維數(shù)組作為基本的數(shù)據(jù)結(jié)構(gòu),計算完全數(shù)據(jù)立方體。MultiWay是一種使用數(shù)組直接尋址的典型MOLAP方法,其中維值通過位置或?qū)?yīng)數(shù)組位置的下標(biāo)訪問,不能使用基于值的重新排序作為優(yōu)化技術(shù)。基于數(shù)組的立方體結(jié)構(gòu)構(gòu)造方法:
a.把數(shù)組分成塊。塊是一個子立方體,足夠小,可以放入立方體計算時可用的內(nèi)存。分塊是一種把n維數(shù)組劃分成小的n維塊的方法,其中每個塊作為一個對象存放在磁盤上。塊被壓縮,以避免空數(shù)組單元所導(dǎo)致的空間浪費。一個單元為空,如果它不含有任何有效數(shù)據(jù)(其單元計數(shù)為零)。如為了壓縮稀疏數(shù)組結(jié)構(gòu),在塊內(nèi)搜索單元時可以用chunkID+offset作為單元的尋址機制。
b.通過訪問立方體單元(即訪問立方體單元的值)來計算聚集。可以優(yōu)化訪問單元的次序,使得每個單元必須重復(fù)訪問的次數(shù)最小化,從而減少內(nèi)存訪問開銷和存儲開銷。技巧是使用這樣的一種次序,使得多個方體的聚集單元可以同時計算,避免不必要的單元再次訪問。
由于分塊技術(shù)涉及重疊某些聚集計算,因此稱該技術(shù)未多路數(shù)組聚集(multiway?array?aggregation),執(zhí)行同時聚集,即同時在多個維組合上計算聚集。
MultiWay使用直接數(shù)組尋址,比ROLAP基于關(guān)鍵字的尋址搜索策略快,不過MultiWay計算從基本方體開始,逐步向上到更泛化的祖先方體,因此不能利用先驗剪枝。
2)BUC:從頂點方體向下計算冰山立方體
BUC是一種計算稀疏冰山立方體的算法。和MultiWay不同,BUC從頂點方體向下到基本方體構(gòu)造冰山立方體,這使得BUC可以分擔(dān)數(shù)據(jù)劃分開銷,這種處理次序也使得BUC在構(gòu)造立方體時使用先驗性質(zhì)進行剪枝。
方體格一般采用頂點方體在頂部基本方體在底部的表示,將下鉆(從高聚集單元向較低、更細化的單元移動)和上卷(從細節(jié)的、低層單元向較高層、更聚集的單元移動)概念一致起來。BUC是指自頂向上構(gòu)造(Bottom-Up?Construction),采用頂點方體在底部而基本方體在頂部的表示,下鉆表示從頂點方體向下到基本方體,那么反過來表示的BUC就是自頂向下,正好相反。BUC算法如下:
算法:BUC,計算稀疏冰山立方體的算法。
輸入:input:待聚集的關(guān)系。
??????dim:本次迭代的起始維。
全程量:
??????常量numDims:維的總數(shù)。
??????常量cardinality[numDims]:每個維的基數(shù)。
?????常量min_sup:分區(qū)中的元組的最少個數(shù),滿足它的分區(qū)才輸出。
?????outputRec:當(dāng)前輸出記錄。
?????dataCount[numDims]:存放每個分區(qū)的大小。dataCount[i]是大小為cardinality[i]的整數(shù)列表。
輸出:遞歸地輸出滿足最小支持度的冰山立方體單元。
方法:
??????Aggregate(input);//掃描整個input,計算度量(如count),并將結(jié)果存入outputRec
??????if?input.count()?==1?then?//優(yōu)化
??????????WriteAncestors(input[0],dim);return;
??????end?if
??????write?outputRec;
??????for(d=dim;d<numDims;d++)?do?//劃分每個維
??????????C=cardinality[d];
??????????Partition(input,d,C,dataCount[d]);//對維d創(chuàng)建數(shù)據(jù)的C個分區(qū)
??????????k=0;
??????????for(i=0;i<C;i++)do?//對每個分區(qū)(維d的每個值)
??????????????c=dataCount[d][i]
??????????????if?c>=min_sup?then?//檢查冰山條件
??????????????????outputRec.dim[d]=input[k].dim[d];
??????????????????BUC(intput[k..k+c-1],d+);//在下一維上聚集
??????????????end?if
??????????????k+=c
??????????end?for
??????????outputRec.dim[d]=all;
??????end?for
BUC的性能容易受維的次序和傾斜數(shù)據(jù)的影響。理想地,應(yīng)當(dāng)首先處理最有區(qū)分能力的維。維應(yīng)當(dāng)以基數(shù)遞減序處理。基數(shù)越高,分區(qū)越小,因為分區(qū)越多,從而為BUC剪枝提供更多機會。維越均勻(即具有較小的傾斜),對剪枝越好。
BUC的主要貢獻是分擔(dān)劃分開銷的思想。不過,與MultiWay不同,BUC不在父母與子女的分組之間共享聚集計算。
3)Star-Cubing:使用動態(tài)星樹結(jié)構(gòu)計算冰山立方體
Star-Cubing集成自頂向下和自底向上立方體計算,并利用多維聚集(類似MultiWay)和類Apriori剪枝(類似BUC),在一個稱為星樹(star-tree)的數(shù)據(jù)結(jié)構(gòu)上操作,對該數(shù)據(jù)結(jié)構(gòu)進行無損數(shù)據(jù)壓縮,從而降低計算時間和內(nèi)存需求量。
Star-Cubing算法利用自底向上和自頂向下的計算模式:在全局計算次序上,使用自底向上模式;同時有一個基于自頂向下模式的子層,利用共享維的概念。如果共享維上的聚集值不滿足冰山條件,則沿該共享維向下的所有單元也不可能滿足冰山條件。
方體樹(cuboid?tree),樹的每一層代表一個維,每個結(jié)點代表一個屬性值;每個結(jié)點有四個字段:屬性值、聚集值、指向第一個子女的指針和指向第一個兄弟的指標(biāo);方體中的元組逐個插入組中,一條從根到樹葉結(jié)點的路徑代表一個元組。如果單個維在屬性值p上的聚集不滿足冰山條件,則在冰山立方體計算中識別這樣的節(jié)點沒有意義。這樣的結(jié)點p用*替換,使方體樹可以進一步壓縮。如果單個維p上的聚集不滿足冰山條件,則稱屬性A中的結(jié)點p是星結(jié)點(star?node);否則,稱p為非星結(jié)點(non-star?node)。使用星結(jié)點壓縮的方體樹稱為星樹(star-tree)。
先構(gòu)造星樹,在應(yīng)用Star-Cubing算法計算冰山立方體,算法如下:
算法:Star-Cubing,通過Star-Cubing計算冰山立方體。
輸入:R:關(guān)系表;
??????min_support:冰山立方體條件的最小支持度閾值(取count作為度量)。
輸出:計算的冰山立方體
方法:每顆星樹對應(yīng)于一個方體樹結(jié)點,反之亦然。
??????Begin
???????????掃描R兩次,創(chuàng)建星表S和星樹T;
???????????輸出T.root的count;
???????????調(diào)用starcubing(T,T.root);
??????End
??????Procedure?starcubing(T,cnode)?//cnode:當(dāng)前結(jié)點
??????{
??????????for?T的方體樹的每個非空子女C
??????????????插入或聚集cnode到C的星樹的對應(yīng)位置或結(jié)點;
??????????if?(cnode.count≥min_support)?then?{
??????????????if?(cnode≠root)?then
??????????????????output?cnode.count;
??????????????if?(cnode?是葉結(jié)點)?then?
??????????????????output?cnode.count;
??????????????else{//初始化新的方體樹
??????????????????create?Cc作為T的方體樹子女;
??????????????????令Tc為Cc的星樹;
??????????????????Tc.root的count=cnode.count;
??????????????}
???????????}
??????????if?(cnode不是樹葉)?then?
??????????????starcubing(T,cnode.first_child);
??????????if(Cc非空)?then{
??????????????starcubing(Tc,Tc.root);
??????????????將Cc從T的方體樹刪除;}
??????????if?(cnode有兄弟)?then
??????????????starcubing(T,cnode.sibling);
??????????刪除T;
???????}
Star-Cubing也可用來計算完全立方體。當(dāng)計算稠密數(shù)據(jù)集的完全立方體時,Star-Cubing性能與MultiWay相當(dāng),比BUC快。如果數(shù)據(jù)集是稀疏的,則比MultiWay快,且大部分情況下比BUC快。對于冰山立方體計算,Star-Cubing比BUC快,其中數(shù)據(jù)是傾斜的,并且加速因子隨min_sup減小而增加。
4)為快速高維OLAP預(yù)計算殼片段
數(shù)據(jù)立方體有利于多維數(shù)據(jù)空間的快速OLAP,不過高維完全數(shù)據(jù)立方體需要海量存儲空間和不切司機的計算時間。冰山立方體是一個替代方案。但是冰山立方體本身的計算和存儲開銷還是比較高。于是提出計算一個很薄的立方體外殼(cube?shell),但這個方法不吃之在4維及以上OLAP。
這里關(guān)注的是OLAP查詢處理的外殼片段方法,方法基于一個觀察的事實:數(shù)據(jù)立方體有很多的維,不過大部分OLAP操作只在少數(shù)維上執(zhí)行。如果可以在高維空間內(nèi)部的少數(shù)維上快速計算多維聚集,則可以獲得快速OLAP,而不必物化原來的高維數(shù)據(jù)立方體。計算完全立方體(甚至冰山立方體或外殼立方體)都可能是多余的,利用一定預(yù)處理的半聯(lián)機計算模型是比較可行的解。給定基本方法,首先做一些快速預(yù)計算(即脫機),然后查詢可以使用預(yù)處理的數(shù)據(jù)上聯(lián)機計算。
外殼片段方法遵循半聯(lián)機計算策略,涉及兩個算法:一個計算外殼片段立方體;另一個用立方體片段處理查詢。外殼片段方法可以處理維度非常高的數(shù)據(jù)庫,并且可以快速聯(lián)機計算小的局部立方體,利用信息檢索和基于Web的信息系統(tǒng)中的倒排索引結(jié)構(gòu)。
外殼片段方法基本思想:給定一個高維數(shù)據(jù)集,把維劃分成互不相交的維片段,把每個片段轉(zhuǎn)換成倒排索引表示,然后構(gòu)造立方體外殼片段,并保持與立方體單元相關(guān)聯(lián)的倒排索引。使用預(yù)計算的立方體外殼片段,可以聯(lián)機動態(tài)地組裝和計算所需要的數(shù)據(jù)立方體的方體單元,可通過倒排索引上的集合交(set?intersection)操作有效地完成。
外殼片段計算方法:
算法:Frag-Shells,計算給定的高維基本表(即基本方體)的外殼片段。
輸入:n維(A1,...,An)上的基本方體B。
輸出:
??????片段劃分的集合{P1,...,Pk}和它們對應(yīng)的局部片段立方體{S1,...,Sk},其中Pi表示維的集合,并且P1U...UPk形成所有n個維。
??????ID_measure數(shù)組,如果度量不是元組計數(shù)count();
方法:
??????將維集合(A1,...,An)劃分成k個片段的集合(P1,...,Pk)(基于數(shù)據(jù)和查詢分布)
??????掃描基本方體B一次,并做如下工作{
??????????將每個<TID,measure>插入ID_measure數(shù)組
??????????for?每個維Ai的每個屬性值aj
??????????????建立一個倒排索引項:<aj,TIDList>
???????}
???????for?每個片段Pi
???????????取它們對應(yīng)的ITD列表的交并計算它們的度量,構(gòu)造局部片段立方體Si
案例可參考原書,關(guān)鍵是倒排索引結(jié)構(gòu)的原理。
與完全立方體相比,外殼片段的存儲空間和計算時間開銷都可以忽略。通過在單個片段中包含所有的維,也可使用Frag-Shells算法計算完全數(shù)據(jù)立方體。由于方體格的計算次序是自頂向下和深度優(yōu)先(類似于BUC),所以如果用來構(gòu)造冰山立方體,那算法可以進行Apriori剪枝。
給定預(yù)計算的外殼片段,可將立方體空間看做虛擬立方體,并且聯(lián)機進行關(guān)于該立方體的OLAP查詢,有兩種可能查詢類型:點查詢和子立方體查詢。
點查詢顯示地提供相關(guān)維上被例示的變量集,通過找出最合適的(即逐維完全匹配的)片段,取出并與相關(guān)聯(lián)的TID列表取交,可最大限度地利用預(yù)計算的外殼片段。
子立方體查詢返回一個基于例示維和被詢問的維的局部數(shù)據(jù)立方體。這種數(shù)據(jù)立方體需要以多為方式聚集,使得用戶可以使用聯(lián)機分析處理(如鉆取、切塊、轉(zhuǎn)軸等),靈活地操縱和分析。
5.3?使用探索立方體技術(shù)處理高級查詢
基本數(shù)據(jù)立方體可擴充到各種復(fù)雜的數(shù)據(jù)類型和新的應(yīng)用。如用于地理數(shù)據(jù)倉庫設(shè)計與實現(xiàn)的空間數(shù)據(jù)立方體,用于多媒體數(shù)據(jù)(包括圖像和視頻)多維分析的多媒體立方體,RFID數(shù)據(jù)立方體處理射頻識別(RFID)的壓縮和多維分析。文本立方體和論題立方體是分別為多維文本數(shù)據(jù)庫(包括結(jié)構(gòu)屬性和敘事文本屬性)中向量空間模型和生成語言模型的應(yīng)用開發(fā)。
1)抽樣立方體:樣本數(shù)據(jù)上基于OLAP的挖掘
傳統(tǒng)上,OLAP擁有整個數(shù)據(jù)總體,而用樣本數(shù)據(jù)只是一個小的子集,如果把OLAP工具用于樣本數(shù)據(jù),會面臨兩類問題:第一,在多維意義下,樣本數(shù)據(jù)過于稀疏,樣本中的單個離群點或微小偏移都可能顯著影響結(jié)果;第二,使用樣本數(shù)據(jù),統(tǒng)計學(xué)方法將用來提供可靠性度量,如置信區(qū)間,指出總體質(zhì)量,而傳統(tǒng)?OLAP并無提供。
抽樣立方體旨在解決上面兩類問題。抽樣立方體(sampling?cube)是一種存儲樣本數(shù)據(jù)及其多維聚集的數(shù)據(jù)立方體結(jié)構(gòu),支持在樣本數(shù)據(jù)上的OLAP。抽樣立方體計算置信區(qū)間,作為多維查詢的質(zhì)量度量。給定一個樣本數(shù)據(jù)關(guān)系R(即基本方體),抽樣立方體CR通常計算樣本均值、樣本標(biāo)準(zhǔn)差和其他針對任務(wù)的度量。
影響置信區(qū)間大小有兩個主要因素:樣本數(shù)據(jù)的方差和樣本大小。解決小樣本問題可以通過獲得更多的數(shù)據(jù)。可以通過鄰近單元中的數(shù)據(jù)來擴充,方體內(nèi)查詢擴展考慮同一方體內(nèi)的鄰近單元;方體間查詢擴展考慮查詢單元的更一般版本。
在精確地度量維與立方體的相關(guān)性上,計算維值域它們聚集立方體度量之間的相關(guān)性。通常,對數(shù)據(jù)數(shù)據(jù)用皮爾遜相關(guān)系數(shù),而標(biāo)稱數(shù)據(jù)使用卡方相關(guān)檢驗,也可使用協(xié)方差。t-檢驗是一種相對簡單的統(tǒng)計方法,可用來確定兩個樣本是否具有相同的均值。
2)排序立方體:top-K查詢的有效計算
top-K查詢(或排序查詢)根據(jù)用戶指定的優(yōu)選條件,只返回最好的k個結(jié)果作為查詢的回答,而不是返回大量不加區(qū)分的結(jié)果。
給定按排定的序返回,使得最好的結(jié)果在頂部。通常,用戶指定的優(yōu)選條件由兩部分組成:一個選擇條件和一個排序函數(shù)。
排序立方體一般原理是物化選擇屬性集上的立方體。使用排序維上基于區(qū)間的劃分使得排序立方體可以有效而靈活地支持用戶的臨時查詢。
5.4?數(shù)據(jù)立方體空間的多維數(shù)據(jù)分析
立方體空間的多維數(shù)據(jù)挖掘在各種粒度上把感興趣的數(shù)據(jù)組織成直觀的區(qū)域,在這些區(qū)域上系統(tǒng)地應(yīng)用各種數(shù)據(jù)挖掘技術(shù)分析和挖掘數(shù)據(jù)。
融合OLAP分析和數(shù)據(jù)挖掘技術(shù)的方法有:使用立方體空間為數(shù)據(jù)挖掘定義數(shù)據(jù)空間;使用OLAP查詢?yōu)橥诰虍a(chǎn)生特征和目標(biāo);使用數(shù)據(jù)立方體計算技術(shù)加快重復(fù)模型的構(gòu)建。
1)預(yù)測立方體:立方體空間的預(yù)測挖掘
預(yù)測立方體(prediction?cube)是一種立方體結(jié)構(gòu),存儲多維數(shù)據(jù)空間中的預(yù)測模型,并以O(shè)LAP方式支持預(yù)測。預(yù)測立方體的每個單元值都是通過對建立在該單元數(shù)據(jù)子集上的預(yù)測模型求值計算的,表示了對該數(shù)據(jù)子集行為的預(yù)測;不同于在數(shù)據(jù)立方體中,是在單元中的數(shù)據(jù)子集上計算聚集數(shù)值來獲得單元值。
預(yù)測立方體不是把預(yù)測模型看做最終結(jié)果,而是使用預(yù)測模型作為構(gòu)件來定義數(shù)據(jù)子集的興趣度,即它們識別指示更準(zhǔn)確預(yù)測的數(shù)據(jù)子集。
在預(yù)測立方體上支持OLAP上卷和下鉆操作需要在不同的粒度物化單元值。一種完全物化預(yù)測立方體的樸素方法是對每個單元和每個粒度評估。如果基本數(shù)據(jù)集很大,這這種方法開銷很大,采用基于概率的組合方法(probability-Based?Ensemble,PBE),只要求對最細粒度的單元構(gòu)建模型,然后使用OLAP風(fēng)格的自底向上的聚集產(chǎn)生粗粒度單元的值。預(yù)測模型的預(yù)測可以看做找出最大化評分函數(shù)的類標(biāo)號。PBE方法要求任何預(yù)測模型的評分函數(shù)都是可分可解的。
2)多特征立方體:多粒度上的復(fù)雜聚集
????多特征立方體(multifeature?clube)計算更復(fù)雜的查詢,依賴于變化粒度層上多個聚集的分組,支持復(fù)雜的數(shù)據(jù)挖掘查詢。
3)基于異常的、發(fā)現(xiàn)驅(qū)動的立方體空間探查
探索數(shù)據(jù)立方體的發(fā)現(xiàn)驅(qū)動方法,幫助用戶智能地探查數(shù)據(jù)立方體巨大的聚集空間,指示數(shù)據(jù)異常的預(yù)計算的度量,在所有的聚集層來指導(dǎo)用戶的數(shù)據(jù)分析過程。異常(exception)是一個數(shù)據(jù)立方體單元值,基于某種統(tǒng)計模型,顯著地不同于預(yù)期值。
一個單元值是否異常要根據(jù)它與它的期望值相差多少判定,其中期望值使用統(tǒng)計模型確定。給定單元的值和它的期望值之間的差稱為殘差(residual)。直觀地,殘差越大,給定單元的值越異常。
發(fā)現(xiàn)驅(qū)動的探查構(gòu)造數(shù)據(jù)立方體分三個階段:單元聚集計算,發(fā)現(xiàn)異常;模型擬合,計算標(biāo)準(zhǔn)殘差;基于標(biāo)準(zhǔn)殘差計算異常值。
5.5?小結(jié)
1)數(shù)據(jù)立方體的計算和探查在數(shù)據(jù)倉庫構(gòu)建中扮演至關(guān)重要的角色,并且對于多維空間的靈活挖掘是重要的。
2)數(shù)據(jù)立方體由方體的格組成。每個方體都對應(yīng)于給定多維數(shù)據(jù)的不同程度的匯總。完全物化是指計算數(shù)據(jù)立方體格中的所有方體。部分物化是指選擇性地計算格中方體單元的子集。冰山立方體和外殼片段都是部分物化的例子。冰山立方體是一種數(shù)據(jù)立方體,它僅存儲其聚集值(如count)大于某最小支持度閾值的立方體單元。對于數(shù)據(jù)立方體的外殼片段而言,只計算涉及少數(shù)維的某些方體。在附加維組合上的查詢可以臨時計算。
3)有效的數(shù)據(jù)立方體計算方法:多路數(shù)組聚集multiway,基于稀疏數(shù)組的、自底向上的、共享計算的物化整個數(shù)據(jù)立方體;BUC,通過探查有效的自頂向下計算次序和排序計算冰山立方體;Star-Cubing,使用星樹結(jié)構(gòu),集成自頂向下和自底向上計算,計算冰山立方體;外殼片段立方體,通過僅預(yù)計算劃分的立方體外殼片段,支持進行高維OLAP。
4)立方體空間中的多維數(shù)據(jù)挖掘是知識發(fā)現(xiàn)與多維數(shù)據(jù)立方體技術(shù)的集成。它有利于在大型結(jié)構(gòu)化和半結(jié)構(gòu)化的數(shù)據(jù)集中系統(tǒng)和聚焦地發(fā)現(xiàn)知識。它將繼續(xù)為分析者的多維和多粒度分析提供極大的靈活性和能力。對于構(gòu)建功能強大的、復(fù)雜的數(shù)據(jù)挖掘機制的研究者而言,這是一個尚需大量研究的領(lǐng)域。
5)利用立方體進行高級查詢的技術(shù),包括用于樣本數(shù)據(jù)的多維分析的抽樣立方體,用于大型關(guān)系數(shù)據(jù)庫中top-k查詢有效處理的排序立方體。
6)利用數(shù)據(jù)立方體進行多維數(shù)據(jù)分析的三種方法:預(yù)測立方體計算多維立方體空間的預(yù)測模型,幫助用戶識別變化的粒度級別上的數(shù)據(jù)的有趣子集;多特征立方體計算涉及多粒度上多個依賴的聚集的復(fù)雜查詢;立方體空間中基于異常的、發(fā)現(xiàn)驅(qū)動的探查顯示可視化提示,指示在所有聚集層上發(fā)現(xiàn)的異常,從而指導(dǎo)用戶的數(shù)據(jù)分析。
總結(jié)
以上是生活随笔為你收集整理的【数据挖掘笔记五】数据立方体技术的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【数据平台】同一mysql主机不同数据库
- 下一篇: 【正一专栏】梅西!梅西!梅西!