BI构架及相关技术简介(下)

849阅读 0评论2012-07-06 linux_kaige
分类:

  3)数据分析:OLAP和数据挖掘

  OLAP与数据挖掘是一个有机的整体,在OLAP中必定要针对不同的主题数据仓库采用相应的数据挖掘算法来进行数据分析。如果把数据仓库对BI系统的作用比作厨师的食材,那么,OLAP和数据挖掘则是厨具。

  联机分析处理(OLAP)的概念最早是由关系数据库之父E.F.Codd于1993年提出的,其目的是为了让管理者灵活地对海量数据进行浏览分析。当时,Codd认为联机事务处理(OLTP)已不能满足终端用户对数据库查询分析的需要,SQL对大数据库进行的简单查询也不能满足用户分析的需求。用户的决策分析需要对关系数据库进行大量计算才能得到结果,而查询的结果并不能满足决策者提出的需求。因此Codd提出了多维数据库和多维分析的概念,即OLAP。Codd提出OLAP的12条准则来描述OLAP系统:
  准则1 OLAP模型必须提供多维概念视图
  准则2 透明性准则
  准则3 存取能力推测
  准则4 稳定的报表能力
  准则5 客户/服务器体系结构
  准则6 维的等同性准则
  准则7 动态的稀疏矩阵处理准则
  准则8 多用户支持能力准则
  准则9 非受限的跨维操作
  准则10 直观的数据操纵
  准则11 灵活的报表生成
  准则12 不受限的维与聚集层次

  和传统的联机事务处理(OLTP)相比,两者的区别很大,具体情况如下表:

   OLTP OLAP 
 用户

操作人员,低层管理人员 

决策人员,高级管理人员 

功能 

日常操作处理

分析决策 

 DB设计

面向应用 

面向主题 

 数据

当前的, 最新的细节的,二维的分立的 

历史的, 聚集的, 多维的集成的, 统一的 

 存取

读/写数十条记录

读上百万条记录 

 工作单位

简单的事务 

复杂的查询 

 用户数

上千个

上百个 

 DB大小

100MB ~ GB

