数据挖掘:实用案例分析(txt+pdf+epub+mobi电子书下载)


发布时间:2020-06-28 00:31:46

点击下载

作者:张良均,陈俊德,刘名军,陈荣

出版社:机械工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

数据挖掘:实用案例分析

数据挖掘:实用案例分析试读:

前言

为什么要写这本书

现在,什么程序员最稀缺?什么技术最火?回答:数据挖掘!

数据挖掘是从大量数据(包括文本)中挖掘出隐含的、先前未知的、对决策有潜在价值的关系、模式和趋势,并用这些知识和规则建立用于决策支持的模型,提供预测性决策支持的方法、工具和过程。数据挖掘有助于企业发现业务的趋势,揭示已知的事实,预测未知的结果,因此“数据挖掘”已成为企业保持竞争力的必要方法。

近年来企业所处理的数据每五年就会呈现倍数增长。大部分的企业并没有数据不足的问题,过度的数据重复与不一致才是大问题,这使得企业在使用、有效管理以及将这些数据用于决策过程方面都遭遇到了问题。因此未来几年,随着大数据迅速发展,数据挖掘将是极为重要的成长领域,其应用会越来越广泛,可以说,只要企业掌握有分析价值的数据源,皆可进行高价值的数据挖掘分析。目前数据挖掘主要应用在电信、零售、农业、互联网、金融、电力、生物、化工和医疗等行业。典型的应用如:客户细分、流失预警、价值评估、交叉销售、欺诈发现、精准营销、故障诊断等。

总的来说,跟国外相比,我国由于信息化程度不太高、企业内部信息不完整,零售业、银行、保险、证券等对数据挖掘的应用并不太理想。但随着市场竞争的加剧,各行业应用数据挖掘技术的意愿越来越强烈,可以预计,未来几年各行业的数据分析应用一定会从传统的统计分析发展到大规模数据挖掘应用。

本书作者从实践出发,结合大量数据挖掘工程案例,总结出数据挖掘建模过程应完成的任务主要包括:数据探索、数据预处理、分类与回归、聚类分析、时序预测、关联规则挖掘、偏差检测等。因此,本书的编排以解决某个应用的挖掘目标为前提,先介绍案例背景,再阐述分析方法与过程,最后完成模型构建,在介绍建模过程的同时穿插操作训练,把相关的知识点嵌入相应的操作过程中。

读者对象

需求分析及系统设计人员。

这类人员可以在理解数据挖掘原理及建模过程的基础上,结合数据挖掘案例完成精确营销、客户分群、交叉销售、客户流失分析、客户信用记分、欺诈发现等数据挖掘应用的需求分析和设计。

数据挖掘开发人员。

这类人员可以在理解数据挖掘应用需求和设计方案的基础上,结合本书提供的基于第三方接口快速完成数据挖掘应用的编程实现。

开设有数据挖掘课程的高校教师和学生。

目前国内不少高校将数据挖掘引入本科教学中,在数学、自动化、电子信息、金融等专业开设了数据挖掘技术相关的课程。目前这一课程的教学仍主要限于理论介绍,因为过于抽象,学生理解起来往往比较困难,教学效果不甚理想。本书提供的基于实战案例和建模实践的教学,能够使师生充分发挥互动性和创造性,理论联系实际,从而获得最佳的教学效果。

进行数据挖掘应用研究的科研人员。

许多科研院所为了更好地对科研工作进行管理,纷纷开发了适应自身特点的科研业务管理系统,并在使用过程中积累了大量的科研信息数据。但是,这些科研业务管理系统一般没有对这些数据进行深入分析的功能,对数据所隐藏的价值并没有充分挖掘利用。科研人员需要数据挖掘建模工具及有关方法论来深挖科研信息的价值,从而提高科研水平。

关注高级数据分析的人员。

业务报告和商业智能解决方案对于了解过去和现在的状况是非常有用的。但是,数据挖掘的预测分析解决方案还能使这类人员预见未来的发展状况,让他们的机构能够先发制人,而不是处于被动。因为数据挖掘的预测分析解决方案将复杂的统计方法和机器学习技术应用到数据之中,通过使用预测分析技术来揭示隐藏在交易系统或企业资源计划(ERP)、结构数据库和普通文件中的模式和趋势,从而为这类人员的决策提供科学依据。

如何阅读本书

本书共12章,分三个部分,通过对一个个真实案例深入浅出的剖析,使读者在不知不觉中能快速领悟看似深不可测的数据挖掘理论。读者在阅读过程中,应充分利用随书配套的案例建模数据,借助相关的数据挖掘建模工具,通过动手实践,帮助快速理解相关知识和理论。

第一部分是基础篇(第1~4章),主要对数据挖掘的基本概念、应用分类、建模方法及常用的建模工具进行了介绍;第4章对本书所用到的数据挖掘建模平台TipDM进行了说明。

第二部分是实战篇(第5~10章),其中第5~9章为案例部分,重点对数据挖掘技术在金融、电信、电力、互联网、生产制造以及公共服务等行业的应用场景进行了讨论。在过程组织上,按照先介绍案例背景、挖掘目标,再阐述分析方法与过程,最后完成模型构建的顺序进行,在介绍建模过程的同时穿插操作训练,把相关的知识点嵌入相应的操作过程中;第10章为实验部分,读者可以通过本章介绍的方法,动手实践以巩固数据挖掘知识及建模过程。

第三部分是高级篇(第11~12章),其中第11章对基于第三方接口的数据挖掘二次开发技术进行了说明,通过示例,介绍了如何基于WEKA和MATLAB等工具实现数据挖掘算法接口编程;第12章介绍了基于Hadoop框架开发的并行数据挖掘算法工具箱——TipCDM,并通过一个实际案例,介绍了基于云计算的海量数据挖掘的具体应用及实现过程。

勘误和支持

