《中医药信息基础》讲义数据仓库与数据挖掘2009年9月秋季第一学期中国中医科学院中医药信息研究所赵东升主要内容数据仓库与数据挖掘简介数据仓库基本原理与应用数据挖掘基本原理与应用一、数据仓库与数据挖掘概述(一)数据仓库的兴起(二)数据挖掘的兴起(三)数据仓库和数据挖掘的结合(一)数据仓库的兴起1从数据库到数据仓库2从OLTP到OLAP1从数据库到数据仓库如何处理一下问题?(1)“数据太多,信息不足”(2)异构环境的数据的转换和共享(3)从进行数据处理发展为利用数据支持决策(1)数据库:用于事务处理数据库作为数据资源用于管理业务中的事务处理。它已经成为了成熟的信息基础设施。数据库中存放的数据基本上是保存当前数据,随着业务的变化随时在更新数据库中的数据。不同的管理业务需要建立不同的数据库。例如,银行中储蓄业务、信用卡业务分别要建立储蓄数据库和信用卡数据库。(2)数据仓库:用于决策分析数据仓库用于决策分析数据仓库既保存过去的数据又保存当前的数据数据仓库的数据是大量数据库的集成对数据库的操作比较明确,操作数据量少。对数据仓库操作不明确,操作数据量大(3)数据库与数据仓库对比数据库数据仓库细节的综合或提炼的在存取时准确的代表过去的数据可更新的不更新一次操作数据量小一次操作数据量大面向应用面向分析支持管理支持决策2从OLTP到OLAP(1)联机事物处理(OLTP)(2)联机分析处理(OLAP)(3)OLTP与OLAP的对比(1)联机事物处理(OLTP)联机事物处理(OnLineTransactionProcessing,OLTP)是在网络环境下的事务处理工作,以快速的响应和频繁的数据修改为特征,使用户利用数据库能够快速地处理具体的业务。OLTP应用要求多个查询并行,以便将每个查询分布到一个处理器上。OLTP的特点在于事务处理量大,但事务处理内容比较简单且重复率高。OLTP处理的数据是高度结构化的,涉及的事务比较简单,数据访问路径是已知的,至少是固定的。OLTP面对的是事务处理操作人员和低层管理人员。(2)联机分析处理(OLAP)决策分析需要对多个关系数据库共同进行大量的综合计算才能得到结果。E.F.Codd在1993年提出了多维数据库和多维分析的概念,即联机分析处理(OnLineAnalyticalProcessing,OLAP)概念。关系数据库是二维数据(平面),多维数据库是空间立体数据。OLAP的基本思想是决策者从多方面和多角度以多维的形式来观察企业的状态和了解企业的变化。(3)OLTP与OLAP的对比OLTPOLAP细节性数据综合性数据当前数据历史数据经常更新不更新,但周期性刷新一次性处理的数据量小一次处理的数据量大对响应时间要求高响应时间合理面向应用,事务驱动面向分析,分析驱动(二)数据挖掘的兴起1从机器学习到数据挖掘2数据挖掘含义3数据挖掘与OLAP的比较4数据挖掘与统计学1从机器学习到数据挖掘学习是人类具有的智能行为,主要在于获取知识。机器学习是研究使计算机模拟或实现人类的学习行为,即让计算机通过算法自动获取知识。机器学习是人工智能领域中的重要研究方向。20世纪60年代开始了机器学习的研究。(1)1980年在美国召开了第一届国际机器学习研讨会;明确了机器学习是人工智能的重要研究方向(2)1989年8月于美国底特律市召开的第一届知识发现(KDD)国际学术会议;首次提出知识发现概念(3)1995年在加拿大召开了第一届知识发现和数据挖掘(DM)国际学术会议;首次提出数据挖掘概念(4)我国于1987年召开了第一届全国机器学习研讨会。2数据挖掘含义知识发现(KDD):从数据中发现有用知识的整个过程。数据挖掘(DM):KDD过程中的一个特定步骤,它用专门算法从数据中抽取知识。如在人类数据库中挖掘知识为:(头发=黑色)∨(眼睛=黑色)→亚洲人该知识覆盖了所有亚洲人的记录。3数据挖掘与OLAP的比较OLAP:多维、多层次分析OLAP的典型应用,通过商业活动变化的查询发现的问题,经过追踪查询找出问题出现的原因,达到辅助决策的作用。数据挖掘:发现规律、预测未来数据挖掘任务在于聚类(如神经网络聚类)、分类(如决策树分类)、预测等。4数据挖掘与统计学统计学与自然、经济、社会都有紧密的关系。其法则和方法是概率论。通过对全部对象(总体)进行调查,为制定计划和决策提供依据。统计学中应用于数据挖掘的内容常用统计(均值、方差等)相关分析回归分析假设检验聚类分析判别分析主成份分析统计学与数据挖掘的比较统计学主要是对数量数据(数值)或连续值数据(如年龄、工资等),进行数值计算(如初等运算)的定量分析,得到数量信息。数据挖掘主要对离散数据(如职称、病症等)进行定性分析(覆盖、归纳等),得到规则知识。统计学与数据挖掘是有区别的。但是,它们之间是相互补充的。(三)数据仓库和数据挖掘的结合1数据仓库和数据挖掘的区别与联系2基于数据仓库的决策支持系统1数据仓库和数据挖掘的区别与联系(1)数据仓库与数据挖掘的区别(2)数据仓库与数据挖掘的关系(3)数据仓库中数据挖掘特点(1)数据仓库与数据挖掘的区别数据仓库是一种存储技术,它能适应于不同用户对不同决策需要提供所需的数据和信息。数据挖掘研究各种方法和技术,从大量的数据中挖掘出有用的信息和知识。数据挖掘的数据源可以是数据仓库,也可以是其它形式(数据文件等)(2)数据仓库与数据挖掘的关系数据仓库与数据挖掘都是数据分析和决策支持的新技术。但它们有着完全不同的辅助决策方式。在数据仓库系统的前端的分析工具中,数据挖掘是重要工具之一。它可以帮助决策用户挖掘数据仓库的数据中隐含的规律性。由于数据仓库中有大量稳定的数据,基于数据仓库的数据挖掘,是数据挖掘的重要方向之一(3)数据仓库中数据挖掘特点数据挖掘从数据仓库中挖掘更深层次的信息数据仓库为数据挖掘提出了新要求①数据挖掘需要可扩展性②数据挖掘方法需要能挖掘多维知识2基于数据仓库的决策支持系统数据仓库的决策支持功能有:(1)对当前和历史数据完成查询和报表处理(2)可以用不同方法进行“如果,将怎样(what-if)”分析(3)从综合数据到细节数据,深入追踪钻取查询,寻找问题出现原因(4)认清过去的发展趋势,并将其应用于对未来结果的分析数据仓库中有大量的综合数据,为决策者提供了综合信息。数据仓库保存有大量历史数据,通过预测模型计算可以得到预测信息。联机分析处理(OLAP)对数据仓库中的数据进行多维数据分析,即多维数据的切片、切块、旋转、钻取等,得到更深层中的信息和知识。数据挖掘(DM)技术能获取关联知识、时序知识、聚类知识、分类知识等。数据仓库(DW)、联机分析处理(OLAP)、数据挖掘(DM)等结合,形成决策支持系统。二数据仓库基本原理与应用(一)数据仓库定义和特点(二)数据字典与元数据(三)数据仓库的结构体系(四)数据仓库的数据模型(五)数据仓库的数据分析工具(六)数据仓库的开发流程(一)数据仓库的定义与特点1.数据仓库定义W.H.Inmon在《建立数据仓库》一书中,对数据仓库的定义为:(BuildingtheDataWarehouse,WilliamH.Inmon,1993)数据仓库是面向主题的、集成的、随时间变化的非易失性数据的集合,用于支持管理层的决策过程。SAS软件研究所观点:数据仓库是一种管理技术,旨在通过通畅、合理、全面的信息管理,达到有效的决策支持。2.数据仓库特点面向主题集成性非易失性(稳定性、非活性)随时间变化(1)面向主题数据仓库的面向主题与数据库的面向应用相对应。主题是在较高层次上进行数据归类的标准,每一个主题基本对应一个宏观的分析领域。例如,银行的数据仓库的主题:客户DW的客户数据来源:从银行储蓄DB、信用卡DB、贷款DB等三个DB中抽取同一客户的数据整理而成。在DW中分析客户数据,可决定是否继续给予贷款。数据进入数据仓库之前,必须经过加工与集成。对不同的数据来源进行统一数据结构和编码。统一原始数据中的所有矛盾之处,如字段的同名异义,异名同义,单位不统一,字长不一致等,将原始数据结构做一个从面向应用到面向主题的转换。(2)集成性数据仓库反映的是历史数据的内容,而不是日常事务处理所产生的操作性数据,进入数据仓库的数据是极少甚至根本不修改的。数据仓库是随时间变化的数据仓库内的数据时限在5~10年,故数据的键码包含时间项,标明数据的历史时期,这适合DSS进行时间趋势分析。而数据库只包含当前数据,即存取某一时间的正确的有效的数据。(3)非易失性数据仓库是不同时间的数据集合,要求数据仓库中的数据保存时限能够满足进行决策分析的需要,并且均要标明该数据的历史时期。(4)随时间变化(二)数据字典与元数据1数据库的数据字典2数据仓库的元数据1数据库的数据字典数据字典是数据库中各类数据描述的集合。数据项数据结构数据流数据存储处理过程2数据仓库的元数据在数据仓库中引入了“元数据”的概念,它不仅仅是数据仓库的字典,而且还是数据仓库本身信息的数据。元数据(metadata)定义为关于数据的数据(dataaboutdata),即元数据描述了数据仓库的数据和环境。数据仓库的元数据除对数据仓库中数据的描述(数据仓库字典)外,还有以下三类元数据:关于数据源的元数据关于抽取和转换的元数据关于最终用户的元数据数据仓库概念的理解数据仓库最根本的特点是相对独立的物理的存放数据,并且这些数据并不是最新的、专有的,而是来源于其他数据库,数据仓库建立在一个较全面和完善的信息应用的基础上,用于支持高层决策分析。而事务处理数据库在企业的信息环境中承担的是日常操作性的任务。到目前为止,数据仓库还是用数据库管理系统来管理其中的数据。因此,数据仓库并不是一个现成的硬件产品或软件产品,而是一种解决方案。(三)数据仓库的结构体系1数据仓库中的数据(数据仓库的结构)2数据仓库系统的结构3数据仓库运行结构1数据仓库中的数据(仓库结构)元数据高度综合数据层轻度综合数据层当前基本数据层历史数据层近期基本数据(当前详细数据,CurrentDetailData):是当前和最近时期的业务数据,是数据仓库用户最感兴趣的部分,数据量大。历史基本数据(历史详细数据,OlderDetailData):近期基本数据随时间的推移,由数据仓库的时间控制机制转为历史基本数据。轻度综合数据(LightlySummaryData):是从近期基本数据中提取出的,这层数据是按时间段选取,或者按数据属性(attributes)和内容(contents)进行综合。高度综合数据(HighlySummaryData):这一层的数据是在轻度综合数据基础上的再一次综合,是一种准决策数据。2数据仓库系统的结构数据仓库系统由数据仓库(DW)、仓库管理和分析工具三部分组成。3数据仓库的运行结构数据仓库应用是一个典型的客户/服务器(C/S)结构形式:客户端所做的工作:客户交互、格式化查询、结果显示、报表生成等。服务器端完成各种辅助决策的SQL查询、复杂的计算和各类综合功能等。客户端数据仓库服务器客户端OLAP服务器数据仓库服务器OLAP服务器将加强和规范化决策支持的服务工作,集中和简化了原客户端和数据仓库服务器的部分工作,降低了系统数据传输量。这种结构形式工作效率更高。OLAP的三层C/S结构(四)数据仓库的数据模型1数据概念模型2数据组织(存储)方式3数据仓库建模1.数据概念模型数据仓库一般采用数据的多维模型在多维数据模型中,一部分数据是数字测量值,比如销售量,它们是依赖于一组“维”的,这些维提供了测量值的上下文关系,比如销售量与城市、产品名称和销售时间有关,城市、产品名称和销售时间这些相关的维唯一确定了销售量这个测量值。商品果汁牛奶啤酒可乐咖啡12345日期城市北京天津上海商品|城市|日期维就是相同类数据的集合,商店、时间和产品都是维。各个商店的集合是一维,时间的集合是一维,商品的集合是一维。每一