100GB ~ TB 

  利用多维的概念,OLAP提供了切片、切块、下钻、上卷和旋转等多维度分析与跨维度分析功能。相对于普通的静态报表,OLAP更能满足决策者和分析人员对数据仓库数据的分析。OLAP系统架构主要分为基于关系数据库的ROLAP(Relational OLAP)、基于多维数据库的MOLAP(Multidimensional OLAP)、基于混合数据组织的HOLAP(Hybrid OLAP)三种。前两种方式比较常见。ROLAP表示基于关系数据库的OLAP实现。它以关系数据库为核心,以关系型结构进行多维数据的表示和存储。ROLAP将多维数据库的多维结构划分为两类表:一类是事实表,用来存储数据和维关键字;另一类是维表,即对每个维至少使用一个表来存放维的层次、成员类别等维的描述信息。MOLAP表示基于多维数据组织的OLAP实现。它以多维数据组织方式为核心,使用多维数组存储数据。MOLAP查询方式采用索引搜索与直接寻址相结合的方式,比ROLAP的表索引搜索和表连接方式速度要快得多。
  
  数据挖掘(Data Mining,DM)是指从大量不完全的、有噪声的、模糊的、随机的数据中,提取隐含在其中的、有用的信息和知识的过程。其表现形式为概念(Concepts)、规则(Rules)、模式(Patterns)等形式。

  从商业层来看,我个人认为,在商业智能系统中进行数据挖掘的目标大致可分为两类:
  ①从累积的业务数据中发掘出管理层事先不知道的、但又是潜在有用的信息,为其创造新的商业机会。商业销售已有大量这方面的运用实例,BI业内流传已久的“啤酒和尿布”,以及我在本文开头所举的例子就属此类。
  ②从累积的业务数据中寻求最优的资源规划方案,降低成本,从而提高利润。让我们先从大家可能都想过一个例子谈起——邮递员送信,假设我是某个城市的邮递员,一次要送出多封信件,收信人的住址分布在城市的各个街道上。那么该如何设计线路,来尽可能的减少行程呢?商业活动中出现大量类似的例子,当可供分析的数据不多时,我们可以用纸笔来手工计算,找到最优解。但是,如果原始数据量极为庞大的话,我们将不得不求助于计算机了。

  目前业内已有很多成熟的数据挖掘方法论,为实际应用提供了理想的指导模型。CRISP-DM(Cross-Industry Standard Process for Data Mining)就是公认的、较有影响的方法论之一。CRISP-DM强调,DM不单是数据的组织或者呈现,也不仅是数据分析和统计建模,而是一个从理解业务需求、寻求解决方案到接受实践检验的完整过程。CRISP-DM将整个挖掘过程分为以下六个阶段:商业理解(Business Understanding),数据理解(Data Understanding),数据准备(Data Preparation),建模(Modeling),评估(Evaluation)和发布(Deployment)。其框架图如下:

  商业理解就是对企业运作、业务流程和行业背景的了解;数据理解是对现有企业应用系统的了解;数据准备就是从企业大量数据中取出一个与要探索问题相关的样板数据子集。建模是根据对业务问题的理解,在数据准备的基础上,选择一种更为实用的挖掘模型,形成挖掘的结论。评估就是在实际中检验挖掘的结论,如果达到了预期的效果,就可将结论发布。

  在实际项目中,一般的事务处理系统甚至一些只提供报表分析功能的简单商业智能系统,建成以后只需要少量的工程维护工作,而采用数据挖掘技术的商业智能系统往往有很大不同。因为数据挖掘是一个商业理解、数据理解、建模、评估等一系列多次反复、多次调整、不断修订完善的过程,并且模型的应用也不是一成不变的,在适当的时候需要更新和重建。所以一般的商业智能项目并不追求一次性工程建设,更倡导的是一种与企业业务紧密联系能够提升企业竞争力的咨询服务,而且熟悉业务和分析方法的分析人员在商业智能系统的应用中起着至关重要的作用。

  从技术层来看,数据挖掘技术可分为描述型数据挖掘和预测型数据挖掘两种。描述型数据挖掘包括数据总结、聚类及关联分析等。预测型数据挖掘包括分类、回归及时间序列分析等。
  1、数据总结:继承于数据分析中的统计分析。数据总结目的是对数据进行浓缩,给出它的紧凑描述。传统统计方法如求和值、平均值、方差值等都是有效方法。另外还可以用直方图、饼状图等图形方式表示这些值。广义上讲,多维分析也可以归入这一类。
  2、聚类:是把整个数据库分成不同的群组。它的目的是使群与群之间差别很明显,而同一个群之间的数据尽量相似。这种方法通常用于客户细分。在开始细分之前不知道要把用户分成几类,因此通过聚类分析可以找出客户特性相似的群体,如客户消费特性相似或年龄特性相似等。在此基础上可以制定一些针对不同客户群体的营销方案。
  3、关联分析:是寻找数据库中值的相关性。两种常用的技术是关联规则和序列模式。关联规则是寻找在同一个事件中出现的不同项的相关性;序列模式与此类似,寻找的是事件之间时间上的相关性,如对股票涨跌的分析等。
  4、分类:目的是构造一个分类函数或分类模型(也常常称作分类器),该模型能把数据库中的数据项映射到给定类别中的某一个。要构造分类器,需要有一个训练样本数据集作为输入。训练集由一组数据库记录或元组构成,每个元组是一个由有关字段(又称属性或特征)值组成的特征向量,此外,训练样本还有一个类别标记。一个具体样本的形式可表示为:( v1, v2, ...,vn;c ),其中vi表示字段值,c表示类别。
  5、回归:是通过具有已知值的变量来预测其它变量的值。一般情况下,回归采用的是线性回归、非线性回归这样的标准统计技术。一般同一个模型既可用于回归也可用于分类。常见的算法有逻辑回归、决策树、神经网络等。
  6、时间序列:时间序列是用变量过去的值来预测未来的值。

  早期由于数据挖掘的理论和相关技术尚不成熟,软件厂商并未为其数据库产品开发相应的数据挖掘工具,但当时已有少部分大型企业有这方面的技术需求。所以,市场上出现了一些独立的数据挖掘工具,如SAS公司的Enterprise Miner、IBM公司的Intelligent Miner、SPSS公司的Clementine、Anomaly Detect,、Sequence Analysis和 Deviation Analysis(感谢怡红公子补充)。现在,随着相关技术的日益成熟,越来越多的企业提出这样的技术需求,软件厂商也意识到其中的潜力,估计在未来的3~5年内,将会出现集成在数据仓库中完备的数据挖掘工具。

  最后要提醒大家的是,尽管商业智能应用的前景光明,但是BI业内还没有形成一个统一的标准。而且,由于BI系统的实施是一个长期的、迭代的过程,企业在这个过程中肯定会出现短期利润倒退的情况,这也在很大程度上打击了企业的信心和实践热情。所以,目前绝大多数企业都对此持观望态度,或只在有限的部门内局部实施BI。我个人认为,企业这样做也是相当明智的。但尽管是局部实施,机会还是有的。作为技术人员,可以争取在相关技术的研发上取得突破;作为软件厂商的话,则应从现有老客户和现有产品的技术升级中寻求机会。


[参考资料]
一、参考书目
1、W.H. Inmon, 《Building the Data Warehouse:Third Edition》(数据仓库)
2、David Marco, 《Building and managing the Meta Data Repository A Full lifecycle Guide》(元数据仓储的构建于管理)
3、David Hand,Heikki Mannila,Padhraic Smyth, 《Rrinciples of Data Mining》(数据挖掘原理)
4、Olivia Parr Rud, 《Data Mining Cookbook:Modeling Data for marketing,Risk,and Custormer Relationship Management》(数据挖掘实践)

二、参考文献
1、王茁, “商务智能是什么、不是什么?”
2、杨林, “正确理解商业智能”
3、吴斌博士, “商业智能的技术与实践”
4、Unknown, many smart technical articles searched by google

三、资料来源
1、Bookshop
2、Technical Magazine
3、
4、
5、
6、

上一篇:ETL的思考
下一篇:数据仓库建模与ETL实践技巧