除封面署名外,参加本书编写工作的还有:张益铭、周积荣、曹晶、蒋世忠、张秋妮、曹焱峰、余春迪、阮鹏、余燕团、王军晓等。由于作者的水平有限,加之编写时间仓促,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。为此,读者可通过作者微博(http://t.qq.com/waveletz)或TipDM官网(www.tipdm.com)反馈有关问题。也可通过热线电话(40068-40020)或企业QQ(40068-40020)进行在线咨询。

读者可以将书中的错误及遇到的任何问题反馈给我们,我们将尽量在线上为读者提供最满意的解答。随书光盘中提供了全部建模数据文件及源程序,也可以从智能中国网站(www.5iai.com)下载,我们会将相应的功能更新及时更正。如果您有更多的宝贵意见,也欢迎发送邮件至邮箱5iai2008@gmail.com,期待能够得到你们的真挚反馈。

致谢

本书的案例主要来自作者承担的国家及省部级项目和与合作单位的研究应用实践,如独立承担的科技部中小企业创新基金项目——基于云计算和SOA架构的海量数据挖掘平台;与广东省电科院合作的智能用电海量数据挖掘项目;与广州翰思软件有限公司合作的基于数据挖掘和GIS技术的房地产自动评估系统;与广州因孚网络科技有限公司合作的基于云计算的海量数据挖掘平台的研发及应用示范;与西南交通大学合作的数据挖掘技术在混合厌氧消化系统优势营养互补机制研究;与南京中医药大学合作的数据挖掘技术在乳腺癌证素变化规律及截断疗法研究;与华南师范大学合作的企业信息预测开发平台;与广东工业大学合作的应用统计实践教学基地建设项目;与广东石油化工学院合作的云计算环境下Web结构挖掘研究及应用等。

本书编写过程中,得到了广大企事业单位科研人员的大力支持!在此谨向广东电力科学研究院、广西电力科学研究院、广东电信规划设计院、珠江/黄海水产研究所、华南师范大学、广东工业大学、西南交通大学、南京中医药大学、华南理工大学、湖南师范大学、广州中医药大学、武汉理工大学、广东石油化工学院、中山大学、浙江大学、广州大学、河南理工大学、甘肃中医学院、番禺职业技术学院、大连海事大学、广州从兴电子开发有限公司、广州泰迪智能科技有限公司、广州太普软件科技有限公司、中科普开(北京)科技有限公司、EasyHadoop社区等单位给予支持的专家及师生致以深深的谢意。

在本书的出版过程中,得到了参与中国数据挖掘建模竞赛(http://c.5iai.com)的众多师生及机械工业出版社华章公司杨福川老师、白宇编辑等无私的帮助与支持,在此一并表示感谢。

张良均

2013年4月于广州第一部分基础篇本部分内容初识数据挖掘数据挖掘的应用分类数据挖掘建模顶尖数据挖掘平台TipDM第1章 初识数据挖掘

随着计算机技术、网络技术、通信技术和Internet技术的发展,以及各行各业业务操作流程的自动化,企业内积累了大量业务数据,这些数据动辄以TB计算。这些数据和由此产生的信息是企业的财富,它如实地记录着企业运作的状况。面对大量的数据,迫使人们不断寻找新的工具,来对企业的运营规律进行探索,为商业决策提供有价值的信息,使企业获得利润。能满足企业这一迫切需求的有力工具就是数据挖掘。对于企业而言,数据挖掘有助于发现业务的趋势,揭示已知的事实,预测未知的结果。从这个意义上讲,知识是力量,数据挖掘是财富。1.1 什么是数据挖掘

数据挖掘(Data Mining, DM):就是从大量数据(包括文本)中挖掘出隐含的、未知的、对决策有潜在价值的关系、模式和趋势,并用这些知识和规则建立用于决策支持的模型,提供预测性决策支持的方法、工具和过程;是利用各种分析工具在海量数据中发现模型和数据之间关系的过程。这些模型和关系可以被企业用来分析风险、进行预测。

数据挖掘的目的就是从数据中“淘金”,就是从数据中获取智能的过程。

Gartner Group提出:“数据挖掘是通过仔细分析大量数据来揭示有意义的新的关系、模式和趋势的过程。它使用模式认知技术、统计技术和数学技术。”

The META Group的Aaron Zornes表示:“数据挖掘是一个从大型数据库中提取以前不知道的可操作性信息的知识挖掘过程。”

总之,由于企业内产生了大量的业务数据,这些数据和由此产生的信息是企业的财富,它如实记录了企业运作的状况。通过数据挖掘分析,能帮助企业发现业务的趋势,揭示已知的事实,预测未知的结果。数据挖掘已成为企业保持竞争力的必要方法。1.2 数据挖掘在企业商务智能应用中的定位

报告和商业智能解决方案对于了解过去和现在的状况是非常有用的。但是,预测分析解决方案还能使用户预见未来的发展状况,使其能够先发制人,而不是处于被动。数据分析和数据挖掘系统的目的是带给我们更多的决策支持信息,并不是取代数据报表。报表系统依然有其不可取代的优势,并且将会长期与数据分析、挖掘系统并存下去。1.2.1 数据挖掘给企业带来最大的投资收益

预测分析解决方案将复杂的统计方法和机器学习技术应用到数据之中,通过使用预测分析技术来揭示隐藏在交易系统或企业资源计划(ERP)、结构数据库和普通文件中的模式和趋势。数据分析能力的演进如图1-1所示,图中TipDM是广州TipDM团队组织研发的海量数据挖掘工具。图 1-1 数据分析能力的演进1.2.2 数据挖掘从本质上提升商务智能平台的价值

传统的商务智能应用都局限在数据仓库、OLAP和各种类型报表的展现上。传统的OLAP分析和报表分析只能反映企业过去以及现在的营运问题,而不能明确地、可量化地回答企业问题的原因、可能的解决方式并预测企业的经营活动。

数据挖掘功能是现有商务智能平台的核心组成部分,TipDM数据挖掘工具能够从本质上提升企业商务智能平台的价值,真正把企业积累的数据转化为企业营运和管理的知识。TipDM数据挖掘工具不但能够帮助企业定性、定量地去了解各种业务问题的本质,而且能够帮助企业定性、定量地了解各种市场活动和企业内部运作可能带来的收益,从而不断发现新的收益增长点。商务智能分析中的数据挖掘建模如图1-2所示。图 1-2 商务智能分析中的数据挖掘建模1.2.3 数据挖掘让商务智能流程真正形成闭环

数据挖掘的应用让企业的商务智能流程真正形成了闭环。它帮助企业不断了解自身运作中的各种问题、发现新的市场机会,并适时调整企业经营的策略,从而螺旋式地提高企业的经营情况和管理水平。如图1-3所示。图 1-3 数据挖掘让商务智能流程形成闭环1.3 信息类BI应用与知识类BI应用

BI(Business Intelligence,商业智能)是一种运用了数据仓库、在线分析和数据挖掘等技术来处理和分析数据的崭新技术,目的是为企业决策者提供决策支持。

BI是一个数据加工工厂,BI的原材料是海量的数据,BI的产品是由数据加工而来的信息和知识;BI将这些产品推送给企业决策者,企业决策者利用BI工厂的产品做出正确的决策,促进企业的发展。这就是BI——连接数据与决策者,变数据为价值。

BI应用的两大类别是信息类应用和知识类应用,两者的主要区别见表1-1。

信息类BI应用都局限在数据仓库、OLAP和各种类型报表的展现上。其只能反映企业过去以及现在的营运问题,而不能明确、可量化地回答企业问题的原因、问题可能的解决方式以及预测企业的经营活动。另外,伴随着业务系统的不断发展以及数据仓库中数据的不断积累和补充,企业分析人员无法应对如此多的数据,无法从繁缛的报表中得到有益的信息,从而陷入信息爆炸的困境。

知识类BI是现有商务智能平台的关键组成部分,能从本质上提升企业商务智能平台的价值,真正把企业积累的数据转化为企业营运和管理的知识。其不但能够帮助企业定性、定量地了解各种业务问题的本质,而且能够帮助企业定性、定量地了解各种市场活动和企业内部运作可能带来的收益,从而不断发现新的收益增长点。1.4 数据挖掘现状及应用前景“数据海量,信息缺乏”是大多数金融企业所面对的尴尬。目前,金融业实施的大多数数据库只能实现数据的录入、查询、统计等较低层次的功能,却无法发现数据中存在的各种有用信息,例如对这些数据进行分析,发现其数据模式及特征,然后可能发现某个客户、消费群体或组织的金融和商业需求,并观察金融市场的变化趋势。

作为一门应用技术,数据挖掘可谓涵盖广泛,尤其在发达国家,数据挖掘技术的触角已经伸向了各行各业。只要企业拥有具分析价值的数据源,皆可利用数据挖掘工具进行有目的的挖掘分析。一般较常见的应用案例多发生在零售业、制造业、财务金融保险、通信业以及医疗服务等。数据挖掘的应用领域具体可以分为以下三类:

商业与电子商务数据。银行、管理部门、网络应用在商业运作过程中产生大量数据,这些行业需要通过数据分析做出有效的决策。

科学、工程学和卫生保健数据。工程领域的数据往往比商业数据更复杂,此外,科学家和工程师越来越多地使用模拟系统。

网络数据。网络上的数据不仅在数量上日益膨胀,在内容上也越来越复杂。网络数据已经不仅仅包括图像、文本,还包括数据流和数值数据。

可以说,未来若干年,数据挖掘将会成为极为重要的成长领域,数据挖掘的应用也会越来越广泛。研究结果显示,企业所处理的数据每五年就会呈现倍数增长。

大部分的企业并没有数据不足的问题,而过度的数据重复与不一致才是大问题,这使得企业无论在使用、有效管理、以及将这些数据用于决策过程方面都遭遇到了问题。因此市场需要的是能够将数据转变成可靠与可用信息的系统。

不同领域的专家对数据挖掘都表现出了极大的兴趣,例如在信息服务业中出现了一些应用,在Internet数据仓储和线上服务中也给企业增加了许多生机。同时在产学合作下,又发展出了许多实用的系统,例如MDT、Coverstory and Spotlight、NichWork Visualization System、LBS、FALCON、FAIS、NYNEX、TASA等。目前已被许多研究者视为结合数据库系统和机器学习技术的重要领域。对于研究者来说,数据挖掘是个充满潜力和机遇无限的研究领域。

由于数据挖掘能分析出数据中的有用信息,给企业带来显著的经济效益,这使得数据挖掘技术越来越普及。IDC预测,2015年中国大数据市场规模或达169亿美元,数据挖掘市场规模大约为140亿美元,并对欧洲和北美62家采用了数据挖掘技术的企业进行调查分析,发现这些企业的3年平均投资回报率为401%,其中25%的企业的投资回报率超过600%。

美国Palo Alto管理集团公司对欧洲、北美和日本375家大中型企业的数据挖掘技术的采用情况进行了调查。结果显示,在金融领域,数据挖掘技术的应用水平已经达到或接近70%,在营销领域也达到50%,并且在未来的数年中,各个应用领域对该技术的采纳水平都将提高约50%。

近年来,甲骨文、IBM、微软和SAP耗费超过150亿美元收购专门从事数据挖掘的软件公司。这个产业预计有1000亿美元市场容量,并以每年10%的速度增长,是软件产业整体增速的两倍。英国电信要发布一种新的产品,通过直邮的方式向客户推荐这种产品,使用数据挖掘技术可以使直邮的回应率提高100%;GUS日用品零售商店需要准确预测未来的商品销售量,降低库存成本,使用数据挖掘技术使库存成本比原来减少了3.8%;汇丰银行需要对不断增长的客户群进行分类,针对每种产品找出最有价值的客户,使用数据挖掘技术营销费用减少了30%;美国国防财务部每年有上百万笔的军火交易,使用数据挖掘技术能够发现可能存在的欺诈交易,然后进行深入调查,这样节约了大量的调查成本。1.5 本章小结

本章主要介绍数据挖掘的相关知识。看到数据挖掘的前景如此美好,是否有跃跃欲试的感觉呢?第2章将介绍数据挖掘的算法及应用场景,看看你身边是否有可应用的场景呢?第2章 数据挖掘的应用分类

由于数据挖掘能分析出数据中的有用信息,给企业带来显著的经济效益,这使得数据挖掘技术越来越普及。如在销售数据中发掘顾客的消费习惯,并可从交易记录中找出顾客偏好的产品组合,其他包括找出流失顾客的特征与推出新产品的时机点等都是零售业常见的实例;利用数据挖掘分析顾客群的消费行为与交易纪录,结合基本数据,并依其对品牌价值等级的高低来区隔顾客,进而达到差异化营销的目的;制造业对数据挖掘的需求多运用在品质控管方面,从制造过程中找出影响产品品质最重要的因素,以期提高作业流程的效率。

近几年,电话公司、信用卡公司、保险公司以及股票交易商对诈欺行为的侦测都很有兴趣,这些行业每年因为诈欺行为而遭受的损失都非常巨大,数据挖掘可以从一些信用不良的客户数据中找出相似特征并预测可能的诈欺交易,达到减少损失的目的。金融业可以利用数据挖掘来分析市场动向,并预测个别公司的营运以及股价走向。数据挖掘的另一个独特的用法是在医疗业,用来预测手术、用药、诊断或是流程控制的效率。

归纳起来,数据挖掘技术的基本任务主要体现在分类与回归、聚类、关联规则、时序模式、偏差检测五个方面。图2-1是典型的数据挖掘应用场景。图 2-1 数据挖掘应用示例2.1 分类与回归

我们经常会碰到这样的问题:

1)如何将信用卡申请人分为低、中、高风险群?

2)如何预测哪些顾客在未来半年内会取消该公司服务,哪些电话用户会申请增值服务?

