首页 理论教育 数据仓库和数据挖掘技术

数据仓库和数据挖掘技术

时间:2022-03-19 理论教育 版权反馈
【摘要】:数据仓库关注的是决策者的数据建模与分析,而不针对日常操作和事务的处理。综上所述,数据仓库是一种语义上一致的数据存储,它充当决策支持数据模型的物理实现,并存放企业战略决策所需信息。数据仓库的真正关键是数据的存储和管理。其中数据分析工具主要针对OLAP服务器,报表工具、数据挖掘工具主要针对数据仓库。目前数据仓库已应用于全部常见的行业,包括政府各部门,医院和卫生部门,以及像航天局这样的科研机构。

(一)数据仓库

1.定义 数据仓库之父William H·Inmon在1991年出版的《Building the Data Warehouse》一书中所提出的定义被广泛接受——数据仓库(data warehouse)是一个面向主题的(subject oriented)、集成的(integrated)、相对稳定的(non-volatile)、反映历史变化(time variant)的数据集合,用于支持管理决策(decision making support)。

数据仓库是一个过程而不是一个项目;数据仓库是一个环境,而不是一件产品。数据仓库提供用户用于决策支持的当前和历史数据,这些数据在传统的操作型数据库中很难或不能得到。数据仓库技术是为了有效地把操作型数据集成到统一的环境中以提供决策型数据访问的各种技术和模块的总称。所做的一切都是为了让用户更快更方便地查询所需要的信息,提供决策支持。

2.数据仓库的特点

(1)面向主题(subject oriented)的数据集合:数据仓库通常围绕一些主题,如“产品”“销售商”“消费者”等来进行组织。数据仓库关注的是决策者的数据建模与分析,而不针对日常操作和事务的处理。因此,数据仓库提供了特定主题的简明视图,排除了对于决策无用的数据。

(2)集成(integrated)的数据集合:数据仓库通常是结合多个异种数据源构成的,异种数据源可能包括关系数据库、面向对象数据库、文本数据库、Web数据库、一般文件等。

(3)时变(time variant)的数据集合:数据存储从历史的角度提供信息,数据仓库中包含时间元素,它所提供的信息总是与时间相关联的。数掘仓库中存储的是一个时间段的数据,而不仅仅是某一个时刻的数据。

(4)非易失(nonvolatile)的数据集合:数据仓库总是与操作环境下的实时应用数据物理地分离存放,因此不需要事务处理、恢复和并发控制机制。数据仓库里的数据通常只需要2种操作:初始化载入和数据访问。因此,其数据相对稳定,极少或根本不更新。

综上所述,数据仓库是一种语义上一致的数据存储,它充当决策支持数据模型的物理实现,并存放企业战略决策所需信息。数据仓库也常常被视为一种体系结构,通过将异种数据源中的数据集成在一起而构成,支持结构化和专门的查询、分析报告和决策制定。

3.数据仓库的体系结构

(1)数据源:是数据仓库系统的基础,是整个系统的数据源泉。通常包括企业内部信息和外部信息。内部信息包括存放于RDBMS中的各种业务处理数据和各类文档数据。外部信息包括各类法律法规、市场信息和竞争对手的信息等。

(2)数据的存储与管理:是整个数据仓库系统的核心。数据仓库的真正关键是数据的存储和管理。数据仓库的组织管理方式决定了它有别于传统数据库,同时也决定了其对外部数据的表现形式。要决定采用什么产品和技术来建立数据仓库的核心,则需要从数据仓库的技术特点着手分析。针对现有各业务系统的数据,进行抽取、清理,并有效集成,按照主题进行组织。数据仓库按照数据的覆盖范围可以分为企业级数据仓库和部门级数据仓库(通常称为数据集市)。

