3.2 数据仓库的建立
3.2.1数据仓库数据集
一般说来,一个数据集市是按照某一特定部门的决策支持需求而组织起来的、针对一组主题的应用系统。例如,财务部拥有自己的数据集市,用来进行财务方面的报表和分析,市场推广部、销售部等也拥有各自专用的数据集市,用来为本部门的决策支持提供辅助手段。数据集市大都采用多维数据库技术,这种技术对数据的分析而言也许是最优的,但肯定不适合于大量数据的存储,因为多维数据库的数据冗余度很高。为了提高速度,对数据集市中的数据一般都建立大量的索引。换言之,数据集市中往往靠对数据的预处理来换取运行时的高速度,当业务部门提出新的问题时,如果不在原来设计的范围内,则需要数据库管理员对数据库作许多调整和优化处理。 3.2.2建立维表
维是分析问题的角度,度量是要分析的问题。
多维视图:用包含度量和维的表的数据结构可以创建一个多维视图,用试题和维创建的多维模型称为星型模型,星型模型生成的主要表格被称为事实表。事实表的属性值几乎都有连续值。事实表是规范化的。与维表不同不是随时间的推移变化,而是不断变大。
维表:星型模型也具有非常小的表,用来装载描述信息。维表是逆规范化的。如果把维表置于第二范式中,这样的表称为雪花模型。
维表包括主键,通常对应事实表的外部键。如果维表的主键不在实事表中,这个主键字便被称作退化的维。
维表的分类:(1)结构维:表示在层内组成中的信息量度。如客户地理位置维、时间维、产品维等。结构维包含一组相关的成员,组成结构维的属性之间有一对多的关系。加法度量:可以相加的属性值(2)信息维:计算字段如利润额、平均值等(每个商品的利润)。(3) 分区维:以同一结构生成两个或多个维。如:按时间分区,预测额度、实际额度等。(4)分类维:通过对一个维的属性值分组而创建。如果工资收入500-2000;200-4000;5000-7000;等
创建维表:有3种方法:星型模型、雪花模型和星暴模型。星暴模型含有两张以上的事实表。基本有些充当维事实表。
星型模型:所有信息维都放在同一个维表中。维表信息包含一个唯一的标识符(ID)和通过这个维表建立的所有维所需的属性。星型模型由小的维表与大的事实表组成,多称为“小表和大表”。事实表一般是标准表。
雪花模型:把信息分为3种标准格式。产品表、类别表、子类别表。把这些信息放到一起需要一定数据的连接。雪花模型比星型模型效率低,占空间少。所有的事实表都有一个与之相关的时间维表。
4.OLAP操作
联机分析处理(OLAP)系统是数据仓库系统最主要的应用,专门设计用于支持复杂的分析操作,侧重对决策人员和高层管理人员的决策支持,可以根据分析人员的要求快速、灵活地进行大数据量的复杂查询处理,并且以一种直观而易懂的形式将查询结果提供给决策人员,以便他们准确掌握企业(公司)的经营状况,了解对象的需求,制定正确的方案。OLAP展现在用户面前的是一幅幅多维视图。
维(Dimension):是人们观察数据的特定角度,是考虑问题时的一类属性,
属性集合构成一个维(时间维、地理维等)。
维的层次(Level):人们观察数据的某个特定角度(即某个维)还可以存在细节程度不同的各个描述方面(时间维:日期、月份、季度、年)。
维的成员(Member):维的一个取值,是数据项在某维中位置的描述。(“某年某月某日”是在时间维上位置的描述)。 度量(Measure):多维数组的取值。
OLAP的基本多维分析操作有钻取(Drill-up和Drill-down)、切片(Slice)和切块(Dice)、以及旋转(Pivot)等。
钻取:是改变维的层次,变换分析的粒度。它包括向下钻取(Drill-down)和向上钻取(Drill-up)/上卷(Roll-up)。Drill-up是在某一维上将低层次的细节数据概括到高层次的汇总数据,或者减少维数;而Drill-down则相反,它从汇总数据深入到细节数据进行观察或增加新维。
切片和切块:是在一部分维上选定值后,关心度量数据在剩余维上的分布。如果剩余的维只有两个,则是切片;如果有三个或以上,则是切块。
旋转:是变换维的方向,即在表格中重新安排维的放置(例如行列互换)
5.数据预处理
5.1描述性数据汇总
对于许多数据预处理任务,希望知道关于数据的中心趋势和离中趋势特征。中心趋势度量包括均值(mean)、中位数(median)、众数(mode)和中列数(midrange),而数据离中趋势度量包括四分位数(quartiles)、四分位数极差(interquartile range, IQR)和方差(variance)。这些描述性统计量有助于理解数据的分布。 5.2数据清理与变换
数据清理例程通过填写缺失的值、光滑噪声数据、识别或删除离群点并解决不一致性来“清理”数据。主要是达到如下目标:格式标准化,异常数据清除,错误纠正,重复数据的清除。
通过平滑聚集,数据概化,规范化等方式将数据转换成适用于数据挖掘的形式。
6.数据挖掘操作
个人的两个作业:
6.1关联规则挖掘
1) 需求分析
关联规则挖掘是数据挖掘和知识发现中的一个重要问题,自提出以来得到了广泛的研究.目前关联规则挖掘算法可以分为广度优先算法和深度优先算法两大类,每类都有经典高效的算法提出.但是,这些算法大都是从其自身的角度来描述的,缺乏系统的分类和比较.文章从关联规则挖掘的形式化定义出发,给出频集挖掘的解空间,对两大类算法中的几种经典算法进行了概述,并分析了它们的优缺点. 2)概要设计
关联规则挖掘过程主要包含两个阶段:第一阶段必须先从资料集合中找出所
有的高频项目组(Frequent Itemsets),第二阶段再由这些高频项目组中产生关联规则(Association Rules)。
关联规则挖掘的第一阶段必须从chaoshi集合中,找出所有高频项目组。高频的意思是指某一项目组出现的频率相对于所有记录而言,必须达到某一水平。一项目组出现的频率称为支持度,以一个包含A与B两个项目的2-itemset为例,我们可以经由公式求得包含{A,B}项目组的支持度,若支持度大于等于所设定的最小支持度(Minimum Support)门槛值时,则{A,B}称为高频项目组。一个满足最小支持度的k-itemset,则称为高频k-项目组(Frequent k-itemset),一般表示为Large k或Frequent k。算法并从Large k的项目组中再产生Large k+1,直到无法再找到更长的高频项目组为止。 3)详细设计
在准备用于关联规则模型的数据时,应理解特定算法的要求,其中包括所需要的数据量以及使用数据的方式。关联规则模型的要求如下:
? 单个key列每个模型都必须包含一个数值或文本列,用于唯一标识每个记录。不允许复合键。
? 单个可预测列一个关联模型只能有一个可预测列。通常它是嵌套表的键列,例如列出已购买的产品的字段。这些值必须是离散或离散化值。
? 输入列输入列必须为离散列。关联模型的输入数据通常包含在两个表中。例如,一个表可能包含客户信息,而另一个表可能包含客户购物情况。您可以使用嵌套表将该数据输入到模型中。有关嵌套表的详细信息,请参阅嵌套表(Analysis Services – 数据挖掘)。 支持”(有时候将其称为“频率”)表示包含目标项目或项目组合的事例的数目。只有至少具有指定支持量的项目才可包含在模型中。
“常用项集”指满足以下条件的项目集合:该项目集合所具有的支持超过由 MINIMUM_SUPPORT 参数定义的阈值。例如,如果项集为 {A,B,C}而且每一个MINIMUM_SUPPORT 值为 10,则每个单个项目 A、B 和 C 必须均可在要包括在模型中的至少 10 个事例中找到,而且项目 {A,B,C} 的组合也必须可在至少 10 个事例中找到。
注意 通过指定项集的最大长度(这里长度指项目数目),还可控制挖掘模型中项集的数目。
默认情况下,对任何特定项目或项集的支持均表示包含该项目或项集的事例的计数。不过,还可以将 MINIMUM_SUPPORT 表示为占数据集的总事例的百分比,方法是键入数字作为小于 1 的小数值。例如,如果指定 MINIMUM_SUPPORT 值为 0.03,就意味着至少有 3% 的数据集总事例必须包含该项目或项集以包含在模型中。应当试用模型,以确定是使用计数还是百分比更有意义。
恰恰相反,规则的阈值不用计数或百分比表示,而用概率(有时称为“置信度”)表示。例如,如果项集 {A,B,C} 和项集 {A,B,D} 均出现在 50 个事例中,而项集 {A,B} 出现在另外 50 个事例中,则很明显,{A,B} 不是 {C} 的强预测因子。因此,为了将某个特定结果对所有已知结果加权,Analysis Services 通过以下方法来计算单个规则(例如 If {A,B} Then {C})的概率:用对项集 {A,B,C}的支持除以对所有相关项集的支持。
可以通过设置 MINIMUM_PROBABILITY 的值来限制模型生成的规则的数目。 Analysis Services 为创建的每个规则输出一个指示其“重要性”(也称为“提升”)的分数。项集和规则的提升重要性的计算方法不同。
项集重要性的计算方法为项集概率除以项集中各个项的合成概率。例如,如果项集包含 {A,B},Analysis Services 首先计算包含此 A 和 B 组合的所有事例的数目,并用此事例数除以事例总数,然后将得到的概率规范化。 规则重要性的计算方法为:在已知规则左侧的情况下,求规则右侧的对数可能性值。例如,如果规则为 If {A} Then {B},则 Analysis Services 计算具有 A 和 B 的事例与具有 B 但不具有 A 的事例之比,然后使用对数刻度将该比率规范化。 功能选择
Microsoft 关联规则算法不执行任何一种自动功能选择,而是提供参数来控制其自身使用的数据。上述情况可能包括对每个项集大小的限制,或对将项集添加到模型中所需的最大和最小支持的设置。
? 若要筛选出太常见因而不受关注的项目和事件,请减小 MAXIMUM_SUPPORT 的值以将常见项集从模型中删除。
? 若要筛选出罕见的项目和项集,请增大 MINIMUM_SUPPORT 的值。 ? 若要筛选出规则,请增大 MINIMUM_PROBABILITY 的值。 ? 主要步骤: (1)定义多维数据集
在该任务中,将使用多维数据集向导来定义一个初始 Analysis Services 多维数据
集
。