1. 基本方体是数据立方体中泛化程度最低的方体。泛化程序最高的方体是顶点方体,通常用all表示。基本方体的单元是基本单元,非基本方体的单元是聚集单元。
  2. 聚集单元在一个或多个维上聚集,其中每个聚集维用单元记号中的“*”表示。如n维数据立方体,令a=(a1,a2,...,an,measures)是一个单元,取自构成数据立方体的一个方体。如{a1,a2,...,an}中恰有m个值不是“*”,则a是m维单元。
  3. 单元之间可能存在祖先-后代关系。a=(a1,a2,...,an,measuresA),b=(b1,b2,...,bn,measuresB),b可以由a的某个或某几个维上聚集产生,则b是a的祖先,即a,b除了*外,其他都相同(a1=b1,a2=b2等)。
  4. 完全立方体:即给定数据立方体的所有方体的所有单元。注意是所有方体,不只是基本方体。
  5. 完全立方体的计算复杂度是维数的指数,即N维数据立方体包含2的N次方个方体。如果考虑每个维的概念分层,那么方体的个数更多。
  6. 预计算完全立方体可能需要海量空间,常常超过内存的容量。
  7. 当相对于存放在方体中的非零值元组的数量,方体维的基数的乘机很大时,则称该方体是稀疏的,如果一个立方体包含许多稀疏方体,则称该立方体是稀疏的。
  8. 在许多情况下,相当多的立方体空间可能被大量具有很低度量值的单元所占据,这是因为立方体单元在多维空间中的分布常常是相当稀疏的。此时,仅物化其度量值大于某个最小阈值的方体单元是有用的。这种部分物化的立方体称为冰山立方体,这种最小阈值称为最小支持度阈值,或简称最小支持度。
  9. 冰山立方体将减轻数据立方体中不重要聚集单元的负担,但仍然有大量不感兴趣的单元需要计算。如,100维的数据库有2个基本单元,记作{(a1,a2,a3,...,a100):10,(a1,a2,b3,...,b100):10},其中每个单元的计数都是10,如最小支持度是10,则需计算和存储的单仍然很多。
    • 为了系统的压缩数据立方体,引入闭覆盖的概念。一个单元c是闭单元,如果不存在单元d,使d是c的特殊化(后代,即d通过将c中的“*”值用“非*”值替换得到),并且d与c具有相同的度量值。闭立方体是一个仅由闭单元组成的数据立方体。
  10. 部分物化的另一种策略是只预计算涉及少数的方体,这些方体形成对应的数据立方体的立方体外壳。在附加的维组合上的查询必须临时计算。如可以预计算n维数据立方体中具有3个或更少维的所有方体,产生大小为3的立方体外壳。但当N很大时,仍需计算大量方体。或者可以基于方体的兴趣度,选择只预计算立方体外壳的部分或片段。
  11. 数据立方体计算的一般策略:一般而言,有两种基本数据结构用于存储方体,关系OLAP(ROLAP)的实现使用关系表,而多维数组用于多维OLAP(MOLAP)。
    • 优化技术1:排序、散列和分组。应当对维属性使用排序、散列和分组操作,以便对相关元组重新定序和聚类。

      • 在立方体计算中,要对共享一组相同维值的元组(或单元)进行聚集。重要的是,利用排序、散列和分组操作对这样的数据进行访问和分组,以便有利于聚集的计算。如,为了按branch、day、item计算总销售,可以选按branch、再按day对元组或单元进行排序,然后按item名对它们分组。
      • 这些技术可以进一步扩展,进行共享排序(当使用基于排序的方法时,在多个方体之间共享排序开销),或进行共享划分(当使用基于散列的方法时,在多个方体间共享划分开销)。
    • 优化技术2:同时聚集和缓存中间结果。

      • 在立方体计算中,从先前计算的较低层聚集而不是从基本事实表计算较高层聚集是有效的。此外,从缓存的中间计算结果同时聚集可能导致减少开销很大的磁盘IO操作。如,为了按branch计算销售,可以使用由较低层方体(如按branch和day的销售)计算导出的中间结果。
      • 这种技术可以进一步扩展,进行平摊扫描(同时计尽可能多的方体,分摊磁盘读)。
    • 优化技术3:当存在多个子女方体时,由最小的子女聚集。
      • 当存在多个子女方体时,由先前计算的最小子女方体计算父母方体(即更泛化的方体)通常更有效。如,为了计算销售方体C(branch),当存在两个先前计算的方体C(branch,year)和C(branch,item)时,如果不同的商品远比不同的年份多,则使用C(branch,year)计算更有效。
    • 优化技术4:可以使用先验剪枝方法有效地计算冰山立方体。
      • 先验性质:如果给定的单元不满足最小支持度,则该单元的后代(即更特殊化的单元)也都不满足最小支持度。
      • 通常的冰山条件是单元必须满足最小支持度阈值,如最小计数或总和。在这种情况下,可以使用先验性质对该单元后代的探查进行剪枝。如方体单元C的计数小于最小支持度阈值V,则较低层方体中C的任何后代单元的计数都不可能高于V,因此可以被剪枝。
  12. 数据立方体计算方法
    • 完全立方体计算的多路数组聚集

      • 多路数组聚集方法使用多维数组作为基本数据结构,计算完全数据立方体。它是一种使用数组直接寻址的典型MOLAP方法,其中维值通过位置或对应数组位置的下标访问。因此,不能使用基于值的重新排序作为优化技术。
      • 1) 把数组划分成块。块是一个子立方体,它足够小,可以放入立方体计算时可用的内存。分块是一种把n维数组划分成小的n维块的方法,其中每个块作为一个对象存放在磁盘上。块被压缩,以避免空数组单元所导致的空间浪费。如,为了压缩稀疏数组结构,在块内搜索单元时可用“chunkID+offset”作为单元的寻址机制。这种压缩技术功能强大,可处理磁盘和内存中的稀疏立方体。
      • 2) 通过访问立体单元(即访问立方体单元的值)来计算聚集。可以优化访问单元的次序,使每个单元必须得复访问的次数最小化,从而减少内存访问开销和存储开销。技巧是使用这样一种次序,使得多个方体的聚集单元可以同时计算,避免不必要的单元再次访问。
      • 当维的基数乘积适中并且数据不是太稀疏时,MultiWay是最有效的。当维度很高或者数据非常稀疏时,内存数组变得太大,不能放在内存中,这种方法就变得不可行。
      • 使用适当的稀疏数组压缩技术和仔细的方体计算顺序,MultiWay数组立方体计算比传统的ROLAP计算快得多。与ROLAP不同,MultiWay的数据结构不需要节省空间来存放搜索码。此外,MultiWay使用直接数组寻址,比ROLAP的基于关键字的寻址搜索策略快。对于ROLAP立方体计算,不直接使用表计算立方体,而是将表转换成数组,用数组计算立方体,然后再把结果转换成表可能更快。然页,这种方法可能仅对具有相对较少维的立方体才有效,因为需要计算的方体个数随维数指数增长。
      • MultiWay从基方体开始,逐步向上到更泛化的祖先方体,它不能利用先验剪枝,因为先验剪枝需要在子女结点(即更特殊化的结点)之前计算父母结点。
    • BUC:从顶点方体向下计算冰山立方体
      • BUC是一种计算稀疏冰山立方体的算法。与MultiWay不同,BUC从顶点方体向下到基本方体构造冰山立方体。这使得BUC可以分担数据划分开销。这种处理次序也使BUC构造立方体时使用先验性质地剪枝。
      • 例,构造维A、B、C、D的冰山立方体,最小支持度计数为3.假设维A有4个不同的值a1,a2,a3,a4;B有4个不同的值b1,b2,b3,b4;C有2个不同的值C1,C2;D有2个不同的值d1,d2。如果将每个分组看成一个划分,则必须计算满足最小支持度的分组属性的每个组合。从维A的a1开始,聚集a1分区得(a1,*,*,*),若此分区不满足最小支持度,则将其及其后代全部舍去,接着考虑(a2,*,*,*);若此分区满足最小支持度,则考虑维B,(a1,b1,*,*),依此类推。
      • BUC的性能容易受维的次序和倾斜数据的影响。理想地,应当首先处理最有区分能力的维。维应当以基数递减数处理。基数越高,分区越小,因而分区越多,从页为BUC剪枝提供了更大的机会。类似地,维越均匀(即具有较小的倾斜),对剪枝越好。
      • BUC的主要贡献是分担划分开销的思想。然而,与MultiWay不同,它不在父母与子女的分组之间共享聚集计算。例如,方体AB的计算对ABC的计算并无帮助。
    • Star-Cubing:使用动态星树结构计算冰山立方体
      • Star-Cubing集成自顶向下和自底向上立方体计算,并利用多维聚集(类假于MultiWay)和类Apriori剪枝(类似于BUC)。它在一个称为星树的数据结构上操作,对该数据结构进行无损压缩,从而降低计算时间和内存需求量。
      • Star-Cubing算法在全局计算次序上使用自底向上模式;它下面有一个基于自顶向下模式的子层,利用共享维的概念。这种集成允许算法在多个维上聚集,而仍然划分父母分组并裁剪不满足冰山条件的子女分组。
      • 对于4-D数据立方体的计算,Star-Cubing方法如上图所示。如果只遵循自底向上模式(类似MultiWay),则Star-Cubing标记为“剪枝”的方体仍然被考察。Star-Cubing能够剪掉标记的方体,因为它考虑共享维。
      • ACD/A意味着方体ACD具有共享维A。这源于泛化,在以ACD为根的子树中的所有方体都包含维A,我们称这些公共维为特定子树的共享维。注:上图为一根倒立的树结构。
      • 共享维的引入有利于共享计算。由于共享维在树扩展前识别,因此可以避免以后重新计算它们。如上图,ABD/AB,ABD的扩展方体AB实际上被剪枝,因为AB实际上已经在ABD/AB中计算。
      • 如果冰山立方体度量(如count)是反单调的,则共享维允许类Apriori剪枝。也就是说,如果共享维上的聚集值不满足冰山条件,则沿该共享维向下的所有单元也不可能满足冰山条件。这样的单元和它们的所有后代都可以被剪枝。
      • 基本方体ABCD的方体树如上图所示。树的每一层代表一个维,而每个结点代表一个属性值。一条从根到树叶结点的路径代表一个元组。例如,树中结点C2具有聚集(计数)值5,表示值(a1,b1,c2,*)有5个单元。这种表示合并了公共前缀,节省内存并允许聚集内部结点上的值。利用内部结点上的聚集值,可以进行基于节享维的剪枝。例如,AB的方体树可以用来对ABD的可能单元进行剪枝。
      • 如果单个维在属性值p上的聚集不满足冰山条件,则在冰山立方体计算中识别这样的结点没有意义。这样的结点可以用“*”代替,使方体树可以进一步压缩。称属性A中的结点p是星结点,否则是非星结点。使用星结点压缩的方体树称为星树。
      • 由基本方体构造星树:一个基本方体表如下,该基本方体有5个元组和4个维。维A、B、C、D的基数分别为2、4、4、4。
        基本方体表:星归约前
        A B C D count
        a1 b1 c1 d1 1
        a1 b1 c4 d3 1
        a1 b2 c2 d2 1
        a2 b3 c3 d4 1
        a2 b4 c3 d4 1
        一维聚集
        count=1 count>=2
        A —— a1(3)、a2(2)
        B b2、b3、b4 b1(2)
        C c1、c2、c4 c3(3)
        D d1、d2、d3 d4(2)

        所有属性的一维聚集显示如上表,假定冰山条件中min_support=2。由一维聚集表可知,只有属性值a1、a2、b1、c3、d4满足冰山条件的(count>=2的列),其他值都低于阈值而成为星结点。通过压扁星结点,得到归约的基本表如下,

        压缩后的基本表:星归约后
        A B C D count
        a1 b1 * * 2
        a1 * * * 1
        a2 * c3 d4 2

        使用归约的基本表来构造方体树,因这它比较小,结果星树如下图。

      • Star-Cubing算法使用星树来计算冰山立方体。计算过程见《数据挖掘概念与技术》134页。
    • 为快速高维OLAP预计算壳片段
      • 冰山条件用来指定只计算完全立方体单元的一个子集。然而,尽管冰山立方体比对应的完全立方体小,并且需要较少的计算时间,但是它还不是最终的解。1)冰山立方体本身的计算和存储开销可能仍然很高。2)很难确定合适的冰山阈值。阈值设太低导致巨大的立方体,过高可能无法用于许多有意义的应用。3)冰山立方体不能增量地更新,任何增量更新都需要从头重新计算。
      • 一个可能的解是计算一个很薄的立方体外壳。如可以计算一个60维的数据立方体中的具有3个或更少维的所有方体,导致厚度为3的立方体外壳。然而,这种方有两个缺点:1)需要计算很多个方体,每个都有许多单元。2)不支持在4维或更多维上的OLAP;可能不支持沿3个维下钻。
      • 取代计算立方体外壳,可能只计算它的一部分或片段。尽管数据立方体可能包含很多维,但是大部分OLAP操作一次只在少数维上执行。外壳片段方法涉及两个算法:一个计算外壳片段立方体;另一个用立方体片段处理查询。外壳片段方法能够处理维度非常高的数据库,并且可以快速联机计算小的局部立方体。它利用信息检索和基于Web的信息系统中很流行的倒排索引结构。
  13. 使用数据立方体技术处理高级查询,基本数据立方体已经进一步扩充到各种复杂的数据类型和新的应用。如,用于地理数据仓库设计与实现的空间数据立方体,用于多媒体数据多维分析的多媒体立方体;RFID数据立方体处理射频(RFID)的压缩和多维分析,文本立方体和论题立方体是分别为多维文本数据库(包括结构属性和叙事文本属性)中向量空间模型和生成语言模型的应用开发的。
    • 抽样立方体:样本数据上基于OLAP的挖掘

      • 在收集数据时,常常只收集我们想要收集数据的一个子集,结果数据称为样本数据。
      • 如果试图把传统的OLAP工具用于样本数据,则将遇到两个挑战:第一,在多维意义下,样本数据往往过于稀疏。当用户在数据上下钻时,很容易钻到只有很少样本或没有样本的点。基于小样本推断对于总体回答可能产生误导:样本中的单个离群点或微小偏倚都可能显著地扭曲回答。第二,使用样本数据,统计学方法将用来提供可靠性度量(如置信度),指出关于总体,查询回答的质量。而传统的OLAP没有配备这样的工具。
      • 抽样立方体是一种存储样本数据和它们多维聚集的数据立方体结构。它支持样本数据上的OLAP。它计算置信区间,作为多维查询的质量度量。置信区间用于指示估计的可靠性,如样本数据中观众平均年龄为35岁,但35岁是也是总体数据的平均年龄的把握有多大?因此需要某种方法限定我们的估计,指导出误差的一般幅度。置信区间是一个以给定的高概率涵盖真正总体值估计的值域。置信区间总是被一个置信水平限制。例:“在95%时,实际均值变化不会超过+/-两个标准差”,置信水平是95%。置信区间的计算方法见《数据挖掘概念与技术》142页。
      • 如果置信区间很大,则可靠性就成为一个问题。影响置信区间大小的两个因素:样本数据的方差和样本大小。首先,很大的单元方差表明所选单元很差,更好的解可能是在查询单元下钻到更细节的单元时;其次,小样本可能导致大的置信区间。解决小样本问题的最好方法是获取更多数据,立方体中通常有充足的数据,这些数据不能精确地匹配查询单元,然而,可以考虑“邻近”单元中的数据,有两种方法获取这种数据,以增强查询回答的可靠性:1)方体内查询扩展考虑同一方体内的邻近单元;2)方体间查询扩展考虑查询单元的更一般版本(来自父母方体)。
        • 方体内查询扩展:通过包括与查询单元处于同一方体的邻近单元来扩大样本,新样本旨在提高回答的置信度,而不改变查询的语义。1)应该扩展哪些维:与度量值(待预测的值)不相关或弱相关的值。为了精确地度量维与立方体值的相关性,计算维值与它们聚集立方体之间的相关性,通常对数值数据使用皮尔逊相关系数,对标称数据使用X^2相关检验,尽管也可以使用其他度量如协方差。2)选择用于扩展的维后,扩展应该使用这些维中的哪些值:选择语义类似的值,使得改变最终结果的风险最小。
        • 方体间查询扩展:通过考察更一般的单元进行扩展。
    • 排序立方体:top-k查询的有效计算
      • 数据立方体不仅有助于多维查询的联机分析处理,而且有助于搜索和数据挖掘。top-k查询(或排序查询)根据用户指定的优选条件,只返回最好的K个结果作为查询的回答,而不是返回大量不加区分的结果。结果按排定的序返回,使得最好结果在顶部。通常,用户指定的优选条件由两部分组成,一个选择条件和一个排序函数。top-k查询在许多应用中很常见,如搜索web数据库、使用近似匹配的k-最近邻搜索、多媒体数据库的相似性查询。
      • OLAP需要脱机预计算,以便多维分析可以联机进行,但是临时设定的排序函数又阻完全物化。一种自然的折中是采用半脱机物化和半联机计算模式。
      • 排序立方体的一般原理是物化选择属性集上的立方体。使用排序维上基于区间的划分使得排序立方体可以有效而灵活地支持用户的临时查询。
  14. 数据立方体空间的多维数据分析
    • 预测立方体:立方体空间的预测挖掘

      • 多维数据挖掘,发现变化的维组合和变化的粒度的知识,这种挖掘又称为探索式多维数据挖掘或联机分析挖掘。
      • 预测立方体是一种立方体结构,它存储多维数据空间中的预测模型,并以OLAP方式支持预测。预测立方体是多维数据挖掘的一个范例。在数据立方体中,每个单元值都是在该单元中数据子集上计算的聚集值,而预测立方体每个单元值都是通过对建立在该单元数据子集上的预测模型求值计算的,因此代表对该数据子集行为的预测。
    • 多特征立方体:多粒度上的复杂聚集
      • 传统的数据立方体是在通常使用的维上,使用简单的度量构建。多特征立方体计算更复杂的查询,其回答依赖于变化粒度层上多个聚集的分组。
      • 多特征立方体使得用户可以灵活地定义复杂的、面向特定任务的立方体,在该立方体上可以进行多维聚集和基于OLAP的挖掘。
      • 多特征立方体的计算依赖于该立方体所使用的聚集函数的类型。聚集函数可以分为分布的、代数的和整体的。
    • 基于异常的、发现驱动的立方体空间探查
      • 一个数据立方体可能具有大量方体,且每个方体可能包含大量(聚集)单元。对用户页言,即使只是浏览立方体也成为一种负担。需开发一些工具,帮助用户智能地探查数据立方体巨大的聚集空间。
      • 异常指示符指示数据异常的预计算的度量,在所有的聚集层用来指导用户的数据分析过程。异常是一个数据立方体单元值,基于某种统计模型,它显著地不同于预期值。该模型在单元所属的所有维上考虑度量值的变化和模式。该模型考虑隐藏在数据立方体的所有分组聚集中的异常。