(3)OLAP(联机分析处理)服务器:对分析需要的数据进行有效集成,按多维模型予以组织,以便进行多角度、多层次的分析,并发现趋势。其具体实现可以分为ROLAP(关系型在线分析处理)、MOLAP(多维在线分析处理)和HOLAP(混合型线上分析处理)。ROLAP基本数据和聚合数据均存放在RDBMS之中;MOLAP基本数据和聚合数据均存放于多维数据库中;HOLAP基本数据存放于RDBMS之中,聚合数据存放于多维数据库中。

(4)前端工具:主要包括各种报表工具、查询工具、数据分析工具、数据挖掘工具以数据挖掘及各种基于数据仓库或数据集市的应用开发工具。其中数据分析工具主要针对OLAP服务器,报表工具、数据挖掘工具主要针对数据仓库。

4.数据仓库的分类 数据仓库的类型根据数据仓库所管理的数据类型和它们所解决的企业问题范围,一般可将数据仓库分为下列3种类型:企业数据仓库(EDW)、操作型数据库(ODS)和数据市集(DataMart)。

企业数据仓库为通用数据仓库,它既含有大量详细的数据,也含有大量累赘的或聚集的数据,这些数据具有不易改变性和面向历史性。此种数据仓库被用来进行涵盖多种企业领域上的战略或战术上的决策。

操作型数据库既可以被用来针对工作数据做决策支持,又可用做将数据加载到数据仓库时的过渡区域。与EDW相比较,ODS有下列特点:ODS是面向主题和面向综合的;ODS是易变的;ODS仅仅含有目前的、详细的数据,不含有累计的、历史性的数据。

数据市集是数据仓库的一种具体化,它可以包含轻度累计、历史的部门数据,适合特定企业中某个部门的需要。几组数据市集可以组成1个EDW。

随着数据仓库发展的需求,软件工具升级相当快,新产品也层出不穷。为了便于追踪其技术发展和更好地选择相关的工具,数据仓库的构造者应该广泛地收集这方面的文件和数据,以便做出最佳的选择。

5.数据仓库的应用 数据仓库应用的兴起实际上是数据管理的一种回归,数据仓库的概念一经出现,就首先被应用于金融、电信、保险等主要传统数据处理密集型行业。国外许多大型的数据仓库在1996-1997年建立。那么,什么样的行业最需要和可能建立数据仓库呢?有2个基本条件:第一,该行业有较为成熟的联机事务处理系统,它为数据仓库提供客观条件;第二,该行业面临市场竞争的压力,它为数据仓库的建立提供外在的动力。目前数据仓库已应用于全部常见的行业,包括政府各部门,医院和卫生部门,以及像航天局这样的科研机构。

数据仓库在企业建设之处分为3种驱动情况,都由企业本身情况而定。

(1)数据驱动:一般是IT部门比较强势,由IT部门组织找集成商和厂商一起应用实施,现建行业规范的数据仓库。该情况要成功,多出于信息化成熟的行业,如电信、银行等。因为非成熟行业,由于其数据质量糟糕、需求不明确、分析方向恍惚等多种原因,会造成大量分析报表和信息不是用户想要的,可能导致被全盘否定。

(2)业务驱动:一般是企业业务部门自己去找集成商和内部IT合作,建设数据集市,满足他们自己的需求,见效快,但没企业和行业规范,容易在后来重做,重复投资,但见效快,投资回报率高。

(3)企业高层驱动:一般是在企业建设过BI,但都有或多或少的失败经验后,高层亲自出动做出战略方向。那就是数据仓库和业务需求的满足两者都要做。该方向适合用混合架构,但对架构规划、可移植的管理机制和流程要求很高。

(二)数据挖掘技术

1.概述 数据挖掘(data mining,DM)就是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程。

数据挖掘的过程由以下6个步骤组成。

(1)问题理解:这一步的重点是和领域专家一起确定问题,建立项目目标,并学习问题的解决方案。其中项目目标要转化为数据挖掘目标,以便于选择合适的数据挖掘工具。

(2)数据理解:首先要收集样本数据,确定数据的格式与数量。然后从完整性、冗余性、缺失值等方面进一步核实这些数据是否满足数据挖掘的要求。