3)如何预测银行可以安全地贷给贷款人的贷款量?

4)哪些使用2G通信网络的手机用户有可能转换到3G通信网络?

5)如何有效预测房地产开发中存在的风险?

除此之外,市场经理需要进行数据分析,以便帮助他预测具有某些特征的顾客会购买一台新的计算机;医学研究者希望分析乳腺癌数据,预测病人应当接受三种具体治疗方案的哪一种;这些都是分类与回归的例子。2.1.1 分类与回归建模原理

分类(Classification):指将数据映射到预先定义好的群组或类。

因为在分析测试数据之前,类别就已经确定了,所以分类通常被称为有监督的学习。分类算法要求基于数据属性值来定义类别,通常通过已知所属类别的数据的特征来描述类别。

分类就是构造一个分类函数(分类模型),把具有某些特征的数据项映射到某个给定的类别上。该过程由两步构成。

模型创建:通过对训练数据集的学习来建立分类模型。

模型使用:使用分类模型对测试数据和新的数据进行分类。

其中的训练数据集是带有类标号的,也就是说在分类之前,要划分的类别是已经确定的。通常分类模型是以分类规则、决策树或数学表达式的形式给出,图2-2就是一个三分类问题。图 2-2 分类问题

回归(Regression):用属性的历史数据预测未来趋势。