【数据挖掘概念与技术】学习笔记5-数据立方体技术相关推荐

  1. 数据挖掘:概念与技术 第五章-数据立方体技术

    数据立方体技术: 基本方体的单元是皆不能单元,非基本方体的单元是聚集单元 聚集单元在一个或者多个维上聚集,其中每个聚集维用单元记号中的星号指示.假设有一个n维数据立方体,如果a中恰有m个值不是星号,则 ...

  2. 【读书笔记-数据挖掘概念与技术】数据立方体技术

    基本概念: 基本单元:基本方体的单元 聚集单元:非基本方体的单元 冰山立方体:部分物化的立方体 最小支持度(最小支持度阀值):部分物化的最小阀值(说白了就是限定了一个范围) ∵冰山立方体仍有大量不感兴 ...

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

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

  4. hadoop大数据开发技术学习笔记第三天:(前序)MySQL数据库进阶

    hadoop大数据开发技术学习笔记第三天:(前序)MySQL数据库进阶 一.回顾知识 1.myschool数据库和数据表的创建 (1)创建数据库 (2)数据库模型图 (3)创建数据表grand (4) ...

  5. mysql分页概念_MySQL学习笔记之数据定义表约束,分页方法总结

    本文实例讲述了MySQL学习笔记之数据定义表约束,分页方法.分享给大家供大家参考,具体如下: 1. primary key 主键 特点:主键是用于唯一标识一条记录的约束,一张表最多只能有一个主键,不能 ...

  6. 小五思科技术学习笔记之SSH

    下面介绍一下相关概念: SSH的概念: SSH的英文全称为Secure Shell,SSH使用TCP的22号端口,其目的是要在非安全的网络上提供安全的远程登陆和其他安全的网络服务, 为什么要使用SSH ...

  7. 知识图谱技术学习笔记

    知识图谱技术学习笔记 从一开始的Google搜索,到现在的聊天机器人.大数据风控.证券投资.智能医疗.自适应教育.推荐系统,无一不跟知识图谱相关.它在技术领域的热度也在逐年上升. 本文以通俗易懂的方式 ...

  8. SpringBoot整合第三方技术学习笔记(自用)

    SpringBoot整合第三方技术学习笔记 搬运黑马视频配套笔记 KF-4.数据层解决方案 KF-4-1.SQL 回忆一下之前做SSMP整合的时候数据层解决方案涉及到了哪些技术?MySQL数据库与My ...

  9. 【计算机网络学习笔记12】交换技术(上)

    [计算机网络学习笔记12]交换技术(上) 经典局域网的交换技术 概念 以太网是由Xerox公司创建并由Xerox.intel和DEC公司联合开发的基带局域网规范,是当今现有局域网采用的最通用的通信协议 ...