(3)数据准备:这是关系到数据挖掘能否成功的关键步骤。它包括数据抽样,进行相关性和重要性测试以及数据清洗例如核实数据记录完整性以及噪声校正等过程。经过清洗的数据再进一步接受属性选择、降维、离散化等处理。

(4)数据挖掘:这是数据挖掘中又一关键步骤,在这一步中要选择合适的数据挖掘算法和工具,建立模型,并用测试程序对模型进行检验。

(5)知识评价:理解数据挖掘的结果,并看其是否创新有用即满足挖掘目标。整个挖掘过程可以重复,直到得到得到满意的结果。

(6)应用知识:它包括规划将发现的知识应用于何处以及如何应用,产生一个执行知识应用的计划和整个项目的最终报告。

上述步骤(1)至步骤(5)的过程可以不断循环反复,以使得对挖掘出的知识不断求精和深化,最终达到用户满意的效果。

2.挖掘技术 选择合适的数据挖掘技术是数据挖掘成功的关键。对于实现不同的功能往往要选择不同的数据挖掘技术,甚至要融合多种技术。以下介绍几种常用的技术。

(1)关联规则发现技术:它可分为简单关联、时序关联、因果关联。广泛应用于购物篮事务数据分析,目的是找出数据库中隐藏的关联。最早的应用是售货管理中,形式如同购买面包和黄油的顾客中,90%的顾客同时也购买了牛奶。

(2)决策树技术:决策树技术是通过持续不断地将一个大记录集分裂成一系列小的记录子集实现的。分裂的目标是为了得到与目标变量相关的具有更高同质性的记录子集。国际上最有影响和最早的决策树方法是由Quinlan研制的ID3方法。后人又发展了各种决策树,如IBLE方法使识别率提高了10%。

(3)人工神经网络技术:仿照生理神经网络结构的非线性预测模型,通过学习进行模式别。它优越的滤除噪声和进行预测的性能使它受到广泛应用。

(4)模糊论技术:这是一种基于模糊逻辑学即处理近似推理的多值逻辑学的技术。该技术利用模糊理论,对实际问题进行模糊判断、模糊决策、模糊模式识别、模糊簇集分析。系统的复杂性越高,精确能力就越低,模糊性就越强。该技术的难题是,在模糊系统中,模糊算子不能预先确定。

(5)遗传算法技术:该技术基于生物进化理论,并采用遗传、交叉、变异以及自然选择等设计方法。这是一种全程搜索启发式算法技术。

3.数据挖掘工具 数据挖掘工具可以分为:通用的数据挖掘工具和特定领域的数据挖掘工具。通用的数据挖掘工具不区分具体数据的含义,可以进行多种模式的挖掘,采用通用的挖掘算法,处理常见的数据类型,挖掘什么、用什么来挖掘都由用户根据自己的应用来选择。例如SPSS Clementine、SAS Enterprise Miner、SGI MineSet、IBM公司Almaden研究中心开发的QUEST系统等。特定领域的数据挖掘工具是针对某个特定领域的问题提供解决方案,其针对性比较强,往往采用一些特殊的算法,可以处理特殊的数据,实现特殊的目的。比如IBM公司研发的AdvanceScout,帮助教练优化NBA战术组合;加州理工学院喷气推进实验室与天文家合作开发的SKICAT系统,帮助科学家发现遥远的类星体;芬兰赫尔辛基大学计算机科学系研发的TASA,帮助预测网络通信中的警报等。

目前由于数据挖掘的应用逐渐推广到各领域,而通用数据挖掘工具在对特定领域的应用不够深入,且存在局限性,因此开发针对特定领域的数据挖掘工具成为一种趋势。

面对众多的数据挖掘工具,我们要全方位考虑多方面的因素加以选择。主要从数据挖掘的功能和方法、数据挖掘工具的可伸缩性、操作的简易性、数据挖掘工具的可视化、数据挖掘工具的开放性这5个方面再结合实际情况进行综合考虑 。但是对于不同领域的专业数据挖掘工具有不同的具体评价准则,因此,学者们也越来越关注对特定领域的数据挖掘工具的评价研究。