回归首先假设一些已知类型的函数(例如线性函数、Logistic函数等)可以拟合目标数据,然后利用某种误差分析确定一个与目标数据拟合程度最好的函数,图2-3就是一个非线性回归问题。图 2-3 回归问题

回归模式的函数定义与分类模式相似,主要差别在于分类模式采用离散预测值(例如类标号),而回归模式采用连续的预测值。在这种观点下,分类和回归都是预测问题。但数据挖掘业界普遍认为:用预测法预测类标号为分类,预测连续值(例如使用回归方法)为预测。许多问题可以用线性回归解决,许多非线性问题可以通过对变量进行变化,从而转换为线性问题来解决。分类与回归建模原理如图2-4所示。图 2-4 分类与回归建模原理2.1.2 分类与回归算法

分类与回归常用算法见表2-1。2.2 聚类

我们经常会碰到这样的问题:

1)如何通过一些特定的症状归纳某类特定的疾病?

2)谁是银行信用卡的黄金客户?

3)谁喜欢打国际长途,在什么时间,打到哪里?

4)对住宅区进行聚类,确定自动提款机ATM的安放位置。

5)如何对用户WAP上网行为进行分析,通过客户分群进行精确营销?

除此之外,促销应该针对哪一类客户,这类客户具有哪些特征?这类问题往往是在促销前首要解决的问题,对整个客户做分群,将客户分组在各自的群组里,然后对每个不同的群组,采取不同的营销策略。这些都是聚类分析的例子。2.2.1 聚类分析建模原理

聚类(Clustering)分析:是在没有给定划分类的情况下,根据信息相似度进行信息聚类的一种方法,因此聚类又称为无指导的学习。

与分类不同,分类需要先定义类别和训练样本,是有指导的学习。聚类就是将数据划分或分割成相交或者不相交的群组的过程,通过确定数据之间在预先指定的属性上的相似性,就可以完成聚类任务。

聚类的输入是一组未被标记的数据,根据数据自身的距离或相似度进行划分。划分的原则是保持最大的组内相似性和最小的组间相似性,也就是使不同聚类中的数据尽可能地不同,而同一聚类中的数据尽可能地相似。比如根据股票价格的波动情况,可以将股票分成不同的类,总共可以分成几类,各类包含哪些股票,每一类的特征是什么,这对投资者,尤其对投资基金的人来说,可能是很重要的信息。当然,聚类除了将样本分类外,还可以完成孤立点挖掘,如将其应用于网络入侵检测或金融风险欺诈探测中。聚类分析建模原理如图2-5所示。图 2-5 聚类分析建模原理2.2.2 聚类算法

常用聚类算法分类见表2-2。2.3 关联规则

我们经常会碰到这样的问题:

1)商业销售上,如何通过交叉销售得到更大的收入?

2)保险方面,如何分析索赔要求发现潜在的欺诈行为?

3)银行方面,如何分析顾客消费行业,以便有针对性地向其推荐感兴趣的服务?

4)哪些制造零件和设备设置与故障事件关联?

