【数据挖掘笔记五】数据立方体技术

5.数据立方体技术

数据仓库系统在各种粒度上为多维数据的交互分析提供OLAP工具,OLAP工具使用数据立方体和多维数据模型对汇总数据提供灵活的访问,因此重点要关注数据立方体的技术。数据立方体技术包括数据立方体的计算方法方法和多维数据分析方法。

数据立方体技术对于数据挖掘也是有用的。多维数据挖掘是基于OLAP的数据分析与知识发现技术集成再一起的。多维数据挖掘,通过探查多维空间中的数据来搜索有趣的模式,赋予用户动态地关注感兴趣的任何维子集的自主权,用户可以交互地下钻或上卷到各抽象层,发现分类模型、聚类、预测规则和离群点。

5.1 数据立方体计算:基本概念

数据立方体有利于多维数据的联机分析处理,数据立方体预计算是终点。

1)立方体物化:完全立方体、冰山立方体、闭立方体和立方体外壳

基本方体的单元是基本单元,非基本方体的单元是聚集单元。聚集单元在一个或多给维上聚集,其中每个聚集维用单元记号的*指示。

单元之间存在祖先-后代关系的定义:在n维数据立方体中,i-D单元a=(a1,a2,…,an,measuresa)是j-D单元b=(b1,b2,…,bn,measuresb)的祖先,而b是a的后台,当且仅当i<j,且1≤k≤n,只要ak≠*,就有ak=bk

为快速OLAP,最好是预计算完全立方体,但其复杂度是维数的指数,即n维数据立方体包含2n个方体,如果在考虑每个维的概念分层,则显然大的多。完全立方体的计算,可以计算较小的立方体,包含给定维集合的一个子集,或者某些维的可能值的一个较小的值域;这样较小的立方体是给定维子集和维值的完全立方体。探索计算数据立方体的所有方体(完全物化)的可伸缩方法,必须考虑可用于计算方体的内存容量的限制、所计算的数据立方体的总体大小,以及计算所需要的时间。

数据立方体的部分物化则在存储空间和OLAP响应时间上进行折中,不是计算完全立方体,而是计算立方体的方体的一个子集,或者计算由各种方体的单元子集组成的子立方体。

当相对于存放在方体中的非零值元组的数量,方体维的基数的乘积很大时,该方体是稀疏的。如果一个立方体包含许多稀疏方体,则该立方体是稀疏的。考虑到相当多的立方体空间可能被大量具有很低度量值的单元所占据(立方体单元在多维空间中的分布常常是想当稀疏的),考虑部分物化的立方体,即冰山立方体(iceberg cube),定义最小阈值,或最小支持度阈值,或最小支持度。一种计算冰山立方体的朴素方法是首先计算完全立方体,然后剪去不满足冰山条件的单元。显然这个代价也是高昂的。最有效的当然是直接计算冰山立方体。

引入冰山立方体将减轻计算数据立方体中不重要聚集单元的负担,然而仍有大量不感兴趣的单元要计算,为系统地压缩数据立方体,需引入闭覆盖(closed coverage)概念。一单元c是闭单元(closed cell),如果不存在单元d,使得d是单元c的特殊化(后代),即d通过将c中的*值用非*值替换得到,并且d与c具有相同的度量值。闭立方体(closed cube)是一个仅由闭单元组成的数据立方体。

部分物化的另一种策略是只预计算涉及少数维(如3到5个维)的方体,这些方体形成对应的数据立方体的立方体外壳(cube cell)。这种情况下,在附加的维组合上查询需要临时计算。

2)数据立方体计算的策略

有两种基本数据结构用于存储方体,一种是关系OLAP使用关系表,另一种是多维OLAP使用多维数组。有多种有效计算数据立方体的方法,一般优化技术包括:

a.排序、散列和分组

对维属性使用排序、散列和分组操作,以便对相关元组重新定序和聚类。在立方体计算中,对共享一组相同维值的元组(或单元)进行聚集,重要的是利用排序、散列和分组操作对这样的数据进行访问和分组,以便有利于聚集的计算。这些技术可进一步扩展,进行共享排序(当使用基于排序的方法时,在多个方体之间共享排序开销),或进行共享划分(当使用基于散列的方法时,在多个方体之间共享划分开销)。

b.同时聚集和缓存中间结果

在立方体计算中,从先前计算的较低层聚集而不是从基本事实表计算较高层聚集是有效的。此外,从缓存的中间计算结果同时聚集可能导致减少开销很大的磁盘IO操作。这种技术可进一步扩展,进行平摊扫描(同时计算尽可能多的方体,分摊磁盘读)。

c.当存在多个子女方体时,由最小的子女聚集

当存在多个子女方体时,由先前计算的最小子女方体计算父母方体(即更泛化的方体)更有效。

d.使用先验剪枝方法有效地计算冰山立方体

对于数据立方体,先验性质(Apriori property)表述如下:如果给定的单元不满足最小支持度,则该单元的后代(即更特殊的单元)也不满足最小支持度。该性质可显著降低冰山立方体的计算量。如果某个单元c违反冰山立方体设定的最小支持度这个条件,则c的每

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值