1、第一章 引言1 1 问题的提出我国的电信业,尤其是移动通信业,起步比较晚,但发展非常快,对许多业务的决策和方向的把握都是在摸索中进行的,某些立项缺乏统一意见和充足的科学依据,带有一定程度的盲目性。另一方面,经过多年运营,积累了庞大的业务数据,如计费中心的计费数据、客服中心的用户信息数据等,这些海量数据中包含着宝贵的经验和商业信息,可以很好地拿来借鉴今后的业务运作。但是这些数据信息隐藏在庞大、复杂的数据库里面,许多有价值的信息并没有直接表现出来,而是掩盖在无聊的数据后面。多数情况下,我们不得不用到某些分析工具,以期取得丰富而又客观翔实的商业信息,用于开发更大的市场和提供更完善的服务。到目前为止,
2、电信业尚无比较完备的分析工具,然而另一方面,电信业又面临着许多急于解决的问题,如:话费流失问题、新业务开展问题、基站分配问题、批价问题等等。以话费流失为例,我国电信业每年仅此项损失就达数亿元人民币之巨,基本上无法追回。如何尽快避免或尽量减免这一损失,就显得极为迫切和必须。在这种背景下,数据仓库技术以及其上的一些分析挖掘工具就应运而生了,如联机分析处理、数据挖掘等等。决策支持系统(DSS-Decision Support System)是70 年代由美国M.S.ScottMorton 提出,迅速发展起来的新型学科。决策支持系统是综合利用大量数据,有机组合众多模型(数学模型与数据处理模型等),通过
3、人机交互,辅助各级决策者实现科学决策的系统。数据仓库DW (Data Warehouse)建立在传统事务型数据库的基础之上,为企业DSS 及数据挖掘系统提供数据源。它从原事务数据库中将分析型数据与事务型数据相分离,单独存放而形成数据集合。数据仓库就是要把分散存放在企业各个地方的数据集中到一起,并利用这些数据制定出更好的决策。联机分析处理 OLAP(On Line Analysis Processing)是数据仓库上的分析应用工具。它建立在多维数据视图的基础上,主要有在线性和多维分析两个特点。数据挖掘 DM(Data Mining)是从大量数据中提取出可信的、新颖的、有效的并能被人理解的模式的高
4、级处理过程。412 国内外发展现状目前,各大数据库厂商均在数据仓库项目上提出了风格各异、内容相似的数据仓库全面解决方案,比较知名的有Oracle、Sybase、Informix、 IBM、NCR、CA 等公司。Sybase 拥有一个独特而强有力的点对点方案,用来设计、建立和管理数据仓库和数据集市。各个部门之间通过集中的元数据进行交互,具有完整性、集中性和灵活性等特点。使用的工具也具有很多优越性能,如Power DesignerWarehouse Architect、Power Stage、Adaptive Server IQ、Power Dimensions 等。Sybase 的解决方案及其组
5、成具有以下特点:快速实现、数据集市与中心仓库的无缝集成、极高的查询速度、高效的数据压缩。Oracle 提出一个面向决策支持应用的数据仓库解决方案,开发出了OracleWarehouse Builder、Oracle8i 数据库、Oracle Express 等系列工具,其中Oracle8i直接对分区键值作更新,有利于大量重复操作;还在SQL 引擎内建立强大的指令集,如扩展了CUBE 和ROLLUP SQL 操作,支持对表进行抽样查询。Informix 为促使 IT 专业人员迅速建立和运用数据仓库和数据集市,提供了尖端决策方案套装,这一合成的产品和服务是专为概括高级关键商务分析的决策支持环境设计
6、的。为关键商务数据仓库提供世界一流的数据仓库产品和服务,及工业领先的工具,包括:Informix 的专家级数据库设计,具有超级的可操作性,伸缩性和广泛性。为建立和展开分析应用的合成工具, 包括数据抽取,转换,清理和装载。提供了基于ROLAP 的多维数据分析、导向、汇报以及一整套编程工具和APIs。值得一提的是,Informix 的OLAP 工具METACUBE 在汉化方面做了大量的工作,基本能够满足国内用户的需求。其他公司的解决方案大体类似,只是具体开发工具在功能上有所不同。这些国外公司的最大特点是各种开发工具齐全,从数据仓库模型设计、数据抽取工具、数据库管理系统到OLAP 分析工具。用户只需
7、要面对一个厂商就可以获得全部的支持和服务。而国内公司则没有这样的技术优势。在国内,数据仓库刚刚起步,从事这方面研究的学校和公司不多,主要是知识发现(数据挖掘)领域的研究,并且是利用第三方开发工具系统集成,比较知名的有:中青旅尚洋电子技术有限公司、亚信德康通信技术有限公司、亿阳信通有限公司、巨阳科技开发有限公司等。根据数据仓库技术国际著名刊物 DM Review 的评论,有国外一些电信公司采用决策支持通用平台,如新加坡电信,英国电信等。目前已经在我国设立办事处或代理机构的厂商的产品有:Brio,SAS,Clementine,Business Object,5SPSS,Oracle,Informi
8、x,Sybase,Pilot 等,其优点是平台系统而完整,不足之处在于存在本地化问题等,往往需要二次开发,无法直接适应中国电信市场的需要。1 3 主要工作及成果本文在深入研究数据仓库、数据挖掘技术的基础上,设计并实现了一个DSS系统。主要完成了以下几个方面的工作:建造了一个数据仓库管理系统,并运用聚类、分类算法和 C5 算法进行用户信用度分析和客户行为特征分析。提出并实现了一个改进的聚类算法。传统系统聚类算法仅限于样本聚类,在聚类指标过多并且指标之间存在依赖关系的情况下正确度不高。本文提出并实现的多重系统聚类算法,将样本聚类与变量聚类结合起来,在不同的指标组上分别聚类,然后进行二次(或多次)聚
9、类,在很大程度上提高了算法的正确度。6第二章 数据仓库技术21 基本概念随着 IT 业的发展,业界数据规模的不断扩大。为了以合理的费用,向任何地点需要数据的人提供高质量的数据,1992 年William H. Inmon 提出了取得广泛认可的数据仓库概念:集成的、面向主题的、随时间变化的不可修改的数据集合。从上面的定义,我们可以知道,数据仓库首先是一个数据的集合,在这一点上,它与传统意义上的数据库是一致的。实际在物理上,数据仓库也主要是以关系表的形式实现的。数据仓库有四大主要特点:面向主题的。是相对于传统数据库的面向应用而言的。所谓面向应用,指的是系统实现过程中主要围绕着一些应用或功能。而面向
10、主题则考虑一个个的问题域,对问题域涉及到的数据和分析数据所采用的功能给予同样的重视。集成的。数据仓库中的数据来自各个不同的数据源(操作数据库),由于历史的原因,各操作数据库的组织结构往往是不同的,在这些异构数据载入到数据仓库之前,必须经历一个集成过程,或称为抽取过程。随时间变化的。数据仓库以维的形式对数据进行组织,维是数据仓库技术中很重要的一个概念。通常可以这样理解一个维:维是人们看待事物的一种角度。维具有层次性。不可修改的。与面向应用的事务数据库对数据作频繁的插入、更新操作不同的是,对于数据仓库中数据的操作仅限于数据的初始导入和记录查询。在数据载入数据仓库之后,一般不允许随意修改。22 数据
11、仓库简介数据仓库是一种结构化的数据环境,为决策支持系统提供数据源。它可以帮助企业管理者准确了解企业的状况,从而进行预测,制定计划并作出明智的决策。数据仓库作为整个企业的业务数据集成库,从众多数据源中集成数据,它包含庞大的企业级数据,其实质是由多种技术和服务组成的完整的解决方案。数据仓库处理的数据与一般的信息系统的数据不同,它来自不同的分散数据源,包括操作数据、历史数据、外部数据等,对这些数据进行提炼和综合,集成到一个单一的关系数据仓库中;对这个集成的数据仓库进行管理,将其规范为面7向主题的格式,以便于最终用户进行数据访问和分析。数据仓库由可操作的外部数据源、一个/多个数据仓库和一个/多个数据分
12、析工具组成。构造数据仓库,首先要从数据源(如联机信息系统、电子邮件消息等)中抽取、集成、转换、聚合和复制数据,并存储到数据仓库中;然后,这其中的一部分数据再被聚合、复制到数据集市;最后,用户用分析工具创建电子报表,进行查询操作,从而实现决策分析。23 数据仓库的关键技术在技术上可以根据数据的工作过程分为:数据的抽取、存储和管理以及数据的表现三个方面。在此,我们将分别讨论每一个环节。231.数据的抽取数据的抽取是数据进入仓库的入口。由于数据仓库是一个独立的数据环境,它需要通过抽取程序将数据从联机事务处理系统、外部数据源、脱机的数据存储介质中导入数据仓库。数据抽取在技术上主要涉及互连、复制、增量、
13、转换、调度和监控等几个方面。数据仓库的数据不要求实时响应,因此数据抽取可以定时进行,但多个抽取操作执行的时间、相互的顺序、成败对数据仓库中信息的有效性则至关重要。目前市场上提供很多数据抽取工具(例如Informix 的ETL-ExtractTransform Loader 和Sybase 的Power Stage)。这些工具通过用户选定源数据和目标数据的对应关系,会自动生成数据抽取的代码。数据抽取过程涉及数据的转换,但抽取工具支持的数据种类有限;这种情况使得抽取工具往往不能满足要求。因此,实际的数据仓库实施过程中往往不一定使用抽取工具。整个抽取过程能否因工具的使用而纳入有效的管理、调度和维护则
14、更为重要。经过抽取后的数据记录应为格式统一、业务信息完整的数据记录。232.存储和管理数据仓库的关键是数据的存储和管理。数据仓库的组织管理方式决定了它有别于传统数据库的特性,同时也决定了它对外部数据的表现形式。要决定采用什么产品和技术来建立数据仓库核心,则需要从数据仓库的技术特点着手分析。数据仓库遇到的第一个问题是对大量数据的存储和管理。这里所涉及的数据量比传统事务处理大得多,且随时间的推移而累积。从现有技术和产品来看,只有关系数据仓库系统能够担当此任。关系数据仓库经过近30 年的发展,在数8据存储和管理方面已经非常成熟。目前不少关系数据仓库系统已支持数据分割技术,能够将一个大的数据仓库表分散
15、在多个物理存储设备中,进一步增强了系统管理大数据量的扩展能力。采用关系数据仓库管理数百个GB 甚至到TB 的数据已是一件平常的事情。数据仓库要解决的第二个问题是并行处理。在传统联机事务处理应用中,用户访问系统的特点是短小而密集;对于一个多处理机系统来说,能够将用户的请求进行均衡分担是关键,这便是并发操作。而在数据仓库系统中,用户访问系统的特点是庞大而稀疏,每一个查询和统计都很复杂,但访问的频率并不是很高。此时系统需要有能力将所有的处理机调动起来为这一个复杂的查询请求服务,将该请求并行处理。因此,并行处理技术在数据仓库中比以往更加重要。数据仓库的第三个问题是针对决策支持查询的优化。这个问题主要针
16、对关系数据仓库而言。在技术上,针对决策支持的优化涉及数据仓库系统的索引机制、查询优化器、连接策略、数据排序和采样等诸多部分。普通关系数据仓库采用B 树类的索引,对于性别、年龄、地区等具有大量重复值的字段几乎没有效果。而扩充的关系数据仓库则引入了位图索引的机制,以二进制位表示字段的状态,将查询过程变为筛选过程,单个计算机的基本操作便可筛选多条记录。由于数据仓库中各数据表的数据量往往极不均匀,普通查询优化器所得出的最佳查询路径可能不是最优的。因此,面向决策支持的关系数据仓库在查询优化器上也做了改进,同时根据索引的使用特性增加了多重索引扫描的能力。以关系数据仓库建立的数据仓库在应用时会遇到大量的表间
17、连接操作,而连接操作对于关系数据仓库来说是一件耗时的事儿。扩充的关系库中对连接操作可以做预先的定义,我们称之为连接索引,使得数据仓库在执行查询时可直接获取数据而不必实施具体的连接操作。数据仓库的查询常常只需要数据仓库中的部分记录,决策支持的关系数据仓库在此做了改进,提供了这一功能。此外,在大容量数据环境中需要有足够短的系统相应时间。因此,一些数据仓库系统增加了采样数据的查询能力,在精确度允许的范围内,大幅度提高系统查询效率。数据仓库的第四个问题是支持多维分析的查询模式,这也是关系数据仓库在数据仓库领域遇到的最严峻的挑战之一。用户在使用数据仓库时的访问方式与传统关系数据仓库有很大的不同。对于数据
18、仓库的访问往往不是简单的表和记录的查询,而是基于用户业务的分析模式,即联机分析。它的特点是将数据想像成多维的立方体,用户的查询便相当于在其中的部分维(棱)上施加条件,对立方体进行切片、分割,得到的结果则是数值的矩阵或向量,并将其制成图表或输入数理统计的算法。9233.数据的表现它们主要集中在多维分析、数理统计和数据挖掘方面。多维分析是数据仓库的重要表现形式,由于MOLAP(多维OLAP)系统是专用的,因此,关于多维分析领域的工具和产品大多是ROLAP(关系OLAP)工具。在实际工作中,客户需要通过对数据的统计来验证他们对某些事物的假设,以进行决策。数据挖掘强调的不仅仅是验证人们对数据特性的假设
19、,而且它更要主动地寻找并发现蕴藏在数据之中的规律。因此,在当前的数据仓库应用中,有效地利用数理统计就已经能够获得可观的效益。24 数据仓库和数据库的区别数据仓库和数据库有多方面的区别,下表从几个方面加以比较:数据库 数据仓库联线处理方式OLTP OLAP数据源 单一数据源 多数据源集成数据属性 动态 除非刷新,否则为静态数据内容 当前值 概要值,计算值,归档值数据结构 复杂, 适于OLTP 简单,适于OLAP数据存取频率 高 低数据修改方式 直接修改 不直接修改数据存取类型 重复的读和写 不重复,只读系统响应时间 秒级 分级25 数据仓库多维模型设计251 多维模型的设计原则:数据仓库与传统数
20、据库所不同的是表间较少以二维关系型方式连接,而以多维形式关联。最为流行且被业界认可的逻辑结构有星型结构和雪花型结构,其中以星型结构最常被人们采用。下图是数据仓库逻辑结构的一个实例,这个例子采用的是星型结构。星型模式中间有一个单一对象,沿半径向外连接到多个对象。它反映了最终用户对商务查询的看法,称为“事实表”(Fact Table),与之相连的对象称为“维表”(Dimension Table)。图中事实表中存储了键属性(时间代码、地区代码、年10龄代码等),对事实表的查询就是获取指向维表的指针表。当对事实表的查询与对维表的查询结合在一起时,就可以检索大量的信息。通过联合,维表可以对查找标准细剖和
21、聚集。维表通过外键与事实表相关联。雪花模式:雪花模式是对星型模式的扩展,每一个点都沿半径向外连接到多个点。雪花模式对星型模式的维表进一步标准化,它的优点是通过最大限度地减少数据存储量以及把最小的标准化表(而不是大的非标准化表)联合在一起来改善查询性能。由于采取了标准化及较低的粒度,雪花模式增加了应用程序的灵活性,当然同时也增加了用户必须处理的表的数量和某些查询的复杂性。图 2.1:客户群体特征事实表252 多维模型的设计方法:多维数据模型由事实表和维表组成。事实表中一个索引对应一个维表,常用的统计信息放在事实表中。维表分得尽可能的细致、方便,维表之间相互独立,不同维表之间不能有相同的主键和外键
22、。要根据数据之间的基本的内在联系组织数据,而不是根据现有的分析主题组织数据。下面是一个实例:drop table f_cdr;drop table d_account;11create table d_account(sub_id integer not null,name char(50),postal_code char(6),id_name char(10),id_code char(20),contact_person char(20),contact_phone char(40),address char(60),primary key (sub_id) maxrows per se
23、gment 40000;create synonym det_account for d_account;drop table d_period;create table d_period (per_key integer not null,day char(20),month char(10),year char(6),current_flag char(1),primary key (per_key) maxrows per segment 400;create synonym det_period for d_period;drop table d_duration;create tab
24、le d_duration(dur_key integer not null,dur_seg char(40),primary key (dur_key) maxrows per segment 10;create synonym det_duration for d_duration;drop table d_time;create table d_time (time_key integer not null,minute char(6),hour char(2),promo_desc char(10),primary key (time_key) maxrows per segment
25、1440;create synonym det_time for d_time;drop table w_area;create table w_area (area_code char(8) not null,area_tag char(8),city char(20),province char(10),region char(10),primary key (area_code) maxrows per segment 600;12create synonym d_orig_area for w_area;create synonym det_area for w_area;drop t
26、able d_route;create table d_route(route_key char(10) not null,route_desc char(10),primary key (route_key) maxrows per segment 1000;create synonym det_route for d_route;create table f_cdr (imsi char(15) not null,calling_time timestamp not null,sub_id integer not null,per_key integer not null,time_key
27、 integer not null,dur_key integer not null,orig_area_code char(8) not null,route_key char(10) not null,base_fee decimal(7,3),idd_fee decimal(9,3),sub_fee decimal(9,3),ddd_fee decimal(9,3),gat_fee decimal(9,3),roam_fee decimal(7,3),extra_fee decimal(7,3),duration integer,calling_count integer,primary
28、 key (imsi, calling_time),foreign key (imsi) references d_imsi (imsi),foreign key (sub_id) references d_account (sub_id),foreign key (per_key) references d_period (per_key),foreign key (time_key) references d_time (time_key),foreign key (dur_key) references d_duration (dur_key),foreign key (route_ke
29、y) references d_route (route_key),foreign key (orig_area_code) references d_orig_area (area_code),) maxsegments 2 maxrows per segment 10000000;26 数据仓库的成功案例在数据仓库应用领域,从电信、金融到制造、餐饮零售,都有不少成功的案例。如MCI 通过Informix 公司为其建立数据仓库应用,数据仓库规模为3TB,能被1 万个用户访问。借助于数据仓库,MCI 公司可以分析存储其公司范围内几乎全部的美国消费者信息,以此增强公司的竞争地位。美国百事可乐快餐
30、集团也建立了自己的数据仓库解决方案,各连锁快餐厅13使用数据仓库技术为其提供及时、有效的信息,它们包括:顾客对某个快餐厅的喜好,总体购买行为,快餐厅地理位置的选择等等,用于集团对所有快餐厅的最终管理和评估。这些信息对于集团来说是极其重要且有价值的。Sybase 公司与美国财政部的国内税收服务部门(IRS)合作开发的项目获得了Data Warehousing Institute(TDWI)颁发的1999 年度数据库最佳实践奖。NCR 公司的”电信业解决方案” Fraud SENTRY 等。在国内也有不少成功的数据仓库应用案例。在目前国内采用的同类产品,可分为开发专用的系统、引进国外的软件、使用通
31、用决策支持基础平台等。见诸报道的专用系统有国内新太公司的”邮电智能办公决策管理系统” -IntraSuite,亚信德康的“金眼睛”等。第三章 联机分析处理与数据挖掘1431 联机分析处理传统的数据库管理系统建立在事务型数据的基础之上,注重的是数据库的安全、高效运作以及维持大量细节数据的一致性、安全性以及完整性这样的事务性操作,即OLTP(On Line Transaction Processing )。为了保证系统的高效运作及快速响应,不可能维持决策分析所需的大量历史数据。此外,系统在运行过程中产生的数据大多并不能直接拿来做决策支持分析之用,而首先要作一些预处理工作,比如汇总、抽取等,这样的预
32、处理工作也是OLTP所不能完成的。要想得到对决策有用的信息或对数据仓库中的数据做灵活的、多角度的探察,则还必须借助一些分析展示工具。因此,就在这样一个背景下,1993年E.F.Codd首次提出了联机分析处理系统(OLAP)的概念。311 OLAP 的概念及特征联机分析处理OLAP 是一类软件技术,它使分析人员、管理人员通过对信息的多种可能的观察进行快速、一致和交互性的存取以获得对信息的深入理解。OLAP 是数据仓库上的分析展示工具,它建立在数据多维视图的基础上,可以提供给用户强大的统计、分析、报表处理功能及进行趋势预测的能力。主要有两个特点,一是在线性(On Line),体现为对用户请求的快速
33、响应和交互式操作;二是多维分析(Multi Dimension Analysis),数据的多维视图使用户能从多角度、多侧面、多层次地考察包含在数据中的信息,这正是OLAP 技术的核心所在。根据对数据组织方式的不同,OLAP 可分为两种:基于多维数据库的OLAP(MOLAP)和基于关系数据库的OLAP(ROLAP);前者响应速度快、执行效率高,但由于所有的预处理操作都是预先定义好的,限制了它的灵活性。与之相比,后者由于建立在数据仓库的基础上,灵活性、扩展性要高得多,并且支持大数据量和较多维数的能力也要强于前者,因此,虽然在响应速度、执行效率上差一点,仍然得到了广泛的应用。就软件技术而言,数据仓库
34、的核心是关系数据仓库,而让集成的数据发挥效益,则需要一个先进的关系型联机分析处理(ROLAP)工具。这种工具应能支持并行数据查询(PDQ)和操作,支持表分割技术(Table Cross),支持多种DSS 索引等等。因此现有的OLAP 工具大多基于后者。关于二者的更详细的区别,请参见文献46。目前,针对OLAP 技术的研究领域相当活跃,对OLAP 的理解也不断深入。有人提出了OLAP 的更为简洁的定义,如 Nigel Pendse 提出的FASMI(FastAnalysis Of Shared Multidimensional Information)。15312 OLAP 的结构OLAP 是建
35、立在客户/服务器结构之上的。它要对来自基层的操作数据进行多维化或预综合处理,故它是一个三层的客户/服务器体系结构。OLAP 对数据仓库中数据的操作是针对多维数据视图或称为超立方体进行的。对立方体的典型操作有:切片、切块以及旋转等:切片是指选定多维数组的一个二维子集;切块是指选定多维数组的一个三维子集;旋转指改变一个立方体显示的维方向,使人们可以从不同的角度更加清晰直观地观察数据图 3.1 是典型OLAP 操作的抽象图:3.2 数据挖掘数据挖掘涵盖了广泛的计算机技术,涉及到机器学习、模式识别、统计学、智能数据库、知识获取、数据可视化、高性能计算、专家系统等多个领域。根据人类学习的不同模式人们提出
36、了很多机器学习方法,如:实例学习、观察和发现学习、神经网络和遗传算法等等。其中某些常用且较成熟的算法已被人们运用于实际的应用系统及智能计算机的设计和实现中。数据挖掘包括在数据中查找模式,传统上这是属于分析专家的领域。其中一个主要的问题是统计上重要的模式没有商业价值,要借助于商业知识和日常感觉,而不是IT 经验来实现。数据挖掘通常用于电信、金融、零售、直销、银行贷款欺诈检测及欺诈分析、健康保障行业、电视台电视栏目收视率分析、交通流量分析、罪犯特征分析、保险风险分析、药品和化学成分的影响分析等。这种投资回报有时是超出想象的。例如一位客户采用Clementine 软件处理了一家环保超标的工厂的数据,切片切块旋转地域年份地域产品图 3.1: 对超立方体的典型操作16这项改进为公司节约了计划 10 万美元的预期投资。3.2.1 数据挖掘的概念数据挖掘是从大量数据中提取出可信的、新颖的、有效的并能被人理解的
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。