5)哪些病人和药物属性与结果关联?

6)哪些商品是已经购买商品A的人最有可能购买的?

除此之外,人们希望从大量的商业交易记录中发现有价值的关联知识,以帮助进行商品目录的设计、交叉营销或其他有关的商业决策。在商业销售上,关联规则可用于交叉销售,以得到更大的收入;在保险业务方面,如果出现了不常见的索赔要求组合,则可能为欺诈行为,需要进一步调查;在医疗方面,可找出可能的治疗组合;在银行方面,对顾客进行分析,可以推荐感兴趣的服务等。这些都属于关联规则挖掘问题,关联规则挖掘的目的是在一个数据集中找出各项之间的关系,从大量的数据中挖掘出有价值的描述数据项之间相互联系的有关知识。随着收集和存储在数据库中的数据规模越来越大,人们对从这些数据中挖掘相应的关联知识越来越有兴趣。2.3.1 什么是关联规则

关联规则(Association):揭示数据之间的相互关系,而这种关系没有在数据中直接表示出来。

关联分析的任务就是发现事物间的关联规则或称相关程度。关联规则的一般形式是:

如果A发生,则B有百分之C的可能发生。C称为关联规则的置信度(Confidence)。

利用关联分析能寻找数据库中大量数据的相关联系,常用的两种技术为:

关联规则,用于发现一个事物与其他事物间的相互关联性或相互依赖性,如分析客户在超市买牙刷的同时又买牙膏的可能性。

序列模式分析,将重点放在分析数据之间的前后因果关系,如买了电脑的顾客会在三个月内买杀毒软件。

相信大家都听说过“尿布与啤酒”的故事。在某超市里,有一个有趣的现象:尿布和啤酒赫然摆在一起出售。但是这个奇怪的举措却使尿布和啤酒的销量双双增加了。这不是一个笑话,而是发生在美国沃尔玛连锁店超市的真实案例,并一直为商家所津津乐道。沃尔玛拥有世界上最大的数据仓库系统,为了能够准确了解顾客在其门店的购买习惯,沃尔玛对其顾客的购物行为进行购物篮分析,想知道顾客经常一起购买的商品有哪些。沃尔玛数据仓库里集中了其各门店的详细原始交易数据。在这些原始交易数据的基础上,沃尔玛利用数据挖掘方法对这些数据进行分析和挖掘。一个意外的发现是:跟尿布一起购买最多的商品竟是啤酒!经过大量实际调查和分析,揭示了一个隐藏在“尿布与啤酒”背后的美国人的一种行为模式:在美国,一些年轻的父亲下班后经常要到超市去买婴儿尿布,而他们中有30%~40%的人同时也为自己买一些啤酒。

产生这一现象的原因是:美国的太太们常叮嘱她们的丈夫下班后为小孩买尿布,而丈夫们在买尿布后又随手带回了他们喜欢的啤酒。

按常规思维,尿布与啤酒风马牛不相及,若不是借助数据挖掘技术对大量交易数据进行挖掘分析,沃尔玛是不可能发现数据内在这一有价值的规律的。2.3.2 关联规则算法

常用关联规则算法见表2-3。2.4 时序模式

我们经常会碰到这样的问题:

1)下个月的商品销量、销售额或库存量是多少?

2)明天广州市的最高用电负荷是多少?2.4.1 什么是时序模式

时序模式:描述基于时间或其他序列的经常发生的规律或趋势,并对其建模。

与回归一样,它也用已知的数据预测未来的值,但这些数据的区别是变量所处时间的不同。序列模式将关联模式和时间序列模式结合起来,重点考虑数据之间在时间维度上的关联性。时序模式包含时间序列分析和序列发现。

时间序列分析:用已有的数据序列预测未来。在时间序列分析中,数据的属性值是随着时间不断变化的。回归不强调数据间的先后顺序,而时间序列要考虑时间特性,尤其要考虑时间周期的层次,如天、周、月、年等,有时还要考虑日历的影响,如节假日等。

序列发现:用于确定数据之间与时间相关的序列模式。这些模式与在数据(或者事件)中发现的相关的关联规则很相似,只是这些序列是与时间相关的。2.4.2 时间序列的组合成分

时间序列的变化主要受到长期趋势、季节变动、周期变动和不规则变动这四个因素的影响。其中:

长期趋势因素(T)反映了经济现象在一个较长时间内的发展方向,它可以在一个相当长的时间内表现为一种近似直线的持续向上或持续向下或平稳的趋势。

季节变动因素(S)是经济现象受季节变动影响所形成的一种长度和幅度固定的周期波动。

周期变动因素(C)也称循环变动因素,它是受各种经济因素影响形成的上下起伏不定的波动。

不规则变动因素(I)不规则变动又称随机变动,它是受各种偶然因素影响所形成的不规则变动。2.4.3 时间序列的组合模型

时间序列y可以表示为四个因素的函数,即:

y=f(T,S,C,I)ttttt

时间序列分解的方法有很多,较常用的模型有加法模型和乘法模型。

1.加法模型

假定时间序列是基于4种成分相加而成的。长期趋势并不影响季节变动。若以y表示时间序列,则加法模型为:

y=T+S+C+Ittttt

2.乘法模型

假定时间序列是基于4种成分相乘而成的。假定季节变动与循环变动为长期趋势的函数。该模型的方程式为:

y=T×S×C×Ittttt

乘法模型分解的基本步骤是:

1)运用移动平均法剔除长期趋势和周期变化,得到序列TC。然后再用按月(季)平均法求出季节指数S。

2)作散点图,选择适合的曲线模型拟合序列的长期趋势,得到长期趋势T。

3)计算周期因素C。用序列TC除以T即可得到周期变动因素C。

4)将时间序列的T、S、C分解出来后,剩余的即为不规则变动,即:2.4.4 时序算法

常用时序算法及适应范围见表2-4。2.5 偏差检测

偏差:是对差异和极端特例的表述,如分类中的反常实例、聚类外的离群值、不满足规则的特例等,见图2-6。图 2-6 偏差检测示意图