4.数据挖掘的应用 数据挖掘系统在社会生活的许多方面有着广泛的应用,这里主要介绍一下数据挖掘系统在商业、互联网、科学研究以及医疗领域方面的应用。

(1)商业应用:电子商务应该是数据挖掘应用较早的领域。数据挖掘技术发展到今天,在商业中应用领域主要有市场营销、金融、银行、制造和通信等。目前,数据挖掘在零售、金融和通信领域的应用比较成熟,如在零售业中的顾客保持力分析、促销的有效性分析,在金融行业中的贷款偿还预测、客户信用政策分析等。随着人们对数据挖掘技术的不断深入研究,其在商业领域的应用也将更全面、更深入。

(2)Web挖掘:随着Internet的迅猛发展,今天它已成为各行各业人们交流思想、获取信息的便利手段。但是这些信息缺乏结构化、组织的规整性,随意地散布在因特网的各个角落,这已成为这座世界性图书馆的一大遗憾。而今天因特网的规模在急剧地扩大,其上的信息量也在爆炸般地增长,这时人们若小有意识地去寻求弥补该缺憾的有效途径,在小远的将来人们将迷途于信息的汪洋中。数据挖掘在Internet上的应用包括在搜索引擎上对文档进行自动分类、帮助寻找用户感兴趣的新闻以及利用数据挖掘设计1个电子新闻过滤系统。系统利用文本学习建立起该用户的趋向模型,当用户进入1份电子报纸的网页时,该系统就会根据学习所得的模型对其中的每一篇文章与用户的兴趣的接近程度进行打分排序,使用户最先看到的是他最感兴趣的新闻。

(3)科学研究:数据挖掘在科学研究方面有着广泛的应用,科研工作者利用数据挖掘技术来促进、提高科研工作。数据挖掘在科学研究中的应用主要有生物研究、生物医学研究、气象研究、水文地质研究和考古等。下面从生物医学的角度介绍数据挖掘在科学上的应用。数据挖掘非常适用于医学数据分析这类缺乏先验知识的多维数据分折,特别是在DNA分析、医学图像分析、老年性疾病及其并发症等领域。在DNA分析领域应用最为普遍,研究热点集中在DNA序列间相似性搜索、多基因共同控制性状表达以及不同基因在疾病不同阶段的功能作用等问题;在医学图像分析研究中,数据挖掘技术主要用于目标组织的特征表达,即图像特征自动提取和模式识别。在一系列老年性疾病及其并发症的课题中,利用数据挖掘技术对生理监护数据进行多维分析也是一类新的研究热点。随着老龄化问题的日益严重,这方面的研究成果将直接带来巨大的社会效益。

(4)医疗领域应用:数据挖掘在医学领域的应用尚处于起步阶段,但随着医院信息系统的推广与普及,处于系统数据库中的数据量与日俱增,传统的数据分析手段对其已经失效。取而代之,数据挖掘成为充分利用这些数据不可缺少的工具。随着数据挖掘在卫生保健,临床领域和医疗诊断方面的应用,医学领域将逐渐成为数据挖掘的重要应用领域,积极探索数据挖掘在该领域的应用具有重要的实用价值和广阔的发展前景。

目前数据挖掘在医学的应用主要集中在疾病辅助诊断、药物开发、医院信息系统以及遗传学这4个方面。其中医院信息系统是医学信息学的一个分支,分为管理信息系统和临床信息系统。前者主要处理医院内部管理方面的信息如人事、财务和设备管理等,而后者是以处理患者为中心的信息系统。目前这两类系统的信息处理都是停留在基于数据库技术支持的操作型事务处理的水平上,但对于预测未来某段时间内哪些药品使用的频率最高或最低、哪些疾病的发病率最高等问题却是无能为力。利用数据挖掘技术可以轻而易举地找到这些问题的答案。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