最新文章

  1. qt 多个模型如何显示在表格中_Qt MOOC系列教程 第五章第四节:QML中的C++模型
  2. 清华大学《大数据系统基础A/B》课程实践项目宣讲会来了
  3. 如何重置云服务器系统
  4. 消息中间件的核心思想
  5. zabbix html使用c语言写的,zabbix 自定义LLD
  6. ceph 对接openstack mitaka
  7. js 加入debug后可以进入controller_写给前端:让后端 CRUD Boy 失业—— Nest.js CRUD 教程
  8. ElasticSearch 5学习(2)——Kibana+X-Pack介绍使用(全)
  9. 接口测试-解析har文件
  10. 经典二十四点程序算法
  11. matlab 无刷电机,无刷直流电机MATLAB仿真模型
  12. Flac无损音频怎么转换格式
  13. 由IP6K防尘和IPX9K防水组合的IP6K9K
  14. H3C路由器交换机配置 操作系统介绍
  15. Another exception was thrown: The PrimaryScrollController is currently attached to more than one Scr
  16. 2015年校园招聘12家IT公司面试体验
  17. h5中返回上一页常见的问题
  18. 如何将彩色证件照调成黑白
  19. 安装haxm时遇到的三种报错及解决措施
  20. PM的自我修养——QQ2014forAndroid客户端简要分析(二)

热门文章

  1. Nutanix的进化
  2. Java bean 复制克隆工具
  3. 怎么把做好的ps保存成图片_PS保存图片提示“无法完成请求”,这里有4种解决方法...
  4. Windows 10 build Error !include: could not find: ****StdUtils.nsh
  5. 在Win32API窗体下实现透明背景
  6. 台式计算机是移动设备吗,超台式电脑!手机成中国第一大上网终端
  7. 我是如何从电脑小白走上编程之路
  8. win7系统桌面出现两个计算机,一台电脑两个屏幕 Win7双屏一键切换
  9. PHP的介绍及应用,ajax的介绍及应用,跨域问题及jsonp解决方法
  10. Linux 文件管理-文件内容-读取工具-【cattac】连接多个文件并打印到标准输出