偏差检测:用来发现与正常情况不同的异常和变化,并进一步分析这种变化是有意的诈骗行为,还是正常的变化。如果是异常行为,则需提示采取预防措施,尽早防范。

注意 大部分数据挖掘方法都将这种差异信息视为噪声而丢弃,然而在一些应用中,罕见的数据可能比正常的数据更有用。2.6 本章小结

本章主要介绍了数据挖掘的应用分类。你是否发现身边有可以挖掘的对象呢?通过对数据挖掘的了解,可以在以后的挖掘过程中采用适当的算法来实现综合应用,或者使自己的思想受到启发,进而创造更好的挖掘算法。第3章将介绍数据挖掘建模的方法论和常用工具,可以根据你研究的对象来选择不同的工具,根据数据挖掘建模的方法论按步骤来实现数据挖掘的目的。第3章 数据挖掘建模

数据挖掘是从海量数据中提取隐含在其中的有用信息和知识的过程。各运营支撑系统所积累的海量历史数据是企业的一笔宝贵财富,谁能正确地挖掘与分析隐含在数据中的信息,谁就能更好地向用户提供产品与服务,从而在竞争中脱颖而出。3.1 数据挖掘的过程

数据挖掘提供了从数据到价值的解决方案:

数据+工具+方法+目标+行动=价值

目前,数据挖掘已有一系列应用:分类分析、聚类分析、预测分析、偏差分析、关联分析和时序模式等,这些应用涉及的技术和工具各不相同,然而却可以依据统一的方法论来实行,并可以协同作战,解决许多有价值的商业问题,图3-1是进行数据挖掘的一般过程。图 3-1 数据挖掘一般过程3.2 数据挖掘建模过程

广州TipDM团队在多年的数据挖掘项目实施过程中,积累了一套行之有效的数据挖掘方法论,数据挖掘建模过程如图3-2所示。图 3-2 TipDM数据挖掘建模过程3.2.1 定义挖掘目标

针对具体的数据挖掘应用需求,首先要非常清楚:本次的挖掘目标是什么?系统完成后能达到什么样的效果?因此我们必须分析应用领域,包括应用中的各种知识和应用目标。了解相关领域的有关情况,熟悉背景知识,弄清用户需求。要想充分发挥数据挖掘的价值,必须要对目标有一个清晰明确的定义,即决定到底想干什么。否则,很难得到正确的结果。3.2.2 数据取样

数据采集前首要考虑的问题包括:

哪些数据源可用,哪些数据与当前挖掘目标相关?

如何保证取样数据的质量?

是否在足够范围内有代表性?

数据样本取多少合适?

如何分类(训练集、验证集、测试集)?

在明确了需要进行数据挖掘的目标后,接下来就需要从业务系统中抽取出一个与挖掘目标相关的样本数据子集。抽取数据的标准,一是相关性,二是可靠性,三是最新性。而不是动用全部企业数据。通过数据样本的精选,不仅能减少数据处理量,节省系统资源,而且能通过数据的筛选,使想要反映的规律性更加突显出来。

进行数据取样一定要严把质量关。在任何时候都不要忽视数据的质量,即使是从一个数据仓库中进行数据取样,也不要忘记检查其质量如何。因为数据挖掘是要探索企业运作的内在规律性,原始数据有误,就很难从中探索规律性。若从有误的数据中探索出来了“规律性”,再依此去指导工作,则很可能是在进行误导。若从正在运行着的系统中进行数据取样,则更要注意数据的完整性和有效性。

衡量取样数据质量的标准包括:

1)资料完整无缺,各类指标项齐全。

2)数据准确无误,反映的都是正常(而不是反常)状态下的水平。

对获取的数据,可再从中作抽样操作。抽样的方式是多种多样的,包括:

随机抽样:在采用随机抽样方式时,数据集中的每一组观测值都有相同的被抽样的概率。如按10%的比例对一个数据集进行随机抽样,则每一组观测值都有10%的机会被取到。

等距抽样:如按5%的比例对一个有100组观测值的数据集进行等距抽样,则有100/5=20,等距抽样方式是取第20、40、60、80和100五组观测值。

分层抽样:在这种抽样操作时,首先将样本总体分成若干层次(或者说分成若干个子集)。在每个层次中的观测值都具有相同的被选用的概率,但对不同的层次可设定不同的概率。这样的抽样结果可能具有更好的代表性,进而使模型具有更好的拟合精度。

从起始顺序抽样:这种抽样方式是从输入数据集的起始处开始抽样。抽样的数量可以给定一个百分比,或者就直接给定选取观测值的组数。

分类抽样:在前述几种抽样方式中,分类抽样的单位是一类观测值。这里的分类是按观测值的某种属性进行区分,如按客户名称分类、按地址区域分类等。显然在同一类中可能会有多组观测值。分类抽样的选取方式就是前面所述的几种方式,只是抽样以类为单位。3.2.3 数据探索

前面所叙述的数据取样,多少是带着人们对如何达到数据挖掘目的的先验认识进行操作的。当我们拿到了一个样本数据集后,它是否达到我们原来设想的要求;其中有没有什么明显的规律和趋势;有没有出现从未设想过的数据状态;因素之间有什么相关性;它们可区分成怎样一些类别。这都是要首先探索的内容。

这里的数据探索,就是我们通常所进行的深入调查的过程。你最终要达到的目的可能是要搞清多因素相互影响的、十分复杂的关系。但是,这种复杂的关系不可能一下子建立起来。一开始,可以先观察众多因素之间的相关性,再按其相关的程度,以了解它们之间相互作用的情况。这些探索、分析,并没有一成不变的操作规律性,因此要有耐心地反复试探,仔细观察。在此过程中,原来的专业技术知识是非常有用的,它会帮助你进行有效的观察。但是,你也要注意,不要让你的专业知识束缚了你对数据特征观察的敏锐性。可能实际存在着先验知识认为不存在的关系的情况,假如数据是真实可靠的话,那么绝对不要轻易地否定数据呈现的新关系,很可能这里就是发现的新知识。有了它,也许会在此后的分析中,引导你得出比原有的认识更加符合实际的规律性知识。假如在操作中出现了这种情况,应当说,数据挖掘已挖到了有效的矿脉。

对所抽取的样本数据进行探索、审核和必要的加工处理,是保证预测质量所必需的。可以说,预测的质量不会超过抽取样本的质量。数据探索和预处理的目的是为了保证样本数据的质量,从而为保证预测质量打下基础。

数据探索主要包括:异常值分析、缺失值分析、相关分析、周期性分析、样本交叉验证等。3.2.4 预处理

当采样数据维度过大,如何进行降维处理,采样数据中的缺失值如何处理,这些都是数据预处理要解决的问题。

由于采样数据中常常包含许多含有噪声、不完整、甚至是不一致的数据。显然对数据挖掘所涉及的数据对象必须进行预处理。那么如何对数据进行预处理以改善数据质量,并最终达到完善最终的数据挖掘结果的目的呢?

数据预处理主要包括以下内容。

1.数据筛选

通过数据筛选可从观测值样本中筛选掉不希望包括进来的观测值。对于离散变量可给定某一类的类值说明此类观测值是要排除于抽样范围之外的。对于连续变量可指定其值大于或小于某值时的这些组观测值是要排除于抽样范围之外的。

2.数据变量转换

将某一个数据进行某种转换操作,然后将转换后的值作为新的变量存放在样本数据中。转换的目的是为了使数据和将来要建立的模型拟合地更好。例如,原来的非线性模型线性化、加强变量的稳定性等。数据变量可进行取幂、对数、开方等转换。当然,也可给定一个公式进行转换。

3.缺失值处理

数据缺失在许多研究领域都是一个复杂的问题。对数据挖掘来说,空值的存在,造成的影响主要有:

系统丢失了大量的有用信息;

系统中所表现出的不确定性更加显著,系统中蕴涵的确定性成分更难把握;

包含空值的数据会使挖掘过程陷入混乱,导致不可靠的输出。

数据挖掘算法本身更致力于避免数据过分适合所建的模型,这一特性使得它难以通过自身的算法去很好地处理不完整数据。因此,空缺的数据需要通过专门的方法进行推导、填充等,以减少数据挖掘算法与实际应用之间的差距。

4.坏数据处理

如果抽取数据中存在坏数据(脏数据),则需要对坏数据进行预处理。通常的做法是采用绝对均值法或莱因达法等对样本中的坏点数据进行剔除处理。

5.数据标准化

数据标准化的目的就是要消除变量间的量纲关系,从而使数据具有可比性。比如一个百分制的变量与一个5分制的变量在一起怎么比较?只有通过数据标准化,都把它们标准到同一个标准时才具有可比性,一般标准化采用的是Z标准化,即均值为0,方差为1,当然也有其他标准化,比如0-1标准化等,可根据研究目的进行选择。

6.主成分分析

主成分分析(PCA)是指用几个较少的综合指标来代替原来较多的指标,而这些较少的综合指标既能尽可能多地反映原来较多指标的有用信息,且相互之间又是无关的。

PCA运算就是一种确定一个坐标系统的直交变换,在这个新的坐标系统下,变换数据点的方差沿新的坐标轴得到了最大化。这些坐标轴经常被称为是主成分。PCA运算是一个利用了数据集的统计性质的特征空间变换,这种变换在无损或很少损失了数据集的信息的情况下降低了数据集的维数。

7.属性选择

属性选择是数据预处理的一部分,因采集的数据中的每一个属性对于整个数据的挖掘结果的作用不是完全对等的,一些属性对结果的影响占主导地位,一些属性对结果的影响不大,甚至没有影响。采用相应的算法,对数据的属性值进行评估,如去掉某个属性后对挖掘结果无影响,从而减少后续挖掘算法的运行时间,同时也能有效地去除数据中含有的噪声数据。

如果建模数据集的维度较高,或输入属性与输出属性的相关性不明确时,对其进行属性选择是必要的步骤。综合考虑应用实现的复杂性,可使用标准属性选择方法,用一个评估标准对属性的有用性进行度量,并选择其最有用的一部分属性作为下一部分算法的输入。为了确定属性选择的标准,可选用多种方法进行属性评价,选出5~10个不同的属性,然后对于处理后的数据集进行测试,综合评价维度约减前后的预测模型的性能及效果。

属性选择用于对属性进行筛选,搜索数据集中全部属性的所有可能组合,找出预测效果最好的那一组属性,一般在预处理阶段进行。为实现这一目标,必须设定属性评估器和搜索策略。属性评估器是对属性/属性子集进行评估确定,决定了怎样给一组属性安排一个表示它们好坏的值。搜索策略确定搜索算法,决定了要怎样进行搜索。

8.数据规约

把繁杂的样本数据信息进行数据规约,简化以后存储在数据表中,避免数据的不一致性。3.2.5 模式发现

样本抽取完成并经预处理后,接下来要考虑的问题是:本次建模属于数据挖掘应用中的哪类问题(分类、聚类、关联规则或者时序模式),选用哪种算法进行模型构建?

模型构建的前提是在样本数据集中发现模式,比如关联规则、分类预测、聚类分析、时序模式等。在目标进一步明确化的基础上,我们就可以按照问题的具体要求来重新审视已经采集的数据,看它是否适应挖掘目标的需要。

针对挖掘目标的需要可能要对数据进行增删,也可能按照对整个数据挖掘过程的新认识,要组合或者生成一些新的变量,以体现对状态的有效的描述。

在挖掘目标进一步明确、数据结构和内容进一步调整的基础上,下一步数据挖掘应采用的技术手段就更加清晰、明确了。3.2.6 模型构建

确定了本次建模所属的数据挖掘应用问题(分类、聚类、关联规则或者时序模式)后,还需考虑:具体应该采用什么算法,实施步骤是什么?

这一步是数据挖掘工作的核心环节。模型构建是对采样数据轨迹的概括,它反映的是采样数据内部结构的一般特征,并与该采样数据的具体结构基本吻合。对于预测模型(包括分类与回归模型、时序预测模型)来说,模型的具体化就是预测公式,公式可以产生与观察值有相似结构的输出,这就是预测值。预测模型是多种多样的,可以适用于不同结构的样本数据,因此,对一个具体采样数据,就有选择适当预测模型的问题。正确选择预测模型在数据挖掘过程中是具有关键性的一步。有时由于模型选择不当,造成预测误差过大,就需要改换模型。必要时,可同时采用几种预测模型进行运算以便对比、选择。对建立模型来说,要记住最重要的就是它是一个反复的过程。需要仔细考察不同的模型以判断哪个模型对问题最有用。

预测模型的构建通常包括模型建立、模型训练、模型验证和模型预测4个步骤,但根据不同的数据挖掘分类应用会有细微的变化,本书在第二部分中对每个案例的建模步骤都有详细描述。3.2.7 模型评价

模型评价的目的是什么?如何评价模型的效果?通过什么评价指标来衡量?

从前面的建模构建过程中会得出一系列的分析结果、模式或模型。同一个采样数据可以利用多种数据分析方法和模型进行分析,模型评价的目的之一就是从这些模型中自动找出一个最好的模型出来,另外就是要针对业务对模型进行解释和应用。

模型效果评价通常分两步,第一步是直接使用原来建立模型的样本数据来进行检验。假如这一步都通不过,那么所建立的决策支持信息价值就不太大了。一般来说,在这一步应得到较好的评价。这说明你确实从这批数据样本中挖掘出了符合实际的规律性。第一步通过后,第二步是另外找一批数据,已知这些数据是反映客观实际的、规律性的。这次的检验效果可能会比前一种差,差多少是要注意的,若是差到所不能容忍程度,那就要考虑第一步构建的样本数据是否具有充分的代表性,或是模型本身是否够完善。这时候可能要对前面的工作进行反思了。若这一步也得到了肯定的结果时,那所建立的数据挖掘模型应得到很好的评价了。

对预测模型和聚类模型的评价方法是不同的。

1.预测模型评价

预测模型对训练集进行预测而得出的准确率并不能很好地反映分类模型未来的性能,为了能预测一个分类模型在新数据上的性能表现,需要一组没有参与分类模型建立的数据集,并在该数据集上评估分类器的准确率,这组独立的数据集叫测试集。这是一种基于验证的评估方法,常用的方法有保持法、随机二次抽样、自助法、交叉验证等。

模型预测效果,通常用相对绝对误差、平均绝对误差、根均方差、相对平方根误差等指标来衡量。(1)绝对误差与相对误差

设Y表示实际值,表示预测值,则称E为绝对误差(Absolute Error),计算公式如下:

称e为相对误差(Relative Error),计算公式如下:

有时相对误差也用百分数表示:

这是一种直观的误差表示方法。(2)平均绝对误差

平均绝对误差(Mean Absolute Error, MAE)定义如下:

式中各项的含义如下:

MAE:平均绝对误差;

E:第i个实际值与预测值的绝对误差;i

Y:第i个实际值;i:第i个预测值。

由于预测误差有正有负,为了避免正负相抵消,故取误差的绝对值进行综合并取其平均数,这是误差分析的综合指标法之一。(3)均方误差

均方误差(Mean Squared Error, MSE)定义如下:

式中,MSE表示均方误差,其他符号同前。

本方法用于还原平方失真程度。

均方误差是预测误差平方之和的平均数,它避免了正负误差不能相加的问题。由于对误差E进行了平方,加强了数值大的误差在指标中的作用,从而提高了这个指标的灵敏性是一大优点。均方误差是误差分析的综合指标法之一。(4)均方根误差

均方根误差(Root Mean Squared Error, RMSE)定义如下:

式中,RMSE表示均方根误差,其他符号同前。

这是均方误差的平方根,代表了预测值的离散程度,也叫标准误差,最佳拟合情况为RMSE=0。均方根误差也是误差分析的综合指标之一。

均方根误差代表两种估算值的变异程度指标,均方根误差最佳拟合情况为RMSE=0。(5)平均绝对百分误差

平均绝对百分误差(Mean Absolute Percentage Error, MAPE)定义如下:

式中,MAPE表示平均绝对百分误差。一般认为MAPE小于10时,预测精度较高。(6)Kappa统计

Kappa统计是比较两个或多个观测者对同一事物,或观测者对同一事物的两次或多次观测结果是否一致,以由于机遇造成的一致性和实际观测的一致性之间的差别大小作为评价基础的统计指标。Kappa统计量和加权Kappa统计量不仅可以用于无序和有序分类变量资料的一致性、重现性检验,而且能给出一个反映一致性大小的“量”值。

Kappa取值在[-1,+1]之间,其值的大小均有不同意义。

Kappa=+1说明两次判断的结果完全一致;

Kappa=-1说明两次判断的结果完全不一致;

Kappa=0说明两次判断的结果是机遇造成;

Kappa<0说明一致程度比机遇造成的还差,两次检查结果很不一致,在实际应用中无意义;

Kappa>0说明有意义,Kappa越大,说明一致性越好;

Kappa≥0.75说明已经取得相当满意的一致程度;

Kappa<0.4说明一致程度不够。(7)识别准确度

识别准确度(Accuracy)定义如下:(8)识别精确率

识别准确率(Precision)定义如下:(9)反馈率

反馈率(Recall)定义如下:

式中各项说明如下:

TP(True Positive):表示正确肯定的分类数;

TN(True Negative):表示正确否定的分类数;

FP(False Positive):表示错误肯定的分类数;

FN(False Negative):表示错误否定的分类数。(10)ROC曲线

受试者工作特性(Receiver Operating Characteristic, ROC)曲线是一种非常有效的模型评价方法,可为选定临界值给出定量提示。将灵敏度(Sensitivity)设在纵轴,1-特异性(1-Specificity)设在横轴,就可得出ROC曲线图。该曲线下的积分面积(Area)大小与每种方法优劣密切相关,反映分类器正确分类的统计概率,其值越接近

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载