基于数据挖掘的电信行业客户流失预测

基于数据挖掘的电信行业客户流失预测

ID:33384115

大小:4.17 MB

页数:78页

时间:2019-02-25

上传者:U-22107
基于数据挖掘的电信行业客户流失预测_第1页
基于数据挖掘的电信行业客户流失预测_第2页
基于数据挖掘的电信行业客户流失预测_第3页
基于数据挖掘的电信行业客户流失预测_第4页
基于数据挖掘的电信行业客户流失预测_第5页
资源描述:

《基于数据挖掘的电信行业客户流失预测》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

分类号UDC密级基于学号1008100542数据挖掘的电信行业客硕士学位论文户流失预测基于数据挖掘的电信行业客户流失预测张线媚张线媚西安学科名称:通信与信息系统理学科门类:工学工指导教师:王林教授大学申请日期:2013年6月 摘要论文题目:基于数据挖掘的电信行业客户流失预测学科名称:通信与信息系统研究生:张线媚签名:指导教师:王林教授签名:摘要在电信这个服务型行业中,企业的经济效益、声誉和信誉直接受客户关系管理工作的影响,特别是在当今多家企业共同竞争的局面下,客户关系管理工作的质量显得尤为重要,而在客户关系管理工作中,客户流失预测是一个最基础也是最重要的部分。因此,利用数据挖掘技术分析数据库中的相关数据,预测出即将流失的客户以及存在潜在流失可能性的客户,针对性的采取措施挽留客户,为市场策划战略提供支持对企业的持续发展至关重要。某电信企业的数据仓库中包含客户基本信息、客户业务、通话时段、通话时长、缴费账单等数据。对这些海量的通话数据和账单数据进行整理之后,使用数据挖掘技术中的聚类方法对客户进行类别划分,将已有客户细分为不同的类别,便于对预测的流失客户的特征做出总结,从而有效的采取措施,指导市场策划。将客户所在的类别编号作为新的特征项添加到客户基本信息数据中,为流失预测增加一个强相关特征项,再利用数据挖掘技术中决策树分类算法对数据做出分析,预测有可能流失的客户,总结流失客户的基本特征,针对不同类别的流失客户采取不同的挽留措施,完善现有的市场销售策略,同时提出新的战略计划,提高企业的市场竞争力,最终获取最大效益。本论文主要是对客户进行聚类分析和流失预测,根据客户聚类分析的结果,利用客户基本信息、通话及账单数据,建立客户流失预测的模型,进行实际的验证,对比预测结果与实际的客户状态,对模型进行评估和优化,总结出流失客户的基本特征,从而有效的指导市场策划。关键词:客户流失;数据挖掘;决策树;CART算法;聚类分析;SAS;客户流失预测模型I 西安理工大学硕士学位论文II AbstractTitle:PREDICTIONOFCLIENTCHURNINGONDATAMININGINTELECOMMajor:CommunicationandInformationSystemName:XianMeiZHANGSignature:Supervisor:Prof.LinWANGSignature:AbstractInthetelecommunication,suchaserviceindustry,thecustomerrelationshipmanagementworkcaninfluencetheeconomicbenefitofenterprise,reputationandcredibilitydirectly.Currently,manyenterprisescompeteforoccupyingmarket,anditisespeciallyimportanttomanagecustomerrelationship.Butcustomerchurnpredictionisoneofthemostbasicandthemostimportantparts.Therefore,itisveryimportantfortheenterprise'ssustainabledevelopment,usingdataminingtechnologytoanalyzerelateddataofdatabaseforthepurposeofpredictinglostandpotentiallostcustomers.Sothatmeasurescanbetakentoretaincustomerspointedlyandtosupportforthemarketplanningstrategy.Atelecomenterprisedatawarehousecontainsthebasicinformationabouttheclients,customersbusiness,calltime,thetalkingtime,payingbillsetcdata.Afterprocessingthesemasscalldataandbillingdata,usingclustermethodofdataminingtechnologytoclassifyallclientsintodifferentcategoriessothatwecansummarzethelostcustomers'characteristicsconvenientlyandfinallytakemeasurestoguidethemarketplanningeffectively.Furthermore,addingthenumbersofthestrategywhichacustomerisdividedintothedatabaseasastrongcorrelationcharacteristicsitemsforprediction,andthenusingdecisiontreeclassificationalgorithmfordatamingforthepurposethatwecatforecastthelostcustomersandsummarizethebasiccharacteristics.Atlast,weshouldadoptdifferentmeasuresinviewofthedifferenttypesoflostcustomers,perfecttheexistingmarketsalesstrategy,andputforwardthenewstrategicplantoenhancetheenterprise’sabilityofmarketcompetitionandmaximizethebenefits.Thisthesismainlyclusteredthecustomersandestablishedapredictionmodelforchurningclientsaccordingtothecustomerclusteringanalysisresultsandbasicinformationabouttheclients,callandbillingdata,usingdecisiontreealgorithm.Wefinallydidn’tonlycarryontheactualverification,comparethepredictionresultswiththeactualstateofthecustomersandevaluatedtheperformanceofthemodelandoptimizedit,butalsosummarizedthebasiccharacteristicsoflostcustomers,soastoguidethemarketplanningeffectively.Keywords:Clientchurn;Datamining;Decisiontree;CARTalgorithm;Clusteranalysis;SAS;DirectionmodelforclientchurnIII 西安理工大学硕士学位论文IV 目录目录1前言··········································································································11.1课题研究背景·······················································································11.2数据挖掘技术的研究与应用现状······························································21.2.1国外的研究与应用现状···································································21.2.2国内的研究与应用现状···································································31.3课题的研究内容····················································································41.4论文的组织结构···················································································42数据挖掘技术与工具·····················································································72.1数据挖掘的概念与模型体系····································································72.1.1数据挖掘的概念············································································72.1.2数据挖掘的模型体系······································································82.2数据挖掘的实现过程············································································112.3数据挖掘的主要技术············································································132.4常见的数据挖掘工具············································································142.5数据挖掘技术的应用及发展趋势·····························································162.5.1数据挖掘技术的应用热点和现状·····················································162.5.2数据挖掘技术的发展趋势······························································182.6本章小结···························································································193数据挖掘在电信行业中的应用········································································213.1电信行业中数据挖掘的概述···································································213.2客户细分···························································································223.3客户流失预测·····················································································223.4交叉销售···························································································233.5客户社交网络分析···············································································243.6异常客户检测·····················································································243.7本章小结···························································································244聚类算法与决策树算法················································································274.1聚类算法···························································································274.1.1划分方法····················································································284.1.2层次方法····················································································304.1.3基于密度方法··············································································324.1.4基于网格方法··············································································324.1.5基于模型方法··············································································334.2决策树算法························································································334.2.1ID3分类算法··············································································344.2.2C4.5算法···················································································364.2.3CART算法·················································································394.2本章小结···························································································425基于客户通话记录和账单数据的聚类分析························································455.1数据准备及预处理··············································································455.1.1样本选择和数据描述····································································455.1.2数据预处理·················································································465.2客户聚类分析·····················································································47i 西安理工大学硕士学位论文5.2.1客户聚类分析流程·······································································485.2.2聚类分析结果显示········································································505.3本章小结···························································································556基于客户聚类分析结果的流失预测·································································576.1数据准备···························································································576.2客户流失预测·····················································································576.2.1客户流失预测流程········································································576.2.2客户流失预测结果分析·································································596.3本章小结···························································································637总结与展望································································································65致谢···········································································································67参考文献·····································································································69ii 前言1前言1.1课题研究背景近年来人们不断将信息处理技术应用在产生和采集数据的工作当中,而且应用的幅度大幅增加,企业在管理的工作中、政府的办公以及科研工程等许多行业工作中都用到了许多大型数据库,并且这种趋势将会继续延续下去,例如:企业交易与运营数据、卫星遥测数据、监控音频和图像数据、生物药学试验与医疗整治等数据,如此的海量数据一般都被收集在数据库中,通过数据库管理系统(DBMS)进行相应的管理。只有充分利用这些数据为公司自身的业务决策和战略发展服务时它们才真正的成为了公司的资源,否则大量的【1】数据反而会是包袱,甚至成为垃圾。然而在这个被称为“信息爆炸”的时代,人们分析数据提取有用知识的技术是有限的,如何从中及时发现有用知识、提高信息利用率不被信息的汪洋大海所淹没是我们必须面对的问题。【2】数据挖掘(DataMining)技术将传统的数据分析方法与处理大数据量的复杂算法相结合,突破了传统数据分析技术在海量数据面前的局限,受到了广泛关注。数据挖掘是目前人工智能和数据库领域研究的热点问题,它是一种结合人工智能、机器语言学习、模式识别、统计学、数据库和可视化等技术的支持决策的过程,根据命令要求来处理解释企业采集的数据对象,推导出具有普遍意义的模式和结论,从而探寻出可以为管理者调整市场策略、减少风险、制定正确的决策方案提供知识支持的具有实际应用价值的数学模型或模式。在电信这个服务型行业中,企业的经济效益、声誉和信誉直接受客户关系管理工作的影响,特别是在当今多家企业共同竞争的局面下,客户关系管理工作的质量显得尤为重要,而在客户关系管理工作中,客户流失预测是一个最基础也是最重要的部分。因为,在一般情况下,开发一位新增加的客户所需的工作和资金比采取措施留住一位原有客户的花费要高出很多倍,客户流失预测和客户保持已经成为电信行业中企业持续经营取得成功的基础。国内外通信行业运营商普遍认为新入网的客户在一开始的两个月内有大约10%的可能性会流失,针对这种状况,运营商通常会成立一个被称为“呼叫中心”的经营系统,在新入网的客户开通移动电话大约一个月的时候,通过回访的方式与客户取得联系,了解客【3】户需求和意见,但实际上这种措施不太有效。针对当前市场的发展状况,电信运营商只有将发现潜在新客户的工作与管理流失客户的工作同时进行,并且实施高效的管理措施完成对客户关系的治理,从而减少客户流失的比例,增大挽留客户的比例,留住那些对企业有贡献价值的客户,才能使得企业在经济利润上的持续增长。市场的日渐成熟和竞争的加剧促使电信公司将重点放在了现有客户的管理上,因此,近年来好多的电信运营商都开始1 西安理工大学硕士学位论文建立客户流失预测模型。本课题通过解释分析和挖掘某电信企业的通话详单和账单数据,采用聚类分析方法划分了客户类别,将客户的类别编号作为新的考虑因子添加到数据集中,建立了客户流失预测的模型,并且对模型进行评估优化和实际的检测对比,总结了流失客户的基本特征,为企业制定差异化营销策略提供帮助。1.2数据挖掘技术的研究与应用现状1.2.1国外的研究与应用现状数据挖掘技术的应用领域十分广泛,包括电信业、金融业、零售业、医药行业等。电信、证券、保险、信用卡等公司采用数据挖掘技术进行欺诈检测,以便发现欺诈行为,减少损失;零售业利用数据挖掘决定商品的不同存放地点、不同商品的促销和优惠手段;商业部门把数据视为一种竞争性的财富,为此需要把大型市场销售数据库演变成一个数据挖【1】掘系统;医药卫生行业利用数据挖掘,预测外科手术、药物试验和医疗效果的结果。国外应用数据挖掘技术的公司已经十分普遍,大多开发了数据挖掘应用系统,实现了数据到价值的转变。作为在市场营销数据库的应用者之一,科拉福特食品公司(KGF)通过各种促销手段得到3000万个消费客户的详情记录,在生产了新商品之后,及时将新商品的优惠券送给这些消费者,利用数据库中记录的新产品的使用和销售情况,记录产品性能的回馈意见,在这些数据中应用数据挖掘技术将其演变成一个数据分析系统来为市场策略做指导,提升【2】公司的营业状况。美国Firstar银行使用“arksman”数据挖掘工具,根据客户的消费模式预测何时为顾客提供何种商品。美国Mellon银行利用数据挖掘工具分析客户的消费与收入看出哪些用【2】户具有潜在创利能力,提高销售和定价金融产品的准确度。Reuteres公司是世界上著名的金融行业中的信息服务公司之一,利用的大多数数据都是来源于其他企业,数据在质量上的要求高低直接决定了公司的生死存亡,所以必须对数据进行错误成分的检测。Reuteres公司利用SPSS/Clementine工具,建立起数据挖掘模型,【1】准确地发现错误的数据成分,确保了提供的服务信息的准确性和权威性。美国的AutoTrader.com是世界最大的汽车销售站点,每天都会有大量的用户对其站点上的信息进行点击浏览,他们运用SAS(StatisticAnalysisSystem)软件进行数据挖掘,每天对数据进行分析,找出用户的访问模式,就用户对产品的喜欢程度进行判断,并设立【4】特定服务,从而改进站点的服务取得成功。比利时国家电信经纪人使用客户信息数据仓库中超过1万亿字节的数据,包括超过四个月的客户通话消费记录。利用检测欺诈的方法,可以迅速找出异常和欺诈性的通话行为。2 前言USWEST公司将销售管理软件与SAS的EnterpriseMiner结合,对计划中的销售活动进行策划、执行与评估,使得公司的营销周期大为缩短,并且由于对市场更具细致和针【2】对性的划分,提高了企业的投资营销回报。美国企业TravelWind一直以来主要的服务是提供基础性的旅行服务,诸如机票预定、旅馆预定等。公司为了准确了解即将推出的一些高附加值产品和服务真实潜在需求的实际情况做了一次问卷调查,通过对问卷数据的整理和后续的数据挖掘工作,制定了一些有价值的市场营销方案。通过聚类分析发现存在两个群体——大众消费群体和高端消费群体,为此公司针对性的为不同的客户群体制定了适当的服务和产品,企业的发展走向了新的佳【3】境。英国电信将数据挖掘技术应用到客户创造价值的可能性预测工作的建模当中,通过模型来发现潜在客户的消费意向,预测出如果将他们发展成真正的客户之后他们能够创造的潜在利润,有针对性的来开发适应于不同客户的相应的产品。Vodofone公司将数据挖掘工具与相关技术相结合,研究可能导致客户流失的各种原因,从而根据研究建立了模型,考虑不同的特征因素来划分客户和市场。法国电信将数据挖掘工具和相关技术应用在发现和治理客户的欺诈行为、预测和挽留即将流失的客户、市场细分后的交叉销售等工作中并取得了一定成就。韩国SKTelecom公司的客户关系管理工作中,采用数据挖掘技术分析客户通话行为,【3】预测通话中的短线情况。1.2.2国内的研究与应用现状与国外数据挖掘技术全面开花,成果丰硕的情况相比,国内的研究与应用开展的比较晚,国内使用的数据挖掘软件绝大多数都是从国外引进的,商业案例和应用系统还不多见,自主创新的数据挖掘软件基本上是空白。近年来,国内许多高校和研究所都建立了专门的数据挖掘研究机构,开设数据挖掘的相关课程,建立一些平台探讨数据挖掘技术。目前,国内的数据挖掘研究人员大多集中在高校,部分在研究所和公司,研究领域主要是数据挖掘理论、数据挖掘算法、数据挖掘的实际应用。在应用方面,菲奈特-融通公司在IBM数据挖掘软件的基础之上开发了商业智能套件BI.Office及其后续智能套件,为企业构建专有的决策系统和商业智能解决方案。广州华【3】工明天科技有限公司开发了多功能数据挖掘器(AFDM1.0)。中国电信将建设数据仓库的工作开展到了许多城市,为数据挖掘的持续深入发展打下了坚实的基础,典型的像广东电信在建设多媒体网络综合业务关系的系统时很好的使用了Sybase数据仓库解决方案。近一两年来,一些有实力的电信企业开始考虑到挽留高价值客户的必要,逐步着手对这些历史数据进行挖掘。3 西安理工大学硕士学位论文海南航空使用马克威尔分析系统,分析燃油、客流等的变化趋势,以航线收益为目标量进行数据挖掘,制定精确的营销策略,提高了企业的效益。中国移动采用马克威尔分析系统对用户WAP上网行为进行聚类分析,将用户划分为不同群体,实施差异化的营销方【3】案。厦门、杭州电信则促进了数据挖掘在技术和系统构架建设上的发展。相比国外的发展,国内的数据挖掘在通信业的应用起步较晚,发展较慢,在客户流失方面的研究也都是八仙过海的局面,没有统一的解决方案。虽然国内在数据挖掘领域与国外仍有较大的差距,但随着国内越来越多的研究人员关注并深入研究这一领域,这种差距将会逐渐缩小。1.3课题的研究内容本文主要是通过学习数据挖掘技术的相关理论和方法结合数据挖掘工具,开发人机交互的分析与流失预测系统,实现对通话详单和账单进行客户聚类分析和流失预测,研究所使用的语言为VB、SQL和SAS,数据挖掘工具为SAS9.1.3,数据库版本为SQLServer2005。本文研究工作主要包括以下几个方面:(1)学习数据挖掘技术的理论、主要算法和关键技术;(2)介绍数据挖掘技术在电信领域的应用场景与发展趋势;(3)重点介绍本文在数据挖掘过程中所采用的聚类分析和决策树算法;(4)利用数据库和SAS软件对数据进行预处理;(5)通过设计分析与查询系统,对通话记录及账单数据进行聚类分析,完成客户类别的划分工作;(6)设计分析与查询系统界面,实现对客户流失有否的预测;1.4论文的组织结构本文主要由以下章节构成:第一章前言:主要介绍课题的研究背景与意义、国内外研究和应用的现状以及课题的研究内容;第二章数据挖掘技术与工具:介绍数据挖掘技术的理论、关键技术和主要算法,介绍常见的几种数据挖掘工具;第三章数据挖掘在电信业的应用场景:介绍数据挖掘技术在电信行业的应用与发展前景;第四章聚类算法与决策树算法:重点是K-means算法和决策树中CART算法;4 前言第五章基于客户通话和账单数据的客户聚类分析:通过分析与查询系统界面对预处理后的通话及账单数据进行客户聚类分析,划分客户类别;第六章基于客户聚类分析结果的流失预测:利用客户聚类分析的结果,将客户划分类别,将类别编号添加到数据集建立流失预测模型,进行预测和评估;第七章总结与展望:对论文所做的工作进行总结,展望下一步的研究内容。5 西安理工大学硕士学位论文6 数据挖掘技术与工具2数据挖掘技术与工具随着计算机软硬件技术的发展,尤其是计算机网络的发展与普及,计算机处理和存储的数据,正以难以预计的速度增长,许多组织机构的IT系统都存储了大量的数据。但是这些海量数据的冗余度过高,如何提取有用的信息是一项艰巨的任务。现有的数据仓库系统对于数据的录入、查询和统计等有一定的有用之处,但是对于探寻海量数据中隐藏的关系、规律和预测未来的发展趋势存在瓶颈。传统的分析方法与工具已无法满足大数据量或具有非传统特点的数据的分析要求,比如大数据量要求算法具有可伸缩性、数据属性多要求算法能够处理高维度的数据、异种数据与复杂数据如何处理、数据分散要求分布式的数【3】据分析、非假设-检验模式的非传统分析方法等。面对这些难题与挑战,数据挖掘技术作为一门新兴的交叉学科,涉及数据库、统计学、机器学习、可视化、信息检索和高性能计算等诸多领域,甚至包括人工智能(ArtificialIntellegence,AI)、模式识别、空间数据分析、图像处理、概率论、图论和归纳逻辑等,被广泛用来发现这些海量数据中隐藏的潜在关系和规则。2.1数据挖掘的概念与模型体系数据挖掘的提出是在20世纪80年代,它是一个新兴的、面向商业应用的AI研究领域。随后集中讨论了数据统计、海量数据分析算法、知识表示和运用等问题。近年来数据挖掘已经成为了客户关系管理、商业智能等热点领域的核心技术之一。2.1.1数据挖掘的概念数据挖掘也可称为数据库知识发现(KDD,KnowledgeDiscoveryinDatabase),是一种用于从大型数据库中提取预先未知和潜在有用信息的极具潜力的信息技术工具。在技术研究领域,数据挖掘是指从大量含噪的、不完整的模糊随机过程中和实际数据中,发现其中不为人知的、但存在潜在应用价值的“财富”的过程。在商业应用领域,用数据挖掘来处理商业信息,是一种新的处理技术,其主要是通过筛选、格式转变、特征分析以及其他类似模型化的处理技术对数据库中的大量的业务数据进行处理,从中发现和收集一些在商【1】业决策上起辅助作用的的关键性信息和知识。数据挖掘本质上是一种深层次的数据分析方法,也就是针对客户制定的商业指标,通过对存在于数据库中的海量数据对象做深入的探究和分析,总结并解释其中暗含的知识或验证已知的规律,最后形成模型化的应用规则的有效方法。数据挖掘实现从原始数据寻找关系与模式过程的自动化,然后传递结果给自动决策支持系统,或者供决策制定者进行评估,帮助增强客户关系管理(CRM)和评估7 西安理工大学硕士学位论文【4】投资回报率(ROI)。2.1.2数据挖掘的模型体系典型的数据挖掘系统组件包括:数据库或数据仓库,数据库或数据仓库服务器,知识【5】【6】库,数据挖掘引擎,模式评估模块,图形化用户界面。系统架构如图2-1所示,其中主要组件功能如下:知识库:用作数据挖掘的方向性指导和评估挖掘结果价值的标准。数据挖掘引擎:属于数据挖掘系统的核心,包含着进行关联分析、分类、聚类分析、预测建模、特征发现和偏差分析等目的的功能模块。模式评估模块:用于评估模式的价值、过滤发现的模式,并且可以和数据挖掘引擎交互,利于将注意力集中在有价值的模式上。此模块可集成在数据挖掘引擎中。图形化用户界面:便于用户与数据挖掘系统进行交互,指派挖掘任务,利用挖掘中间结果进行多步分析,以多种形式对挖掘结果进行呈现。图2-1数据挖掘系统构架Figure2-1SystemStructureofDataMining1.SEMMA模型【5】SEMMA模型是SAS提出的数据挖掘过程模型,由抽样(sample)、探索(explore)、修正(modify)、建模(model)、和评估(assess)五个步骤组成,模型体系如图2-2所示。(1)数据取样进行数据挖掘时,要求先从数据库中筛选出那些与挖掘目标相关联的数据构成数据子集,多次精选简化数据集,从而达到缩减数据处理量、节省系统资源的目的、突出数据所显示的规律的目的。(2)数据特征探索、分析和预处理完成数据取样后,判断样本是否与预想的要求匹配、是否存在明显的规律和趋势、各8 数据挖掘技术与工具个特征项是否关联、可被划分为怎样的类别等内容都是需要最先进行探索的内容。对数据特征进行探索分析时,尽量采用可视化的操作,显示各种统计分析的结果,而且可进行多维、动态甚至旋转的显示。(3)数据调整和技术选择在对数据的状态和趋势有了更深了解之后,会更明确待解决的问题,然后再对需求进行量化,按照问题的具体要求审视数据集,从而确定是否满足要求。(4)模型的研发、知识的发现挖掘过程中可能需要各种不同类型的模型、不同特征数据的回归分析,其中包括对实型、有序和属性数据等做一些处理工作,以便得到一些有用的统计量和诊断信息。(5)优化、调整,综合评价在数据挖掘的各个步骤,都要尽量保证所使用的数据和建立的模型的灵活可变性,使其易于调整、修改和变动,确保整个数据挖掘工作的顺利执行,针对需要可能要对数据进行增删,也可能要对最初的数据集组合或生产一些新的变量,保证最后挖掘的有效信息的【2】利用价值。图2-2数据挖掘过程模型——SEMMAFigure2-2TheSEMMAModelofDataMining2.CRISP-DM模型【5】CRISP-DM(CrossIndustryStandardProcessforDataMining)模型(如图2-3所示)是由欧洲委员会和一些数据挖掘软件厂商在1996年联合开发的,目的是把数据挖掘过程标准化,使数据挖掘的实施速度更快、成本更低、可靠性更高,并且易于管理。模型划分六个阶段:(1)业务理解(businessunderstanding):站长商人的位置全面理解项目需求和既9 西安理工大学硕士学位论文定目标,将其有数据挖掘的知识解释清楚,同时设计一个初始计划。这个阶段首先要做的是从商业角度全面理解客户真正希望达到的目的,客户的目标通常具有一定的挑战性,而且有很多限制,需要很好的权衡,找到影响整个项目的重要因素。因此,通常要先了解有关组织或企业商业的详细信息,然后从商业角度描述客户的最主要目标,最后考虑商业成功标准(描述一个数据挖掘项目的结果是否成功)来确定业务目标。在确定了业务目标之后接着就要考虑商业环境了,这将涉及对很多资源、约束、假定等整个项目计划和目标有影响的因素的仔细考察。首先,确定资源,列出项目相关的全部资源(包括人、数据、项目所需的软硬件环境等);其次,确定客户目标的需求、假定和约束条件,包括项目日程、结果的质量要求、安全性以及法律相关问题;最后,确定企业的成本和收益,这个过程中要考虑期间的意外和风险开销。做了以上工作之后,可以按照数据挖掘的一般过程来提出数据挖掘的项目计划,并且对使用的技术和工具做初步的估计和计划。(2)数据理解(dataunderstanding):收集未经处理的数据,了解并熟悉数据,识别数据的质量、找到对数据的基本观察,找出跟项目相关的数据子集。获取在项目资源中所列出的原始数据,对分散的数据源进行集成,查看数据的表面特性,描述数据的格式、质量、字段数、记录条目等。获取了基本的资源数据之后要对其进行探索,包括分析关键属性、预测任务的目标属性、属性间的关系、简单聚集的结果、重要自己的特征和简单的统计分析。在此基础上还需要进行数据质量的检查,判断数据是否有缺失值、是否正确,对于缺失值和错误数据提出相应的处理方案。(3)数据准备(datapreparation):该阶段包括从数据构造到最终形成数据挖掘所需完整的数据集合。这一步骤可能需要多次操作,而且在执行中没有任何规律可言。其中,要选择数据和表以及记录属性,还要对选取的数据资源做数据清洗、修正和填补,甚至数据衍生,以便提高数据的质量,最后对处理过的数据子集做一个整合,形成符合所选工具和技术的数据格式。(4)建立模型(modeling):对于数据挖掘领域的多种建模技术,设置其参数为最优值。对于建立模型,同一个目标的模型可能有不同的算法和技术,不同的算法和技术所要求的数据格式和假设也都不同,而且最后挖掘出来的知识的利用率和准确性都会不同,所以要根据商业目标来选取合适的算法技术。在初步建立了模型之后需要进行测试,在真正生成模型之前,需要建立一个测试过程或者机制以保证模型的质量和准确性。因此,可以将数据分为训练集和测试集,在训练集上建立模型,在测试集上检测所建模型的准确性。(5)模型评估(evaluation):在最后将模型投入到市场应用前,多次检查挖掘的过程,对其进行彻底的评价,认定模型确实达到或最大程度的接近业务目的。根据测试集和训练集在模型上的数据挖掘结果的对比,对模型进行优化,确定某些重10 数据挖掘技术与工具要的商业问题充分的考虑到了,甚至可以用实际的数据进行测试。回顾模型的每个流程,确定没有任何失误,根据结果评估得到的最终结论来确定下一步的工作。(6)系统部署(deployment):对于模型最终挖掘的结果和信息,用报告或者建立可多次挖掘的过程或系统的形式呈现出来。图2-3CRISP-DM模型Figure2-3TheCRISP-DMModelofDataMiningCRISP-DM模型展现了进行完整的数据挖掘的一般过程和步骤,但是对于一个数据挖掘系统而言,实际上通常只执行其中的数据准备、建立模型、模型评估三个步骤,业务理【2】解和数据理解则是为数据挖掘系统准备输入,模型部署则是数据挖掘系统的实施,便于商业的后续应用经营。2.2数据挖掘的实现过程数据挖掘是一个周而复始的过程,基本的数据挖掘实现过程包含五个步骤:确定问题、【7】数据准备、数据挖掘、结果的表达和解释、知识的应用。整个过程的每个步骤产生的结果与期望差距较大时,常常需要重复前面的步骤以做修正,基本的实现过程如图2-4所示,在数据挖掘工作进行以前必须对待分析数据和处理业务非常熟悉,否则在选取算法时将出现困惑,导致最后即使挖掘出来有用知识后,也不能给出任何恰当的专业领域的解释。(1)确定问题:为了充分进行数据挖掘,用户必须清晰表明决策目标是什么,不同的业务目标将需要不同的数学模型。一个好的目标应该明确要解决的企业问题,并有可度量的结果,这些结果能够指导下一步的行动,为企业提供有效的帮助。(2)数据准备:有效的数据准备工作包括数据收集、数据评估、数据的合并与清除(消除噪声、冗余数据)、数据选择和数据转换(离散型数据与连续型数据之间的转换)等,有时候这些工作还需要反复进行,最需要花费时间。从企业的数据库中收集所需的数据(有的数据甚至需要从公共数据库或者外部专用数据库购买)之后,对其进行评估,以确定将会影响模型质量的数据特征。当数据来自多个数据库时,有必要将它们合并到一个单一的数据库,因此,可能需要处理不一致的数据定义、不同的数据编码、同一个数据中不一致11 西安理工大学硕士学位论文的条目值等问题。除此之外,还要考虑数据的格式、度量单位以及什么时间在什么条件下收集等问题。数据的选择主要是针对要解决的问题考虑的,选取真实度高、准确率高、对目标影响最大的那些特征项数据,从而挖掘出高价值的知识。选择好数据后可能还需做数据转换工作,因为不同的目标选取的算法技术和工具都不同,不同的算法和工具要求的数据形式,或者说数据输入方式不同,因此要根据不同的情况对数据做相应的转换。(3)数据分析:也称挖掘,是最为关键的一步,实施具体的数据挖掘操作,首先要根据要解决问题的企业目标确定模型,选择合适算法的参数,对数据做具体的分析,开采出有用信息,对挖掘的知识进行验证。具有普遍应用的算法主要有:决策树、分类、聚类、粗糙集、关联规则、人工神经网络和遗传算法等,涉及到了多个学科领域的交叉结合。(4)结果的表达和解释:从挖掘结果中筛选出符合用户要求的最有应用价值的信息,大部分信息是数学表达式,很难理解,所以需要用决策支持工具将其解释成可理解和应用的方式,最后供决策者使用。此操作不止表示了最终结果,而且过滤处理了挖掘知识。对于挖掘出来的知识,如果用户表示不满意,可以重复使用数据挖掘过程,直到挖掘出用户满意的结果。(5)知识的应用:将模型携带的信息呈现给客户,可以通过模型报告或者在应用系统中使用来实现。通常可以看知识本身描述的关系或结果来为决策者提供支持,也可以将挖掘的信息应用到新的数据中,根据产生的新问题对解释出来的知识再次调整优化。挖掘出来的有用知识在得到应用之后,还必须严格检测模型的工作情况。因为作为企业经营者来看,数据挖掘的工作要一直持续进行,数据库中的数据也在不断更新,所以不同时段的数据所体现出来的知识也是不同的,对模型的检测还是很有必要的。监控模型在不断变化的实际应用环境中的反馈,对模型做进一步的考察与修正,评估模型的工作性能,并且有针对性的做出优化,以确保模型在任何时段的工作。图2-4数据挖掘实现过程Figure2-4TheRealizationProcessofDataMining12 数据挖掘技术与工具2.3数据挖掘的主要技术数据挖掘将传统分析方法与处理大量数据的算法相结合,是一个多学科技术的融合,诸如:统计学方法、模式识别、机器学习、人工智能、进化计算、最优化、信号处理、信息论、可视化、信息检索等。另外,大型数据库、并行计算、分布式计算也对数据挖掘起到了相当重要的支撑作用。在这些技术的相互协同作用下,数据挖掘得到了广泛应用和好评。总结起来实现数据挖掘的方法主要有:预估模型、聚类、关联分析和时间序列预估等,【8】这些方法可以分为统计方法和非统计方法,方法对比可以做以下汇总,如表2-1所示:表2-1数据挖掘主要方法Table2-1ThePrincipalMethodsofDataMining类别所属方法算法典型应用分类预估模型决策树,神经网络,判别分析,目标市场营销,质量控制,Logistic回归,Probit回归风险分析,客户保持分析,医疗诊断预估预估模型线性回归,非线性回归,收益率分析,客户价值分析径向基函数聚类分析聚类K-均值聚类,人口统计学聚类,客户细分,市场细分神经网络聚类关联规则分析关联分析概率统计,集合论市场购物篮分析,交叉销售序列模式分析关联分析概率统计,集合论时间序列的市场购物篮分析相似时间序列分析关联分析概率统计,集合论销售流,股票价格变动时间序列预测预测统计的时间序列模型,如ARIM销售预测,利率预测,存货A、Box-Jenkins、神经网络控制,因信用贬损而造成的公司的损失的预测预估模型有两种类型:分类和预估。可以用来分析已有的数据集并确定有关数据的一些本质特征,主要应用有:客户保持管理、信贷审批、交叉销售和目标市场营销等。数据库(客户或者市场)聚类的目标是将一个数据库分割为由相似记录组成的多个聚类(也称为簇群),组内的记录具有许多相同的特征,所以认为是相似的,组内相似度越高,组间差异越大,表明聚类效果越好。一般使用聚类在客户数据库中发现相似的子群体,并用其提高分群的准确率。聚类算法可以自动分割数据库而不用由用户指出应该在数据库中发现什么类型的聚类或是分组的数目,对冗余的、不相关的属性特征较为敏感,但聚类的结果显示不如预估模型和关联分析的结果准确。典型的应用是客户分群分析、目标市场销售、交叉销售和客户保持,特别的也可以用来进行市场细分。关联分析也称为链接分析,是指在单个记录之间或数据库的记录之间寻找并建立联系,主要有三种类型的链接分析:关联发现、序列模式发现和相似时间序列发现。典型的13 西安理工大学硕士学位论文应用有:交叉销售、股票价格运动和目标市场营销,美国沃尔玛连锁超市的“尿布与啤酒”案例就是最好的例子(通过关联规则对顾客的消费行为进行购物篮分析,发现最经常与尿布同时销售的商品竟然是啤酒,于是将二者放在相近的货架上,结果二者的销量大增)。预测通常与分类一起被提及,分类的目标是分析输入数据,通过训练集中数据表现出来的特性,获得每个类别准确的描述或类型,使用类别描述对未知的对象进行分类。尽管这些数据的类别是未知的,仍然可以预测这些新数据所属的类。目前主要的分类预测算法包括决策树、贝叶斯、神经网络、遗传算法、粗糙集和实例推理等。时间序列分析主要目标是预估序列的未来值和分析时间序列的周期性,主要用在信用卡发行商的呆账预估、银行和零售店的销售周期预估、人员需求和仓库管理方面的决策。数据挖掘的方法还有很多,比如联机事务处理(OLAP)、支持向量机等。不同的算法各自的功能也很不一样,但主要也是为实现数据挖掘的分类分析、回归建模、聚类分析、关联分析、异常检测等任务。不同的任务可能采用不同的方法,采用何种方法需要结合问题和算法的特点,具体问题具体分析。2.4常见的数据挖掘工具数据挖掘技术的应用前景十分广阔,对应的数据挖掘软件的开发应用也是方兴未艾,大致经历了四个阶段,每个阶段都有各自典型的产品。从第一代只支持一种或少数几种数据挖掘算法、不适应大容量数据操作的CBA和SalfordSystems公司早期的CART系统,到第二代支持数据库和数据仓库、具有较好可扩展性、能够挖掘更大更复杂数据集的DBMiner,再到第三代能够挖掘Internet/Extraner的分布式和高度异构的数据的工具SPSSClementine,再到最后的能够应用在嵌入式系统和移动系统,以及由各种计算设备所产生多种类型的数据构成的数据库的挖掘当中的第四代工具,都为数据挖掘这个日益壮大的行业提供了环境支持。当今市场上应用普遍性最高的软件有:SAS公司的EnterpriseMiner、SPSS公司的Clementine、IBM公司的IntelligentMiner,其次有Oracle公司的Darwin、Cognos公司的Scenario、NeoVista公司的DecisionSeries、HNC公司的DBMWorkstation、【2】Angoss公司的KnowledgeSeeker。目前,在数据挖掘行业中使用最广的软件都集中在第二代,第三代数据挖掘产品也已经逐步投入到开发和使用当中,第四代软件的普及仍需一段时间。SAS软件最早由北卡罗来纳大学的两位生物统计学研究生编制,并于1976年成立了SAS软件研究所,正式推出了SAS软件,主要用于决策支持的大型集成信息系统,其最【1】早的功能仅限于统计分析。如今,除了最基础的BASESAS模块外,数据获取、数据抽样、数据筛选、变量转换等工具也被嵌套其中,使其具备了多个可以实现扩展功能的接口和许多功能强大的模块,而且各类用于概率分析、样本统计、产生随机数的函数和分位数函数也包含在内,除此之外,还提供客户友好的图形化界面和可视化编程环境,极大的14 数据挖掘技术与工具方便了用户。其中EM(EnterpriseMiner)集成众多的挖掘模块,如关联阶段、内视节点、聚类节点、模型评价节点等,将这些节点进行拖拽设置,形成一个过程流,就能进行相应的挖掘分析。但是,SAS的操作主要是编写程序,统计学专业的人士应用比较方便,而非专业人员应用起来则存在一定难度。IntelligentMiner含有多种统计方法和挖掘算法,例如:线性回归、主成分分析、分类、关联、预测等,其Scoring组件提供了实现实时数据挖掘分析的可能性,在交易发生时直接对交易进行挖掘。IntelligentMiner将数据挖掘技术集成到数据库管理系统中,便于程序开发,提高处理速度。它的很多编程接口可以用来开发具有普遍应用性的用户化应【2】用程序,而且经过共享C++库可以访问它所有的引擎和操作函数。Clementine被誉为第一数据挖掘工具,是SPSS的核心挖掘产品,它可以提供可视化的快速建模环境。SPSS包含诸如列联表分析、关联分析、神经元网络、时序分析和欺诈检测等技术。各种挖掘组件以简洁明了的按钮表示,将这些组件组成一个过程流就可进行数据挖掘,可视化界面使得数据挖掘更简单直观,交互性更好。它在伸缩性、预测准确率和处理时耗方面都有很好的表现,但在可测量性上存在弊端。企业主要将特定的商业问题与数据分析和建模技术结合时,用它来探索那些不易用其他软件挖掘到的信息。Darwin是三个(神经元网络、决策树和k近邻)数据挖掘工具的复杂结合,不仅能够实现类别划分,还能对数据做预测工作。它通过ODBC访问数据文件和关系数据库管理系统,构造模型有向导引导,支持编程语言但不支持可视化编程,易用性不是很高,提供基于文本的规则说明。EnterpriseMiner被普遍应用在经济、医学、交通、通讯、办公和教育等行业中,而且适用于较大规模的数据挖掘工作,它占据着很强的市场竞争地位。比较而言,Clementine比较灵活,适用于大、小规模的分析;Darwin主要面向大型跨国企业,IBM投入大量财力希望把IntelligentMiner定位成一个企业规模的数据挖掘的主要解决方案,竞争力主要集中在数据分析方面,在营销、财务、产品管理和客户联系管理领域受到亲睐。数据挖掘软件一般分为通用型和专业型,通用的数据挖掘软件对具体数据的含义不做任何区分,在常见的数据类型中得到了广泛的使用;专业型则主要是对存在于特定领域的问题提供适用方案。商用的数据挖掘软件不胜枚举,在此就只对几种作简单的介绍。本论文所使用的挖掘工具是SAS软件,因为它是最为业界认可的商用挖掘软件。SAS9.1.3运行界面如图2-5所示:15 西安理工大学硕士学位论文图2-5SAS9.1.3的运行界面Figure2-5TheOperationInterfaceofSAS9.1.32.5数据挖掘技术的应用及发展趋势近年来,数据挖掘的研究重点逐步从算法研究转向了系统应用,注重多种策略和技术的集成,以及多学科之间的渗透和交叉。在金融、电信、安全、运输和营销等行业,数据挖掘都有不少的成功案例,然而激烈的商业竞争使得数据挖掘的需求愈加紧迫。2.5.1数据挖掘技术的应用热点和现状目前来看,数据挖掘的几个应用热点主要包括:数据流挖掘(StreamingDataMining)、Web挖掘(WebMining)、生物信息或基因(Bioinformatics/Genomics)的数据挖掘及其【9】文本的数据挖掘(TextualMining)。(1)数据流挖掘通信行业的电话消费记录产生的数据流、Internet上的用户上网点击产生的数据流、用于检测网络安全的程序操作产生的数据流、各类传感器网络中的检测数据流、金融行业的证券交易产生数据流、卫星传输的数字和图像信息等数据流,以及零售业客户间的交易所产生的数据流等,构成了一种有异于传统静态数据的数据类型。在许多商业领域中,由这些数据流所产生的数据量都在迅速增长,而且,小型无线传感设备在多个领域的应用使得数据流在体积增长的速度上高出几个数量级。如何高效地对数据流进行及时的处理,挖掘出有应用价值的信息,在许多商业领域的应用中得到了高度重视。16 数据挖掘技术与工具在1998年发表的“ComputingonDataStream”论文中,数据流第一次被当做一种数据处理模型由Henzinger等人提出。数据流被当做一个热点提出是在2000年的数据库与数据挖掘领域的重大会议中,如VLDB、ICDESIGMOD、、SIGKDD、ICDM等。如【8】今,数据流在数据挖掘中的应用主要集中在数据流管理系统和数据流挖掘。数据流实时、连续、有序、快速到达的特点以及在线分析的应用需求,对数据挖掘技术提出了诸多挑战,其中最重要的挑战就是如何使用小的存储空间和少的运行时间来快速地进行必要的处理,传统的处理方法难以满足这种要求。数据流对挖掘算法的基本要求如下:单次线性扫描、低时间复杂度、低空间复杂度、能在理论上保证计算结果具有良好的近似程度、能适应动态变化的数据与流速、能有效处理噪音与空值、能响应用户在线提出【9】的任意时间段内的挖掘请求、能进行即时回答、建立的概要数据结构具有通用性。(2)Web挖掘Web挖掘就是从Web文档、Web活动中抽取感兴趣的、潜在的有用模式或隐藏信息。简单来讲,Web挖掘就是透过数据挖掘的技术来分析与网站有关的资料,如:网站浏览记录、网站内容、网站链接结构等。目前,Web挖掘已经广泛应用到搜素引擎、网站设计和电子商务等领域。例如:由于电子商务网站每天数万次的交易信息构成了大量的日志文件和登记表,如何在这海量的数据中找寻出客户的购买喜好、行为习性,从而设计出让所有客户都满意的具有普遍适用性的网站,增强网站的竞争力是不可忽视的。就建模和分析而言,数据挖掘在网站上的应用与其在其他行业中的应用存在略微差别,大多数方法和分析建模思路都可以借鉴,区别在于网站上的数据主要是用户点击产生的,这与传统数据库中的静态数据的格式不同,因而数据准备工作成了挖掘过程的关键,所以许多企业都竭力设计专门的应用软件。(3)生物信息或基因的数据挖掘在生命科学与计算机与信息科学和数学等多个学科融合、交叉在一起之后所形成的便是生物信息学,该学科中应用了高效的数据管理技术、数学建模分析和计算机软件等多门技术,通过发现、储备、转换处理和解释分析各种生物中的信息,以达到发现总结复杂生【9】命形式的构成模式与进化特点。生物信息或基因的数据挖掘的商业价值很难估计,但是在人类存亡中扮演着不可小觑的角色。现阶段,数据挖掘对生物信息分析的支持主要有:异质、分布式生物数据的语义综合,数据清洗集成;开发该领域的工具;序列的相似性查找和比较;聚类分析;关联分析,识【7】别基因的共发生性;生物文献挖掘;开发可视化工具。该领域对数据挖掘的需求日益急切,而现实中该方面的研究与应用不尽人意,技术和软件都有待于深入研究。(4)文本挖掘17 西安理工大学硕士学位论文文本挖掘是近年来数据挖掘领域的一个新兴分支,对文本信息的挖掘主要是发现某些文字在其出现的规律上与文字的语义和语法间的关联。应用文本分类、语言信息提取、文本聚类分析、文摘自动化和文本可视化等技术,文本挖掘可以在没有结构规律的文本数据中挖掘有用信息,从而将知识应用在处理自然语言的工作中,常见的有机器语言翻译、信息智能检索、信息筛选等。国外对文本挖掘的研究早在20世纪50年代就开始了,国内只有在近几年才正式提出文本挖掘的概念,并且开展针对中文形式的文本挖掘研究。国内对文本挖掘的研究主要的处理对象是汉语文本,其瓶颈在于对文本进行挖掘时需要考虑汉语当中注重“语意切合”【9】的说话特点,必须结合文本上下文来获取文本的完整语义。文本的数据挖掘和一般数据挖掘相差很大,无论是在数据结构还是在分析方法方面都比较困难,就目前市场而言,虽然出现了类似的可以移动文本和简单统计移频度的软件,而真正有分析功能的文本挖掘的软件有待开发。(5)多媒体挖掘多媒体挖掘主要包括:基于描述的检索和基于内容的检索。其中,前者是用图像描述来建立新的索引来实现对诸如关键词、图题、大小和时间等对象的检索,通常有人工和自动两种方式,人工检索费时费力而自动检索又难以达到满意的程度;后者则可以对图像的内容包括色彩、质地、形状等的检索。2.5.2数据挖掘技术的发展趋势伴随着业务需求的不断拓展,数据挖掘已经被成功应用在了在社会生活的各个领域,包括商业、医学、科学研究等。而且,出现了其他系统与数据挖掘相结合、理论算法与实【10】际方法相结合的技术。未来比较重要的发展主要集中在以下几方面:(1)寻求数据挖掘的过程的可视化:在挖掘有用知识的过程中很好地实现人与机器的良好交流和互动,挖掘过程的可视化能够促使人们自主积极地从未知数据中发现有用价值的知识和信息。因此,实现挖掘过程的可视化必将成为数据挖掘领域中不可忽视的技术要求,甚至已经开始了该技术的研究。(2)实现数据挖掘过程中所用语言的统一和标准化:研究在数据挖掘领域专用的语言,探寻像数据库SQL语言、可以完成数据挖掘工作的形式化和统一化的语言。统一的标准化的数据挖掘语言在开发出系统化的数据挖掘模型以及实现多系统和功能间的交汇操纵时发挥着催化剂的作用,更能够促进其在企业和社会中的普及。(3)与特定数据存储类型的适应问题:针对数据的不同存储类型做出深入的研究,在未来一段时间内不可忽略的问题。18 数据挖掘技术与工具(4)网络与分布式环境下的KDD问题:科技的不断发展使得Internet的中的网络资源数据日益增长,这就要求不同部门的科技人员在独立的管理分散数据库时的工作方式之间是可以相互协作的。因此,研究在适应数据库的分布式和网络环境上的应用工具、挖掘技术以及工作系统,将成为数据挖掘研究领域中最重要和繁重的一个分支。(5)应用的探索:数据挖掘在人们生活、工作和学习中的普及,使得其应用范围跨越了生物医学、电信行业、零售业等领域。由于在对待特定的应用场合的问题时,数据挖掘的应用常常受到一些局限,所以,针对特定场合的应用问题开发出适用的数据挖掘系统是目前的主要研究趋向。(6)与数据库系统和Web数据库系统的集成:如今在信息处理系统中主要应用的是数据库系统和Web数据库,理想的数据挖掘系统与数据库和数据仓库系统之间呈现出紧耦合的关系。(7)支持移动环境:在移动互联网领域中,信息产业正在进行着一场空前绝后的改革,计算环境今后的主要趋势会是移动计算。所谓移动计算,是指利用移动终端通过无线和固定网络与远程服务器交换数据的分布式计算环境。数据挖掘技术扮演着一个能够将海量的数据资源变换成有利用价值的信息资源以便帮助人们做出科学性的决策的角色。将移动计算应用在数据挖掘中能够有效的完成对那些数据格式各异的数据库和包含全球各个联系个体或集体信息的系统的知识发现问题,一定能够在新兴技术的竞争中呈现持续发展的趋势。(8)知识的维护更新:经过挖掘最终总结的信息会随着时间的推移其应用领域和价值发生变化,所以研究知识的增量更新和模型演化等维护技术是必不可少的。纵然如此,数据挖掘和其他众多新技术一样,存在着许多有待深入研究的领域和探索挑战,典型的有:如何有效提高在高维度的数据集当中的数据挖掘的效率、研究出能够适用于含有噪声的数据和类型多样化的数据的挖掘方法、对于动态的数据类型的数据库的数【7】据挖掘等。2.6本章小结本章主要介绍了数据挖掘技术的概念和基本的实现过程以及主要的技术方法,同时介绍了数据挖掘技术的研究现状、热点、发展趋势和主要应用的数据挖掘工具。在常用的数据挖掘模型中,主要介绍了CRISP-DM模型和SEMMA模型,同时对预估模型、聚类、关联分析和时间序列预估等数据挖掘的主要技术做了总体叙述,最后在介绍数据挖掘工作中主要使用的工具和软件的基础上,简单介绍了数据挖掘技术在数据流挖掘、Web挖掘、生物信息或基因的数据挖掘、文本数据挖掘以及多媒体挖掘等方面主要的应用和研究状况以及存在的挑战。19 西安理工大学硕士学位论文20 数据挖掘在电信行业中的应用3数据挖掘在电信行业中的应用电信行业是典型的业务密集型商业领域,随着商业信息系统化和数据管理技术的自动化,电信行业的市场越来越逼近国际化,我国的电信市场正在迅速扩张而且竞争越发激烈。电信行业长期积累了越来越多的数据,这些客户行为数据时运营商的重要资源和财富。同时,客户数量日渐饱和,电信业已从业务为导向转变为以需求为导向,传统的经营模式逐渐跟不上形势的发展,需要转变经营思路。在电信行业中引入数据挖掘技术,可以帮助理解商业行为、识别电信模式、更好地利用资源来提高服务质量,数据挖掘能够从海量的数据中提取有价值的信息,在企业的市场营销中具有很高的应用价值。针对电信行业市场运营的特点,数据挖掘可以应用于多种商业场景。3.1电信行业中数据挖掘的概述近年来,我国的电信行业发展迅速,电信市场日渐饱和,竞争日益加剧,行业的发展面临着新的机遇和挑战。电信行业的运营商数据库储备的海量信息,如果可以正确地分析和应用的话,就可以得到有用的知识,从而更好地规划市场经营模式,改善服务方式和质量,才能在激烈的市场竞争中挖掘出更多的商机和财富。如何深入的理解客户需求、观测客户行为,如何预测客户的流失,如何挖掘潜在客户,如何进行交叉销售提升客户价值,如何进行欺诈识别、防范经营风险,如何提供适合客户消费特点的产品及服务等,这些都【11】已经成为经营者必须面对的问题。数据挖掘技术的应用在电信行业中所起的作用不可小觑,电信运营商制定市场销售策略、扩展市场规模、争夺客户资源、拓展业务领域等工作都需要数据挖掘技术做支持,数据挖掘技术被广泛应用于客户关系管理和市场营销中。在客户关系管理工作中,数据挖掘主要被应用在以下方面:对客户进行分类发现不同价值客户群体、进行客户流失预测来挽留客户、分析客户间的社会关系来获取潜在客户和保持现有客户、识别和整治呼叫骚扰客户来提供更优质的服务,这些方面的应用已成为电信运营商提高客户满意度、忠诚度、增【11】加收入和利润的有效方法。在市场营销方面,电信运营商可以使用购物篮分析进行业务的交叉销售,还可以使用客户细分来对客户进行一对一的市场销售以提高现有客户的满意度。在购物篮分析方法中最常用的数据挖掘技术是关联规则,可以确定如何把业务捆绑在一起、预测现有客户使用不同业务的可能性,以获取最佳效益。电信行业的发展也存在有风险问题,典型的有骗费、欠费等客户欺诈行为,这些都是无法消除的,只能采取一定的手段进行识别和防范。虽然,在电信行业中客户欺诈行为的比例很小,但是给运营商的正常经营和管理带来的负面影响却是不可忽略的。数据挖掘技21 西安理工大学硕士学位论文术中的离群点检测是识别客户欺诈行为的有效方法,运营商可以通过检测客户数据中的异常模式来进行识别,最终根据检测结果来整治,完善客户管理体系。电信行业的业务需求是多种多样的,针对不同的问题采用不同的数据挖掘技术来逐一解决,这里重点介绍与客户关系管理相关的数据挖掘应用。3.2客户细分客户细分是指将一个较大的客户总体划分为多个较小的客户群体的过程,同属于一个群体的客户之间有较大的相似性,而分属于不同群体的客户之间则具有较大的差异性。根据客户可能的行为和潜在的赢利能力进行客户细分,能够使得企业对客户或得一个比较全面的了解,从而与之建立长期的稳定关系。客户细分对企业的作用很大,但是并非每次的客户细分都会达到预期的效果。没有建立客户数据的客户细分已经无法满足客户市场种类的多样性,利用数据挖掘技术,从海量的客户消费行为数据中构建客户细分模型,能够很好的将市场信息反馈给决策制定部门。企业通过客户消费行为的细分,不仅能够划分出具有价值的客户,针对性的对不同的客户提供个性化的服务,而且还可以有效的识别企业的潜在客户,从而制定出能够获取新客户的方案,这样可以很大程度上节约企业有限的资【2】源和新客户拓展的成本。在电信行业中,清楚地了解客户类别是对每个客户群体针对性地采取措施的基础。客户细分并没有统一的模式,企业数据特性不同,要求不同,用于客户细分的方法也不同。总的来说,客户细分的方法分为人口统计的分类、基于客户生命周期的分类、基于客户价值的分类。其中基于客户生命周期的分类和基于客户价值的分类在电信行业应用最广泛的。基于客户生命周期的分类是根据客户不同阶段的行为特征来划分客户群体的,可分为未来潜在客户、形成期客户、真正的客户、离开的客户;基于客户价值的分类是根据客户为企业创造的价值来划分的。在客户细分中应用的数据挖掘技术主要是聚类,即根据一个或多个客户特征组合,把所有客户划分为更小、更精细的客户群体,相同群体的客户具有【1】最大的行为相似性,不同群体的客户具有最大的行为差异性。对电信行业来说,不同的客户群体对企业的贡献价值会有所不同,其消费特征也有所区别,所以要将不同的群体区别对待。通过对不同群体进行特征分析,可以了解客户群体的消费特征、客户的总体构成、各种客户价值的客户群体特征、流失客户的客户群体特征,分析人员可以站在较高的层次上来观测和把握整个数据库中的客户数据和信息,可以对每一类别的客户提供非常有目的的个性化产品和服务。3.3客户流失预测客户流失是指企业原有客户终止继续购买,或者接受竞争对手提供的商品或服务的现22 数据挖掘在电信行业中的应用象。在电信业中,客户流失具有普遍性,并且难以控制,不利于企业的发展。通常,发展新用户的成本要远高于保持旧用户的成本,客户流失会导致企业收入下滑,市场份额下降,营销成本上升,客户恶意欠费等不必要的经济损失问题。如何维护与客户的关系,提高客户忠诚度,保留与争取优质客户,从而提升客户价值,降低流失率,提高企业收益是电信【12】企业所亟待解决的问题。客户流失预测分析是解决客户流失问题的一种主要手段,结合数据挖掘技术和数据库中的客户历史数据,对客户基本状态属性和历史行为属性等数据做深入分析,总结归纳已流失客户在流失前期表现出来的特征或行为,建立客户流失预测模型,从而预测有潜在流失可能性的客户,有效的采取挽留措施或服务,以便减少客户流失量。客户流失预测分析需要对企业的市场情况和客户历史数据进行深入的分析与挖掘,在建立模型之前需要对客户细分后的各个群体的价值、消费行为、偏好及流失原因进行分析。然后,利用统计分析与分类算法在包含有已流失客户和未流失客户的数据集上建立模型,进行数据挖掘,得到能够区分客户是否有流失倾向的分类器,然后应用在整个数据库的数据上来判断客户未来的流失与否。通过客户流失预测分析,可以为企业提供有价值的市场信息,有助于开展针对性的营销活动,提高客户满意度和忠诚度,提升客户价值,让客户获得更优质的服务,从而降低流失率,提高企业客户管理水平和竞争力,从根本上提升客【2】户关系管理水平。3.4交叉销售如今许多企业采取的一个最重要的策略就是加深与所有现存客户之间的关系,这将在今后企业的业务目标的各个方面产生重大的商业意义。电信行业拥有众多的业务种类,不同性质的客户通常会使用不同的业务组合,所以要解决的问题可以归纳为两个,即把产品卖给谁和把什么样的产品卖给现有客户。除了提高客户服务的质量以外,交叉销售成为了企业的首选,它是保持那些有利可图的客户的另一个重要手段。交叉销售是指企业向现有客户销售更多新产品和新业务,扩大客户消费范围的过程。交叉销售通过分析以往客户的购买行为,发现客户群体的消费潜力,发现频繁地被同时购买的产品组合,为那些只购买部分产品的客户推荐畅销组合中的其他产品,形成更好的业【2】务配置或者更完善优惠的业务打包销售方案,为客户群体提供方便。交叉销售有助于增加客户的利润贡献,提高客户的满意度和忠诚度,能在一定程度上预防客户流失,其实现方法有关联规则挖掘、相关分析、主成分分析等。交叉销售并非无差别的盲目推销,相反,通过关联挖掘与分析,寻找产品和服务间潜在的联系,预测开通某项业务的客户下一步可能购买的产品或服务,从而针对特定客户制定“捆绑”式的业务推广方案,提高产品销售业绩,改善客户体验,提高投资回报率。电信行业中关联规则将所有业务集合,每种业务对应一个项目。关联规则的分析结果可以帮23 西安理工大学硕士学位论文运营商用于市场规划、广告策划和相应的业务政策的制定。3.5客户社交网络分析电信网络中的个体像社会网络中个体一样,其行为总会受到其他个体的影响,因此会出现伴随流失的现象,即个别客户的流失引发更多的客户流失的现象。当某个客户离网时,可能影响其认识的客户对运营商服务质量的判断,从而也考虑更换运营商,这种行为不断的扩散,将导致客户群体的重大变化。电信运营商的数据库中保存有每个客户的详细通话记录,每条记录隐含着两个客户之间的一次联系,客户的呼叫模式和社交圈都隐含在这些记录当中。这些隐含的信息不仅包含客户的通话行为与习惯,还体现客户在群体间的影响力。这些隐含的信息可以帮助运营商发现潜在用户、提升客户忠诚度和减少客户流失。社交网络很广泛并且具有较高影响力的客户,很可能会为发展新用户和拓展商业市场带来更多价值。通过数据挖掘技术发掘单个客户之间行为的相互影响,然后使用社区替代单个客户作【2】为电信客户关系管理的对象来建立客户社交网络模型,既可以掌握社区内客户的行为影响,又可以利用社区内的消息传递进行产品推销,同时能利用社区信息传递特性进行重要信息的快速发布,既节省了推销成本,又达到了企业推广业务的目的。3.6异常客户检测伴随电信业的快速发展,欺诈行为也不断出现。愈加频繁的恶意欠费、骗费、呼叫骚扰等欺诈行为导致企业收入下滑,额外支出增加,信誉受损。异常检测是识别特征显著不同于其他数据的异常数据,孤立点分析通过检测数据中的异常数据,发现异常模式。通过聚类、分类、离群点分析等方式检测客户欺诈行为,研究欺诈客户与其他客户群在属性空间分布的差异,发现潜在的欺诈客户,或者通过分析当前【13】的客户行为与历史行为的差异来识别异常客户。选择适当的属性,通过聚类、分类或离群点分析找到欺诈客户,或者采用基于距离、信息增益的评价函数来生产决策树,或者通过关联分析找到与欺诈客户相关的属性并得到关联规则,归纳已有的异常客户数据的特性,借此预测新旧客户是否有异常倾向,从而帮助改善运营商的服务质量,降低损失风险,提升客户忠诚度。3.7本章小结本章主要介绍了数据挖掘技术在电信行业中的发展和实际应用,在介绍了电信行业数据挖掘概念的基础上,结合电信行业的发展运营的特点和数据挖掘技术的原理,重点研究24 数据挖掘在电信行业中的应用了数据挖掘技术在电信行业发展和商业经营过程中的客户细分、流失预测、交叉销售、社交网络分析以及客户异常检测等方面的应用情况。25 西安理工大学硕士学位论文26 聚类算法与决策树算法4聚类算法与决策树算法4.1聚类算法聚类是一种事先对数据集没什么了解,按照同一组中数据对象具有最大相似度而不同组的数据对象之间具有最大差异性的原则,将数据集中的对象分割为若干组或类的过程。聚类中划分的组并非事先已知,组的特性也不是预先设定,而是通过实际数据的特征按相似性来定义的,这些组也称为簇。聚类分析的输入是一个数据集和一个度量标准(相似度或距离),输出则是一个簇集,附加的结果就是对每个簇的综合描述。相似度的大小是基【13】于数据描述属性的取值来确定的,通常利用各对象间的距离来表示。数据挖掘的大部分工作都主要是找对适合的方法,高效地对大型数据库进行准确的聚类分析。与此关联的研究主要集中在:发现扩展性好的聚类方法,对高复杂度高维数据库中多数据类型的数据的聚类方法在有效性方面的研究。聚类分析可以用作了解数据分布和特征、判断簇的价值的单独工具,;也可以作为其他分析过程的预处理步骤,其他算法可以在聚类分析的结果上对数据作进一步分析处理,常常将一个簇内的所有数据视为一个整体来进行处理。【9】数据挖掘的潜在应用对聚类算法提出了许多不同的要求,常见的有:(1)可扩展性:对于小数据集,许多算法得出的结果较好,但是在大的数据集上分析出来的结果会有偏差。对于海量数据,扩展性较好的算法能够保证结果的准确性。(2)处理不同类型属性的能力:在应用中常常需要对其他类型的数据进行聚类,而非仅仅是数值类型的数据。(3)需要由用户决定的输入参数尽量少:使用聚类算法时常常要求用户输入参数,这些参数通常对聚类结果具有比较大的影响,难以确定,尤其是对高维度数据。涉及专业知识的参数越多,既不利于用户使用,也会严重影响聚类质量。(4)发现任意形状的聚类:许多聚类算法是根据欧几里得公式和曼哈顿公式来计算距离的,得到的都是具有相似大小和密度的圆形或球形聚类。但实际当中一个聚类可以是任意形状,所以需要改进出新的算法来划分出任意形状的类集。(5)对异常数据的敏感性:数据集大多包含离群点、缺失值、噪声数据以及错误数据,有些聚类算法对这样的数据非常敏感,聚类的质量将难以保证。(6)高维数据处理能力:应用的数据集常常具有较高的维度或较多的属性,许多算法处理低维数据有较好的效果,但是对高维数据对象,特别是对高维空间稀疏和怪异分布的数据对象,处理效果就不太理想。(7)可解释性和可用性:聚类的结果要能够用特定的语义解释、可与应用相联系,这就需要聚类算法要能与特定的解释和应用联系在一起,分析出有价值,有说服力的结果才27 西安理工大学硕士学位论文是有意义的。没有一种聚类算法能同时满足这些要求,不同类型的聚类算法只能在不同程度上满足这些要求。主要的聚类方法有划分方法、层次方法、基于密度方法、基于网格方法和基于模型方法等。4.1.1划分方法最常用也是最知名的划分方法就属K-means算法和K-medoids算法,以及在它们的【3】基础上改进的算法。a.K-means算法K-means聚类算法是一种基于原型、划分的聚类技术,通过质心定义原型(质心是一组点的均值),发现用户指定的K个簇。簇是对象的集合,其中每个对象到定义该簇的原型的距离小于到其他簇原型的距离,对于连续型数据,原型常指质心,当质心无实际意义时,常选最接近中心点的点作为原型,这种簇趋向于球型。划分型的聚类算法需要事先指定簇数目或簇中心,经过不断的迭代,逐步降低标准测度函数的误差,直至标注测度函数【6】收敛时,聚类结束。它的基本执行步骤如下:(1)从包含n个数据对象的数据库中,随机选择K个对象作为初始聚类中心,K是由用户指定的所期望的簇个数。(2)指派:对剩余的所有对象,分别计算其至每个簇中心的距离,然后将其指派到最近的质心,形成K个簇。(3)更新:根据指派到簇的对象,更新每个(有变化)簇的质心。(4)循环:不断重复指派和更新步骤,直至标准测度函数收敛,即簇不发生变化或质心不发生变化。K-means聚类算法的描述如图4-1所示:图4-1K-means算法的描述Figure4-1TheDescriptionofK-meansAlgorithmic通常标准测度函数采用均方差,这个准则会尽量使K个簇紧凑独立。其具体定义总结如下:28 聚类算法与决策树算法k2E|pmi|(4.1)i1pCi其中,E是数据库中的各个数据对象的均方差之和,p定义为数据对象集合中的一个点,m为聚类C的均值(p和m都是高维的)。式(4.1)所示聚类标准,目的在于使得所iii得到的k个聚类内部的对象之间的紧凑程度尽可能的高,而各个聚类与其他聚类间的紧凑程度尽可能的低。K-means算法需要将对象指派到与其距离最近的簇,需要通过邻近性度量方法来量化这个“最近”的概念。对于给定的某种数据类型,也许存在多种可行的邻近性度量方法。通常,通过欧几里得距离来度量欧几里得空间中数据的邻近性,而用余弦相似性来度量文档的邻近性。K-means算法需要对每个对象与质心的邻近性进行重复的计算,所以其采取的邻近性度量方法相对来说要简单些。对于相同的K值,E越小就代表簇内对象越紧凑。【6】对于不同的K值,越大的K值所对应的E应该越小。K-means算法中指派和更新步骤只能使E找到局部最优解,这是由于它们只是对选定的质心和簇来优化E,而非考虑所有可能的情况。K-means算法易于理解、实现简单,其仅需存放数据点和质心,所以空间需求不大,存储量为OmKn(()),其中m为数据点数,n为属性数。OIKn()为算法的复杂度,其中I为让目标函数收敛所需迭代次数,取值往往不大,因为大部分变化仅出现在前几次迭代,所以在数据库相对较大时,应用该算法也是有效的,。因为In,所以算法的复杂度大致【6】与数据点数n线性相关,所以,只要Kn,则时间需求与n线性相关。K-means算法也存在一些问题,比如说:簇个数需预先指定;聚类效果对初始值的选取依赖性很大,而且容易陷入局部极小值;以均值作为簇中心,算法对离群点或噪声点非常敏感,因为它们会导致簇中心偏离数据密集区域;不能检测那些密度或大小不同的“自然”簇;只能处理数值型数据,不能处理分类属性的数据。b.K-medoids算法由于在K-means算法中,如果出现一个取值很大的异常数据,那么在估计数据分布(算法中各聚类的均值)时会出现较大的偏差,所以K-means算法对数据库中的异常数据的敏感程度很高。因此,提出了K-medoids算法,该算法利用medoid来代替K-means算法中的数据分布的估计,也就是说medoid作为K-medoids算法的一个参考点,然后根据差异最小化原则,即每个聚类当中各对象到对应参考点的距离的和取最小值,再将划分方法【6】应用其中。K-medoids算法的主要思路是:第一,为每个聚类任意找到一个medoid作为代表对象;第二,为n个数据对象选取聚类数目K值;第三,进行聚类,计算其他数据对象与前K个聚类的代表对象间的距离,按照最小差异性原则分别将它们划分到相应的聚类中;最后,循环执行前面的操作直到各聚类的代表对象不再变化。考虑假使更替一个聚类的代29 西安理工大学硕士学位论文表对象的话,聚类的质量如果有所改善,此时则可以选取一个新的medoid替换原有的聚【6】类对象。根据如上描述的K-medoids算法的思路,其基本操作流程总结如下:输入:含有n个数据对象和K个聚类数目的数据集。输出:符合最小差异性原则的的K个聚类。算法执行过程:(1)在含有n个数据对象的数据库中任选K个数据对象当做原始的代表对象。(2)循环执行(3)、(4)、(5)的操作,当每个聚类的代表对象保持不变。(3)按照差异性最小化原则,计算其余数据对象到代表对象的距离并将其划分到对应的聚类。(4)在剩余的数据对象中任选一个,计算该对象与代表对象互换的整个成本。(5)当交换成本取值为负时,用选定的非代表对象替换原始的代表对象,作为新的聚类的K个代表对象。由于每循环一次聚类过程,将剩余对象划分到对应的聚类中,都会改变成本函数的方差值,因此从成本函数中能够得到每次聚类过程中代表对象替换对方差的改变大小,成本函数的每次的输出值是由每次更换不适当的代表对象导致对象的距离方差有所改变而构成的。如果整个成本取值为负,则应该用选定的非代表对象更新原始的代表对象,以达到缩小实际方差的目的。如果整个成本取值为正,则认为原有的代表对象是合适的,本次循环就无需变动。K-medoids算法的中心代表对象对异常数据的敏感程度较低,所以在处理异常数据和噪声数据方面比K-means算法更为鲁棒,但是处理时间要常一些。4.1.2层次方法【6】层次聚类是将数据归类为若干组,再由若干组构成一棵树来聚类,可以分为自上而下和自下而上两种。自上而下分解层次聚类的思路是:首先,把所有数据对象当作是一个大的聚类内容;其次,将该大的聚类不断分解,使大的聚类成为数目逐步增大而数据对象逐步减少的多个小聚类,当所有数据对象都单独成为一个小的聚类时,或者符合特定的聚类结束条件时,停止聚类划分。自下而上聚合层次聚类的基本思路是:一开始把数据库中的每个数据对象看作一个小的聚类,紧接着聚合这些原始的小的子聚类成为数目减少而数据对象数目增加的大的聚类,当最后所有的数据对象全都聚合在一个大的聚类当中,或者聚合操作符合规定的终止条件时,停止操作。大部分的数据对象进行的层次聚类都是自下而上的,只是在定义数据对象间的距离是存在偏差。层次聚类方法虽然简单,但是经常会遇到如何选择合并或者分解点的问题。如果所选的合并或者分界点不合适,就会导致聚类结果质量较差,而且在进行真正的层次聚类之前30 聚类算法与决策树算法要分析评估许多对象或聚类,这阻碍了该方法在可扩展性上的发展和应用。为了解决上述的难题,提出了一些层次聚类与其他聚类相结合的方法,如:a.BIRTH算法【8】BIRTH(BalancedIterativeReducingandClusteringusingHierarchies)算法是一种有效的复合聚类方法,它通过将层次聚类和其他聚类算法集成来对大数据集进行聚类。这种方法里,层次聚类用于最初的微聚类,其他如迭代划分等方法则用于后续的宏聚类。BIRTH算法用于均值有意义的数据,通过一边扫描数据即可进行聚类,附加扫描可以改进聚类效果,还能够有效处理离群点。BIRTH算法基于聚类特征CF(ClusteringFeature)和聚类特征树CF-tree,二者用于对聚类描述进行概要总结。其基本思想在于:一个簇信息可用一个三元组(,NLSSS,)表示,N表示簇中数据点的数目,LS表示N个数据点的线性和,SS表示N个数据点的平方和。这些统计量易于计算,可以增量更新,并且使得计算簇半径、簇间距、簇间差异变得容易。CF-tree是个高度平衡的树,具有分支因子B和阈值T参数,分支因子B包括非叶节点CF条目最大个数和叶节点中CF条目的最大个数,阈值T则指定了存放在叶子节点中的子聚类的最大直径。每个内部节点具有形式为[CFChild,]的项,其中Child是指向第i个子节iii点的指针,CF是指由Child指向的子节点所表示的子聚类的CF。叶节点的直径必须小ii于阈值T。b.CURE算法【8】CURE(ClusteringUsingRepresentative)算法是一种凝聚层次聚类算法,是结合层次聚类和划分聚类方法、克服偏向发现相似大小和圆形形状聚类问题、处理异常数据时表现更鲁棒的有效算法。通过使用簇内多个代表点表示一个簇,提高算法挖掘任意形状簇的能力,能够比较好的解决非均匀和非球形簇的聚类问题,能够较好的处理离群点。CURE算法在基于质心和基于代表对象点的方法间进行了折中,不用单一的质心或对象代表一个簇,而选择固定数目的点代表一个簇,第一个代表点选为离簇中心最远的点,其余的则选为离所有已选取的代表点最远的点,使得代表点分散,代表点以指定的速率(收缩因子)向簇中心收缩,以减小离群点影响,对于代表点的数目,一般来说超过10个效果比较好。离群点远离其它点,一般不常和其它点合并。CURE算法利用两个阶段来消除离群点造成的影响,一个是簇的个数是原来数据点数的1/3时,另一个是簇的数目达到期望的K的量【8】级时,删除小簇。CURE算法的基本处理步骤如下:(1)从数据集中随机抽样形成样本集S,它包含s个对象;(2)将样本集S划分为大小相等的p个分组,每个分组的大小为sp/;(3)对每个分组进行局部聚类,聚类个数为spq/(),q1;(4)通过随机抽样删除离群点,如果簇中点的数目增长缓慢,删除该簇;(5)对局部簇进行聚类,依据收缩因子将代表点向簇中心收缩,簇的形状由这些31 西安理工大学硕士学位论文代表点捕捉;(6)对聚类中的数据标记相应的簇群号。CURE算法在对含有异常数据的对象进行分析时也能或得较高的聚类质量,它还容许2聚类具有复杂的形状和不同的大小。对于低维数据的时间复杂度为On(),而高维数据的2【8】时间复杂度为On(log)n,因此处理大数据量时必须基于抽样、划分等技术。4.1.3基于密度方法基于密度方法中密集的对象区域通常被稀疏的对象区域所分割,该方法可以有效发现【8】任意形状的聚类。a.DBSCAN算法DBSCAN(Density-basedSpatialClusteringofApplicationwithNoise)算法是基于密度和中心的一种简单有效的聚类算法,密度是通过对特定点的半径范围内点的个数来定义的,点的密度取决于指定的半径。算法将数据集中的点分为三类:核心点、边界点、噪声点。核心点定义为:若该点给定邻域范围内点的个数超过给定的阈值,则该点是核心点。邻域范围由指定的半径和距离函数确定。边界点的定义为:不是核心点,却位于某个核心点的邻域内的点。一个边界点可能位于多个核心点的邻域内。噪声点的定义为:既不是核心点也不是边界点的点。DBSCAN算法可以理解为:任意两个相互之间距离小于指定半径的核心点将放入同一个簇;任意与核心点的距离小于指定半径的边界点也放入与核心点相同的簇中,一个边界点如果与不同簇的核心点的距离都小于指定半径,则需要解决竞争问题;舍弃噪声点。它使用不断产生密度充分大的区域的方法来聚类,在那些含有空间数据的含噪数据库中划分出形状各异的聚类。此算法把一个聚类看作是一个“密度链接”的点的集合,它的计算复杂度为On(log)n,其中n是数据库中的数据对象的数目。b.OPTICS算法OPTICS(OrderingPointtoIdentifytheClusteringStructure)算法是一种聚类顺序方法,它的输出并不是一个聚类,但它可以得到一个增强聚类顺序,该顺序体现了基于密度的数据聚类结构,可以方便自动交互的聚类分析的应用。4.1.4基于网格方法【6】基于网格聚类方法把空间分割成数量一定的小单元,形成网格结构从而进行聚类。最大的特点是处理数据所耗费的时间与含有多少个数据对象没有任何联系,只和每维空间被分割成多少个单元存在一定关系,所以它在处理数据所耗费的时间上有明显的优势。典32 聚类算法与决策树算法型的代表算法有:STING(StatisticalInformationGrid)算法和CLIQUE(ClusteringinQuest)算法。STING算法把空间分割成为方形的单元格,分布在各个层次的单元对应着各自不同的分辨率,所以,该算法是在网格存在多个分辨率的基础上来进行聚类的。这些具有各自分辨率的不同层次的方形单元可以被看作一个层次结构,在该结构中,分布在高层的单元被再次分割,分割后的单元成为低层次单元,关于网格单元特性的统计可以之前进行计算和保存。通常,一个自上而下基于网格方法的操作流程总结如下:第一,依据所要查询的内容在含有较少数目单元的层次中确定开始层次;第二,算出当前层次所包含的每个单元的信任度差,或者对其概率范围进行估计,用来查看当前单元和所需查询的要求之间的关联程度;第三,排除那些与查询要求没有关系的单元方便考虑存在联系的单元;最后,循环执行前面的操作步骤,当执行到最底层时停止,此时要是满足所要求的查询,那么回到符合查询要求的那些单元所在的区域,倘若不满足查询要求,则提取与查询要求存在关联的那些单元所包含的数据,再次对它们做一定的处理,直到符合查询要求时结束查询操作。STING方法只需扫描一遍数据库便可获得各单元所含有的数据对象的统计特性信息,因此对含有n个数据对象数的数据库进行聚类在时间上的复杂度为On()。在执行聚类分析之后执行查询操作时实际产生的复杂度为Og(),其中g是最底层所含有的网格的【6】数目,而且gn。4.1.5基于模型方法【8】基于模型的聚类方法目的在于实现给定数据与某个数学模型达成最佳拟合,这类方法一般都假设数据都具有一个内在的混合概率分布。基于模型聚类方法主要有统计方法和神经网络方法两种。在神经网络聚类方法中,每个聚类被看作是一个例证(Exemplar),而对于每个例证则把它看作聚类中的一个“典范”,它可以不与任何示例或数据对象之间存在一一相应的关系,对于任意新的数据对象,可以按照某种计算距离的公式计算出与之最近的例证,也就是与之相似性最高的例证,然后将其划分到对应的聚类中。在神经网络聚类中应用最为广泛的是竞争学习方法和自组织特征图方法,它们都涉及神经单元竞争。神经网络聚类方法与大脑的处理过程之间有很大的相似性和较强的理论联系,但因为有耗时较长和复杂的数据关系的瓶颈,还需要在适用于大数据库上做更多研究。4.2决策树算法决策树是一种从一组没有顺序、没有任何规则可言的实际事例中归纳、推导出按照树33 西安理工大学硕士学位论文的形状表示的分类规律的学习方法,经常被用在分类器的形成和预测模型的建立的工作中,以便对事先不知道的数据对象进行归类和预测。所谓决策树实际就是一个类似流程图的树状结构,其中每个内部节点代表对一个属性的测试或选择,其分支就代表测试或选择结果,树的每个叶节点就代表一个类别,树的最高层节点就是根节点,它是整个决策树的【6】开始。决策树在构建过程中要重点考虑属性选择和树的大小两个问题,其中属性选择一般需要最大限度增加样本纯度,不且不要产生样本数量太少的分支。常见的属性选择标准包括信息增益(informationgain)和Gini系数。在树的每个节点上应该选择具有最高信息增益的属性,用该属性来作为当前节点的划分属性。Gini系数是一种不纯度函数,用来度量数据集的数据关于类的纯度,如果数据均匀地分布在各个类中,那么数据集的纯度就小,根据属性的不同值划分数据集时,会导致数据集不纯度减少。信息增益和Gini系数均容易偏向于具有多分支的属性,因为多分支能降低熵和Gini系数。至于树的大小问题,一般有两种方法来获取大小合适的树。一种是定义树的停止生长条件,如最小划分实例数、划分阈值和最大树深度等。另一种方法是对完全生长决策树进行剪枝,对决策树的字数进行评估,如果去掉子树后整个决策树表现更好,那么该子树将被剪掉。决策树是数据挖掘中常用的一种技术,常用的算法有ID3、C4.5、CART、Quest、C5.0、SLIQ和SPRINT等。4.2.1ID3分类算法ID3算法使用信息增益作为属性选择标准,首先检测所有属性,选取属性的信息增益取值最大的属性来产生决策树节点,让该属性的其他取值构成节点的分枝,再对各分枝的子集递归调用该方法建立决策树节点的分枝,当所有子集仅包含同一个类别的数据时停止【6】划分。(1)信息熵信息熵HX()(也叫熵函数)用来度量一个属性的信息量,假定X为训练集,X的目标属性C具有个m可能的类标号值,C{,CC,...,C},假设在X中C在所有样本中出12mi现的概率为pi(1,2,3,...,)m,则X所包含的信息熵定义为:imHX()pilog2piHpp(,12,...,pm)(4.2)i1熵越小,表示样本对目标属性的分布越纯。如果熵为0,则说明样本集中所有的目标属性取值相同。相反,熵越大,表示样本对目标属性分布越混乱。当X只包含一类记录时熵取得最小值0,当X包含不同类别的记录数相当时,取得最大熵logm,对于两个类2别来说,最大值为1。(2)信息增益34 聚类算法与决策树算法信息增益是划分签样本数据集的不纯程度(熵)和划分后样本数据集不纯程度(熵)的差值,假设划分前样本数据集为X,并用属性A来划分样本集X,则按属性A划分X的信息增益为样本集X的熵减去按属性A划分X后的样本子集的熵,即GainSA(,)HX()H()X(4.3)A其中H()X按属性A划分X后的样本子集的熵,定义为:假定属性A有k个不同的取值,A从而将划分为k个样本子集{XX,,...,X},则按属性A划分X后的样本子集的熵为12kk|X|iHA()XHX(i)(4.4)i1|X|其中,|X|(i1,2,3,...,)k为样本子集X中包含的样本数,|X|为样本子集X中包含的样ii本数。信息增益越大,说明使用属性A划分后的样本子集越纯,越有利于分类。ID3决策树算法的描述如图4-2所示:图4-2ID3算法的描述Figure4-2TheDescriptionofID3Algorithmic(3)ID3算法优缺点ID3算法采用自上而下的搜索方法,搜索所有可能的决策树的集合,以便构造与训练数据一致的决策树,在构造决策树时从简单到复杂,用信息熵作为评价函数。算法的核心在于选择合适的节点属性,用信息增益作为属性选择的标准,在每个非叶节点进行测试时能获得关于被测数据最大的类别信息,使得该属性将数据集划分为子集之后系统的熵最小。ID3算法理论清晰,方法简单,学习能力较强,但是只能处理分类属性数据,不能处理连续型数据。ID3算法对测试属性的每个取值产生一个分支,并且划分相应的样本子集,35 西安理工大学硕士学位论文这样就产生了许多小的子集,当子集越来越小时,划分会由于子集规模过小而造成统计特征不充分,从而停止划分。在应用信息增益的标准来选择决策树节点属性时,由于信息增益在类别值多的属性上计算的结果大于在类别值小的属性上计算的结果,这就导致决策树算法偏向选择具有较多分枝的属性,产生过度拟合的现象。4.2.2C4.5算法由于ID3算法中存在一些不足,或者说存有一些限制条件,从而提出了改进的决策树分类算法C4.5,该算法继承了ID3算法的优点,并做了如下改进:(1)能够处理连续型属性数据和离散型属性数据;(2)能够处理具有缺失值的数据;(3)使用信息增益率作为决策树的属性选择标准;(4)对生成的树进行剪枝处理,以获取简略的决策树;(5)从决策树到规则均自动产生;基于ID3算法中提到的信息熵(式4.2)和信息增益(式4.4)的概念,对于训练集X是连续型数据,属性A为连续型数据,则按照属性A的取值递增排序,将每对相邻值的中点看做可能的分裂点,对每个可能的分裂点,分别计算|X||X|LRH()XHX()HX()(4.5)ALR|X||X|其中,X和X分别为对应于分裂点的左右两部分子集,选择H()X值最小的分裂LRA点作为属性A的最佳分裂点,并且以该最佳分裂点按属性A对集合X的划分熵值作为属性A划分X的熵值。此时可以引入属性的分裂信息来调整信息增益,分裂信息定义为:k|X||X|iiSplitEA()log2(4.6)i1|X||X|信息增益率定义为:GainA()GainRatioA()(4.7)SplitEA()这样如果某个属性有较多的分类取值,它的信息熵会偏大,但信息增益率会因为分裂信息而降低,进而消除由于属性取值所带来的影响。通常对于缺失值的处理方法有两种:抛弃数据集中具有缺失值的数据(只有少量缺失值数据的情况下可以采用此方法,当存在大量缺失值数据时不可抛弃)和以某种方式填充缺失的数据(用数据集中高频数据或均值【6】代替缺失值等)。C4.5算法中采用概率的方法,为缺失值的每个可能值赋予一个概率。改进对信息增益、分裂信息的计算方法,使得算法能够继续依据信息增益率来选择决策树中非叶节点的36 聚类算法与决策树算法划分属性。基本操作如下:假定X为训练集,属性A在样本集中存在部分缺失值,属性A的信息增益率的计算方法改为:GainA()p(()HXH())X(4.8)A其中p为属性A在样本集中的非缺失值的概率。在属性A的分裂信息的定义中,将属性A未知的样本子集作为额外的子集,记为X,即将缺失值看成一个类别,分裂信息unknow的计算公式为:k|X||X||X||X|iiunknowunknowSplitEA()log2log2(4.9)i1|X||X||X||X|该算法在构建决策树时采用递归调用属性的划分方法,直到类标号相同的样本子集都集中在同一个聚类中,或者当没有可测的样本时停止。算法描述如图4-3所示:图4-3C4.5算法的描述Figure4-3TheDescriptionofC4.5Algorithmic然而,通常得到的树是复杂的过度拟合的。原因在于划分属性捕获的与类标号相关的信息不完整,导致对测试样本的分类结果不满意。因此,为了让得到的树更满意,需要对生的决策树进行剪枝。【8】剪枝(pruning),也就是去除对未知样本预测准确度低的子树,建立复杂度较低而且容易理解的树。剪枝的方法通常有两种:前剪枝(prepruning,在一定的条件下停止子树的划分)和后剪枝(postpruning,对完全生长后的树进行剪枝)。前剪枝不需要额外的时间单独对树进行剪枝,但是对不同领域的数据表现出的结果不是很一致,所以在C4.5算法和CART算法中都采用后剪枝的方法。37 西安理工大学硕士学位论文后剪枝方法通常是分析完全生长后的树,将一个或多个子树删除,并以某个或多个叶节点替换,C4.5算法中允许子树以它的某个分支代替。首先从树的底端开始,检查每个叶节点,如果以某个叶节点或者其子节点中使用频率高的子节点替换该非叶节点后,将使得整个决策树的预测误差率降低,则做相应的剪枝。剪枝的关键是误差率的估计及剪枝标准的设置,针对每个节点,用其中的多数类别作为预测类别,假设第i个节点包含N个样i本,其中有E个预测错误样本,利用观测到的错误率fEN/,在近似正态分布的基础iiii上,对该节点进行真实误差e的估算。i由于估计是在训练样本上进行的,所以给定一个置信度1,则真实误差率的置信区间为|fe|iiPz1(4.10)fi(1fi)2Ni其中z是临界值,并且可以知道第i个节点真实误差的估计上限为2f(1f)iiefz(4.11)iiN2i当取值0.25时(C4.5算法中的默认值),z取值为1.15。2得到估计误差之后,按照减少误差的方法判断是否剪枝。计算待剪子树中叶节点的加权误差,然后与父节点的误差比较,如果叶节点加权误差大于父节点误差,则可以删除叶节点,否则保留。C4.5决策树的剪枝处理伪代码如图4-4所示:38 聚类算法与决策树算法图4-4C4.5算法的剪枝过程描述Figure4-4TheProcessofPurningforCARTAlgorithmicC4.5算法能够构造简单明了、分类规则明确、准确率较高的决策树,由于在建树过程中要对多次进行顺序扫描和排序,所以算法的效率很低,而且产生的树不够稳定,分类的精确度不高。在C4.5决策树算法的基础上,通过使用提升技术生成一系列决策树,然后集体投票决定分类结果,最终发展为商用的C5.0算法。C5.0在Windows平台上运行的软件称为See5,它是C4.5的一个商业化的版本,在许多数据挖掘的软件包中都有广泛的应用,主要集中于大型数据集的一个用。C5.0在分类和预测准确性方面的改进,主要体现在它是多个分类器的组合体,能够支持日期等新的数据类型,规则集没有先后顺序,而是所有匹配规则进行投票。4.2.3CART算法【6】CART(ClassificationandRegrssionTree,分类与回归树)算法采用二元递归划分方法,可以处理连续属性数据和标称属性作为预测变量和目标变量下的分类。当输出变量是标称属性数据时,所创建的决策树为分类树,用于分类预测;当输出变量为数值型变量时,建立的树为回归树,用于数值的预测。CART算法二分递归分割技术将当前的样本集划分为两个样本集,使得生成的决策树的每个非叶结点都有两个分支,最终生成结构简单的决策二叉树。该算法使用Gini系数作为变量的不纯度量,采用代理测试(surrogate)来估计测试的输出值,完成对缺失值的39 西安理工大学硕士学位论文处理,应用代价复杂度模型,通过交叉验证来估计对测试样本集的误分类损失,产生最小交叉验证误分类估计的树,完成最终的树的剪枝工作。分类回归树的构建过程是对训练集的反复划分,在这个过程中对每个属性都要进行相应的计算,而且分类树和回归树的计算方法会因为数据类型的不同而有所区别,在整个过程中需要考虑如何从众多属性中选取当前最佳的划分属性问题。假设训练集X{XX,,...,XY,},其中X~X称为属性向量,Y称为类标号向量。12m1m当Y时连续型数据时,称为回归树,当Y时离散型数据时,称为分类树。(1)Gini系数ID3算法使用信息增益作为属性选择标准,C4.5算法使用信息增益率作为属性选择标准,CART算法使用Gini系数来度量对某个属性变量测试输出的两组取值的差异性,理想的分组应该尽量使得两组中样本输出变量取值的差异性综合达到最小,即“纯度”最大,这样两组输出变量取值的差异性下降最快,“纯度”增加最快。假设t为分类回归树中的某个节点,为该节点的一个属性分枝条件,该分枝条件将该节点中样本分别划分为左分支X和右分支X,则Gini系数可定义为:LRk2Gt()1p(|)jt(4.12)j1其中,k为当前属性下测试输出的类别数,pjt(|)为节点t中样本测试输出取类别j的概率。在分枝条件下节点t的差异性损失可定义为:|X||X|RLG(,)tGt()Gt()Gt()(4.13)RL|X||X||X||X|LRLR其中Gt()为划分前测试输出Gini系数,|X|和|X|分别为划分后左右两个分枝的样本LR数,为了使得节点尽可能的纯,选择的属性分枝条件要使得该节点的差异性损失尽可能的小。用()t表示分枝条件的全体,则选取的分枝条件最大值为:argmaxG(,)t(4.14)max()t对节点t而言,Gt()越小意味着该节点中包含的样本集中在某一类上,即该节点“纯度”越高,否则“纯度”越低,差异性越大。由此可知,当节点样本的测试输出取同一类别值时,输出变量取值的差异性最小,Gini系数为0,而当各类别取概率值相等时,测试输出取值的差异性最大,对应的Gini系数也取最大值(11/)k,k为目标变量的类别数。(2)属性选择对于CART分类树的属性选择,根据属性类型的不同方法也不同。对分类型属性,将多个类别合并成两个类别,然后计算两个新类别下的样本测试输出取值的差异性;对于数值型属性,将数据按升序排序,然后从小到大依次以相邻数值的中间值作为分隔,将样本分为两组并计算各组的样本测试输出取值的差异性。理想的分组是使得两组中样本测试输出取值的差异性总和到达最小,即两组输出变量取值的差异性下降最快。40 聚类算法与决策树算法对于回归树确定当前最佳分组变量的策略与分类树相同,主要不同在于度量节点测试输出值差异性的指标。回归树的测试输出为数值型,所以方差是最理想的差异性度量指标,差异性损失的度量指标为方差的减少量。CART决策树算法的基本描述如图4-5所示:图4-5CART算法的描述Figure4-5TheDescriptionofCARTAlgorithmic(3)CART算法剪枝CART算法剪枝有预剪枝和后剪枝两种,预剪枝可以事先指定一些控制参数来控制决策树充分生长。如:决策树的深度,当决策树的层数到达指定深度时停止生长;树节点中测试输出记过的最小差异减少量,当划分后产生的测试输出结果差异性变化量小于一个指定值时不必划分;树中父节点和子节点所包含的最少样本量或比例,节点所包含的样本量低于最小样本量或比例时不必进行划分。CART算法后剪枝允许决策树得到最充分生长,根据一定的规则剪去树中那些不具有代表性的叶节点或子树,在剪枝的过程中不断计算当前子树对检验样本集中测试输出结果的预测精度或误差,并判断是否应该继续剪枝,这是一个边剪枝边检验的过程。考虑到复杂的决策树虽然对训练样本有很好的分类精度,但在测试样本和未知样本中分类效果不太好,而且复杂的树不好理解和解释,所以,CART算法采用最小代价复杂度后剪枝方法解决决策树对训练数据过度拟合的问题,最终得到一棵“恰当”的树,这棵树既具有一定的【6】分类精度,又有合理的复杂度。剪枝过程可以借助叶节点的数目来度量决策树的复杂度,通常它们二者是正比的关系。如果将决策树的误差看做代价,以叶节点的数目来度量复杂度,则决策树T的代价复杂度可定义为:~RT()RT()|T|(4.15)~其中,|T|表示决策树T的叶节点数目,为复杂度参数,表示每增加一个叶节点所带来的复杂度,0,RT()表示决策树T在测试样本集上的分类误差。41 西安理工大学硕士学位论文对于任意一棵决策树的节点t,当节点t的代价复杂度小于以t为根的树中的所有叶节点的复杂度之和时,剪掉以t为根的树;否则在决策树中保留以t为根的树,不进行剪枝。CART决策树算法的后剪枝步骤可以总结如下:第一步:产生子树序列,分别表示为TTT,,,...,T,其中T为充分生长的最大树,以123k1后各子树所包含的节点数依次减少,T只包含根节点。对于最大树T,令0,然后计k1算代价复杂度,并逐一增加的值,直到有一个子树可以被剪掉,得到子树T。重复执2行此步骤,直到决策树只剩下一个根节点,最后得到子树序列以及它们的代价复杂度。第二步:根据一定的标准,在k个子树中确定一个代价复杂度最低的子树作为最终的剪枝结果。CART算法选择最终子树的标准为:RT()min{RT()mSERT(())}(4.16)kkk其中,m为放大因子,SERT(())为子树T在训练集上预测误差的标准误差,定义为kkRT()(1RT())kkSERT(())(4.17)kN其中,N是检验样本集的样本数目。当m0时,最终子树是k个子树中代价复杂度最小的树测试。通常要考虑子树的标准误差,m代表需要考虑的标准误差的数目,则满足该标准的子树就是非代价复杂度最小的子树。m越大,最终所选择子树的误差越高,复杂度越小。对比分析各决策树算法的使用范围和存在的缺陷,可以发现:ID3分类算法只能处理分类属性数据,无法处理连续型数据,而且选用信息增益的标准选择决策树节点属性时,如果数据的类别值较多,属性计算的结果较大,容易导致过度拟合的现象;C4.5算法在建树过程中需要多次顺序扫描和排序,算法的效率很低,而且产生的树不够稳定,分类的精确度不高;CART决策树算法使用Gini系数作为变量的不纯度量,使用代理测试来估计测试的输出值,从而产生最小交叉验证误分类估计的树,而且该算法采用预剪枝和后剪枝相结合的方式进行剪枝,最后得到用户可以理解的“恰当”的树,树的复杂度相对较小,预测误差也在可以容忍的范围内。因此,在后续的客户流失预测模型中选取CART决策树算法来进行建树。4.3本章小结本章主要介绍了本课题在研究客户流失预测的过程中主要用到的算法,即聚类算法和决策树算法。首先,在学习研究聚类算法的过程中,按照不同的分类,介绍了各算法的原理以及应用的操作步骤,分别对比分析了不同聚类算法的优点和弊端以及应用要求,为后续的流失预测模型的建立选取合适的算法做准备。其次,在学习研究常用的决策树算法的42 聚类算法与决策树算法过程中,重点研究了ID3、C4.5、CART算法的实现原理和操作步骤,对比三者的应用要求、剪枝过程以及应用缺陷,从而选取最佳的决策树划分方法进行预测。43 西安理工大学硕士学位论文44 基于客户通话记录和账单数据的聚类分析5基于客户通话记录和账单数据的聚类分析所谓客户流失预测,就是利用客户的历史通话记录和账单数据,应用统计学中分类预测方法,通过分析客户的固有特征(客户的基本信息记录等)和行为特征(主要是消费特征),建立流失预测模型,从而挖掘出有流失倾向的客户和存在潜在流失可能性的客户,根据预测的结果,有选择性的来指导市场营销策略的安排工作,最终采取有效的挽留措施,减少客户流失量,提升企业效益。本文在建立客户流失预测模型之前,利用统计学中的聚类技术对客户进行聚类分析,在聚类分析的基础上建立客户流失预测模型,这样对于流失预测来说,可以在不同的客户群体上进行,可以根据每条记录的类别号判定客户,从而有效进行流失预测。根据图5-1所示的聚类分析模型构建流程图,在建立流失预测模型之前,首先对客户进行有效的聚类分析。图5-1聚类分析模型构建流程图Figure5-1TheProcessofClusterAnalysis5.1数据准备及预处理要建立灵活、普遍性高的客户流失预测模型,必须采集大量的客户信息资源数据,同时需要对其进行数据的预处理,得到构建模型所需的数据形式。因此,在这个阶段需要对模型所需的原始数据(训练数据和测试数据)进行分析处理,以便能充分挖掘出客户的关【14】键性行为特征。5.1.1样本选择和数据描述以某地区联通运营商的客户业务数据作为实验数据(包括训练样本集和测试样本集),该样本数据集中总共包含了651794条(包含正常客户和流失客户)记录,每条记录由33项客户基本信息和48项客户行为特征(12种业务,4个月,共48项)以及一项客户类别特征组成。(1)客户基本信息:主要是客户资料数据客户基本信息数据是客户的静态数据(如表5-1所示),相对来说比较稳定,但是由于这些数据在客户入网填写时会包含大量的缺失值,甚至是假的错误的信息,所以需要进45 西安理工大学工程硕士专业学位论文行大量的数据清洗和转换工作。表5-1客户基本特征表Table5-1EssentialFeatureofClient字段编号字段名称字段标识转换逻辑数据类型1电话号码ci_phone电话号码char(30)2用户编码ci_id用户编码number(11)3客户类型ci_type公众、企业客户代码char(13)……………32是否开通短信包月套餐po_bool_sms开通赋值1,否则赋值0number(12)33是否拥有开机提醒po_bool_open拥有赋值1,否则赋值0number(12)(2)客户消费行为特征:主要是客户在过去4个月的消费行为数据客户消费行为特征的每条记录包含了客户在过去4个月的消费情况,包括12个基本消费行为,所以该样本总共包含了48(12448)项数据记录,如表5-2所示。表5-2客户消费行为特征表(一个月份)Table5-2ConsumingBehaviorFeatureofClient(foronemonth)字段编号字段名称字段标识数据类型1月总费用total_feenumber(8)2月租费fee1number(8)3本地通话费local_feenumber(8)4县内通话费intercountry_feenumber(8)5县外通话费outcountry_feenumber(8)6港澳台通话费hmk_feenumber(8)7IP国内通话费ip_dom_feenumber(8)8IP港澳台通话费ip_hmk_feenumber(8)9IP国际通话费ip_inter_feenumber(8)10短信费sms_feenumber(8)11SP信息费sp_feenumber(8)12GPRS费gprs_feenumber(8)(3)客户类别特征:主要用来标注客户的状态实验样本数据集中包含了一个可以判定类别信息的类别特征(如表5-3所示),根据类别信息可以知道每个客户的基本状态。表5-3客户类别特征Table5-3ClassesFeatureofClient字段编号字段名称字段标识数据类型1用户状态ci_statuschar(30)5.1.2数据预处理数据预处理的效果会直接影响到模型的性能和流失预测的结果,一方面,通过对数据格式和内容的调整、完善,可以使得建立的模型更简单、准确,而且便于理解;另一方面,可以根据整理好的数据的特点以及不同算法的要求,选择合适的执行算法,从而降低了算46 基于客户通话记录和账单数据的聚类分析【15】法的时间和空间复杂度。为了克服已有模型存在的缺乏灵活性缺陷,此处的数据预处理不按照规定对全部的数据做统一处理,而是根据数据的属性特点分开进行,主要包括:【16】数据清洗、特征构造和特征选择等过程。a.数据清洗主要是补全缺失的数据、处理不一致的数值、除去错误的数据。例如:如果某条记录中存在大量的缺失值,而且这些数据很难用正常的方法来补全的话,则可以考虑删除整条记录数据;又或者记录数据的某项缺失,在不影响整体样本数据集的情况下,可以考虑用均值来补全缺失值。b.数据转换主要包括构造新的衍生特征信息和对连续型数据进行规范化,在采集的数据信息中,消费行为特征只有过去4个月的消费记录,这几个特征不能充分体现客户在这4个月以及将来的消费情况。所以,在数据集的处理时,对于12项月消费行为的记录采用了构造衍生特征的措施,构造了24项月均消费信息和月均消费趋势的信息。例如:月均消费行为:为过去4个月的费用的平均值,表示为mb_fee,即4mbfee_(totalfee_)/4(5.1)i1月消费趋势:为过去4个月的消费记录中后2个月的总消费与前2个月的总消费的比值,表示为trend_fee,即42trendfee_(totalfee_)/(totalfee_)(5.2)i3i1c.特征选择这个步骤将会直接影响到分类预测模型的性能,通过选择相关性强的特征,从原始数据集中删除不相关或者相关性很小的特征项,保留与目标特征相关性大的特征项,可以减少样本的维度,从而大大减少了计算量,降低了时间和空间的复杂度,简化了学习模型。经过对数据进行预处理,最终整理了高维度、大规模的、用于实验数据集的样本总共包含了631483条记录,每条记录包含33项客户基本信息和114项客户消费行为特征(构造的24项月均消费行为特征、24项月均消费趋势特征和17项通话行为特征、21项不同时段通话频率行为特征、20项服务消费行为特征以及8项手机上网行为特征)以及1项类别特征,总共148项。5.2客户聚类分析在对原始的数据集按照客户聚类分析构建流程图的步骤做了初步的处理之后,考虑利用SAS软件和VB软件进行模型的建立,将SAS软件和VB软件利用编程接口进行链接,联合SQLServer2005软件调用数据集并且保存结果数据,设计一个电信行业客户流失预47 西安理工大学工程硕士专业学位论文测系统(如图5-2所示),该系统中包含了客户聚类分析和客户流失预测两个模块,聚类分析的结果可以保存在数据库中形成新的数据集,从而为下一步的客户流失预测奠定基础。图5-2客户流失预测系统界面Figure5-2TheInterfaceofClientChurningSystem5.2.1客户聚类分析流程论文在整个系统里嵌套了一个客户聚类分析子系统进行聚类分析,子系统主要包括以下几部分:数据描述及结果显示、数据标准化、变量相关分析及结果显示、因子分析模块、聚类分析模块。其中,数据描述模块实现对已选数据集字段的分布情况的简单统计和显示;数据标准化模块实现对数据的规范化,消除量纲不一致对分析的影响;变量相关分析主要用来检测各字段之间的相关性,用以消除冗余,减少数据维度;因子分析模块可以根据需要,当数据集各字段之间存在强相关性时来进行,将强相关的字段归为同一类,这样对分析结果进行聚类,减少了聚类的复杂;聚类分析模块划分为两部分:因子分析结果聚类和字段直接聚类,当进行变量相关分析之后,根据分析结果对数据集再次进行处理,对于那些强相关的数据字段进行因子分析,根据因子分析的结果可以适当的删除冗余字段,降低聚类分析的数据维度,然后进行因子分析结果的聚类分析。如果数据进行相关分析之后,各字段之间的相关性很低,也就是字段之间没有重叠冗余,那么可以对数据集进行直接字段聚类分析。客户聚类分析的整个流程如图5-3所示:48 基于客户通话记录和账单数据的聚类分析图5-3客户聚类分析子系统流程Figure5-3TheProcessofCustomerClusterAnalysisSubsystem(1)选择要进行聚类分析的数据集进行数据描述时,选择字段时排除标识型数据字段,只选取数值型数据字段。因为数据标准化的对象必须是数值型的,所以,对于类似电话号码(ci_phone)和客户姓名(ci_name)等标识型数据字段都要排除在外。对数据集字段的数【18】据描述主要是通过对ProcGchart过程进行编程来实现的。(2)根据数据描述的显示结果,对数据集中的数值型字段数据进行数据标准化操作,实【19】现对数据的规范化处理,此步骤通过对ProcStandard过程进行编程实现。(3)对规范化的数据字段进行相关分析,根据相关分析显示结果的相关性以及显著性概率p值,可以衡量字段间的相关性,判断数据集中是否存在重叠冗余字段,从而决定下一【18】步是否进行因子分析,此步骤通过对ProcCorr过程进行编程实现。(4)根据数据集相关分析的结果,如果各字段之间相关性比较强时,需要对其进行因子49 西安理工大学工程硕士专业学位论文分析。设置“生成可用因子数目”参数和“指定进行因子分析的列”参数,通过“因子分析”按钮进行因子分析。“设定生成可用因子数目”参数用于指定后续聚类中需要设置的因子变量范围,“选择进行因子分析的字段”参数用于限定进行因子分析的字段,此步骤【19】通过对ProcFactor过程进行编程实现。(5)当数据集的相关分析结果显示的字段间相关性比较差时,无需进行因子分析,对数据集进行字段直接聚类操作,设置“最大聚类个数”参数和“指定进行聚类分析的字段”参数,通过“字段直接聚类”按钮进行聚类分析,“最大聚类个数”参数用于指定最多可【19】生成的类别数目,此步骤通过对ProcFactor过程进行编程实现。5.2.2聚类分析结果显示进入图5-2所示的客户流失预测系统,点击“客户聚类分析”按钮可以进入聚类分析【19-22】子系统,客户聚类分析子系统由VB语言编写,运行界面如图5-4所示:图5-4客户聚类分析子系统运行界面Figure5-4TheOperationInterfaceofCustomerClusterAnalysisSubsystem在数据集选择部分选定要进行聚类分析的数据集以及相应的数值型字段,对数据集字段进行数据描述操作。论文对数据集中的134个字段进行了数据描述操作(为了下一步的数据标准化操作,对于全部的148个字段,选定所有的数值型字段,总共134项),结果显示如图5-5所示:50 基于客户通话记录和账单数据的聚类分析图5-5数据描述结果Figure5-5TheResultofDataDescription从数据描述结果的柱状图可以清楚的看到每个字段中数据的分布情况,如果某个字段中有90%以上的数据都取同一个值(布尔类型的数据字段除外),可以选择删除此字段,因为属性太过集中的字段在进行聚类分析时容易导致错误的结果。论文通过对数据集的字段进行数据描述操作之后,删除了一些数据取值太过集中的属性字段,并且为了后续的操作,将数值型的数据字段选定为97个。对这97个字段的数据集进行数据标准化操作,使得数据集比较规范,消除不一致量纲的数据,然后点击“字段相关分析”按钮。对数据集中的字段进行相关分析的部分结果如表5-4所示:表5-4字段相关分析的部分结果Table5-4SomeResultsofVariablesCorrelationAnalysis目标表字段名mb_tomb_rmb_spemb_lomb_nemb_smb_gptrend_trend_ltrend_tal_feeent_fcial_feecal_few_feems_fers_feetotal_focal_fesms_feeeeeeeeemb_total_fee10.6390.10250.57010.40870.51620.2034-0.0300.17930.119445146960909mb_rent_fee0.639410.05860.05400.02610.1459-0.022-0.039-0.0460.0656551284323357mb_special_fe0.10250.05810.0276-0.0310.10120.0461-0.056-0.012-0.032e16523230476493mb_local_fee0.57010.0540.027610.39640.37290.0952-0.035-0.2790.1360401251023374mb_new_fee0.40870.026-0.03130.396410.47880.09880.0196-0.0880.094061225384720mb_sms_fee0.51620.1450.10120.37290.478810.11690.0106-0.0640.05079983136116951 西安理工大学工程硕士专业学位论文续表5-4目标表字段名mb_tomb_remb_spmb_lomb_nemb_smb_gptrend_trend_trend_tal_feent_feeecial_fcal_few_feems_fers_feetotal_flocal_fsms_feeeeeeeeeemb_gprs_fee0.2034-0.0220.04610.09520.09880.116910.0587-0.0300.010264300867006trend_total_fee-0.030-0.039-0.056-0.0350.01960.01060.058710.50520.36470923472341781trend_local_fee0.1793-0.046-0.012-0.279-0.088-0.064-0.0300.505210.150535643772160-89trend_sms_fee0.11940.0656-0.0320.13600.09400.05070.01020.36470.15051979309619dur_off_local_0.55990.23970.05090.65050.28680.33210.0766-0.013-0.1850.127out984942140977.dur_off_local_i0.48330.14490.07800.55760.30380.37350.0841-0.000-0.1350.1093n892057756794dur_off_ld_out0.49980.42430.06190.06830.03830.17700.1649-0.122-0.0410.025068789459412dur_night_ld_o0.40590.33130.04530.04840.02250.16420.0204-0.106-0.0260.0077ut682348602672cs_sms_count0.47130.20140.07310.28850.14830.80930.1091-0.020-0.0510.0429700989680514cs_cu_sms_out0.29010.14320.04690.15810.08990.50710.0584-0.016-0.033-0.0022824944973340cs_cm_sms_ou0.43440.17590.06780.27500.13620.7398-0.104-0.021-0.0480.0445t7141893333161cs_ct_sms_out0.20260.00770.01750.13120.06710.33860.04490.0018-0.0210.044014885440784从表5-4中显示的结果可以看出,很少有字段之间的相关系数大于0.5(表中加粗、斜体数值显示),大于0.7的只有一个,并且对数据集字段的相关分析结果显示,显著性概率p值均小于0.0001,这说明这些字段之间的相关性很差,它们所反映的信息几乎没有重叠,因此可以直接对数据集进行字段直接聚类分析。在直接变量聚类模块中,设定最大聚类个数以及进行聚类分析的字段参数,点击“字段直接聚类”按钮,对数据集进行聚类分析。论文中经过多次尝试,最大聚类个数设置为25的时候,聚类的效果最优。在聚类分析过程结束后点击“聚类分析结果显示”按钮,可以查看字段直接聚类的结果,如图5-6所示:52 基于客户通话记录和账单数据的聚类分析图5-6字段直接聚类结果Figure5-6TheResultofClustering图中Cluster表示类别编号;Frequency表示每一类别中观测(客户)的数目,如第三个类Cluster3中客户数目有680个;RMSStdDeviation表示标准差的均方根,是类内观测的距离的均方根;MaximumDistancefromSeedtoObservation表示类内观测到凝聚点(类中心)的最大距离;RadiusExceeded表示半径超标值;NeastestCluster表示与当前类距离最近的类的编号,如与第七个类Cluster7距离最近的类是第二十四个类Cluster24;DistanceBetweenClusterCentroids表示当前的质心(均值)同最近的其他类之间的距离。从图5-6可以看出,聚类分析将客户主要划分为6类:第一类Cluster3,客户数为680,约占总客户数的0.117%;第二类Cluster7,客户数为438,约占总客户数的0.075%;第三类Cluster14,客户数为343825,约占总客户数的59.48%;第四类Cluster17,客户数为712,约占总客户数的0.123%;第五类Cluster18,客户数为2097,约占总客户数的0.363%,第六类Cluster24,客户数为230087,约占总客户数的39.8%。这六个类的客户占到了聚类总客户数的99.95%。【23-25】类内均值描述每个类对应的公共因子的均值,体现每个客户类别的特征,如图5-7所示:53 西安理工大学工程硕士专业学位论文图5-7类内均值Figure5-7TheMeansofClusters根据图5-7显示的每个类对应的公共因子的均值可以看出每个类的消费与行为特征,例如:类Cluster1在MB_TOTAL_FEE(月均总费用)、MB_RENT_FEE(月均包月费用)、MB_LOCAL_FEE(月均本地通话费)、MB_COUNTY_IN_FEE(月均县内通话费)等字段上有一定的正值,在MB_MONTHLY_FEE(平均月租费)、MB_SPECIAL_FEE(月均特殊服务费用)等字段上有一定的负值,说明类Cluster1的客户本地通话较多,套餐更换次数不多,但是没有太多的特殊服务费,免月租或月租较少。按照这样的方法可以总结出每个类别的客户的行为特征,这样在后续的流失预测分析中有助于总结流失客户的基本特征。从客户聚类分析的类内均值可以判定每个类别客户的基本特点,初步判定客户的类型如下:类Cluster3中的客户在字段MB_LOCAL_FEE(月均本地通话费)、TREND_TOTAL_FEE(总费用趋势)、TREND_LOCAL_FEE(月均本地通话费趋势)、TREND_SMS_FEE(月均短信费趋势)等多个关键性字段上均值都出现负值,而在MB_TOTAL_FEE(月均总消费)、MB_SPECIAL_FEE(月均特殊业务费)、MB_COUNTY_OUT_FEE(月均县外通话费)等其他字段上均值为正,也就是说类Cluster3的客户每个月都有基本消费,而且通话费有优惠,但是消费的趋势在减少,所以可以判定为潜在流失客户,运营商需要查看该类客户的详细信息,了解客户的消费特征,采取有效的措施挽留。类Cluster7中的客户只有在字段MB_HMT_FEE(月均港澳台通话费)、54 基于客户通话记录和账单数据的聚类分析MB_INTER_FEE(月均国际通话费)字段均值出现负值,而在其他字段均值都为正值,也就是说该类客户没有国际或者港澳台通话业务或者存在优惠,其他业务都正常消费,所以该类客户可以判定为正常客户。类Cluster14在所有字段均值都是负值,而且在关键字段数值较大,所以该类客户可以初步判定为流失客户。类Cluster17客户在MB_MONTHLY_FEE(月均包月月租费)、MB_LOCAL_FEE(月均本地通话费)、MB_SPECIAL_FEE(月均特殊业务费)、MB_COUNTY_IN_FEE(月均县内通话费)、MB_COUNTY_OUT_FEE(月均县外通话费)、MB_SMS_FEE(月均短信费)字段上均值为负,而在TREND_SPECIAL_FEE(月均特殊业务费趋势)、MB_WGPRS_FEE(月均WGPRS费)、TREND_LOCAL_FEE(月均本地通话费趋势)、TREND_TOTAL_FEE(月均总消费趋势)等多个关键字段上的均值都是正值,也就是说该类客户每个月的上网和本地通话消费比较大,而短信业务较少而且客户参加账单优惠活动,所以判定该类客户为正常客户。类Cluster18中的客户在TREND_TOTAL_FEE(月均总消费趋势)、TREND_LOCAL_FEE(月均本地通话费趋势)、TREND_VAS_VOICE_FEE(月均语音增值费趋势)、TREND_COUNTY_IN_FEE(月均县内通话费趋势)、TREND_COUNTY_OUT_FEE(月均县外通话费趋势)字段上的均值都是负值,其他字段的均值都是正值,也就是说该类客户每个月的通话、短信等业务都有消费,但是平均每月消费的趋势都在下滑,所以可以判定该类客户属于潜在流失客户,企业需要了解客户的详细资料,采取适当的挽留措施,否则该类客户很可能就会流失。类Cluster24的客户只在字段MB_HMT_FEE(月均港澳台通话费)、TREND_SPECIAL_FEE(月均特殊业务费趋势)和MB_INTER_FEE(月均国际长途费)和上均值为负,其他字段上的均值都为正,所以可以判定该类客户为正常客户。根据客户聚类分析的结果可以初步确定流失客户主要分布在类Cluster14,而存在潜在流失肯能性的客户主要集中在类Cluster3和类Cluster18,正常客户集中在类Cluster7、类Cluster17和类Cluster24,所以,后面的客户流失预测重点要分析存在潜在流失客户和流失客户的数据,从而总结流失客户的特点,为后续企业的挽留措施和市场策略做指导。5.3本章小结本章通过对某运营商的真实数据记录做了一系列清洗处理和数据整合之后,根据K-means聚类算法,利用SAS、SQLServer2005和VB软件完成了在客户流失预测系统设计中的客户聚类分析模块设计,实现了客户的聚类分析。根据聚类分析子系统的显示结果,对比分析了数据描述结果、字段相关性和类内均值之后,确定了流失客户所在的类,从而总结了流失客户所在类的特点,并将每个客户所属的类别编号作为新的字段添加到了客户55 西安理工大学工程硕士专业学位论文数据表,为后续的客户流失预测子系统的设计做准备。56 基于客户聚类分析结果的流失预测6基于客户聚类分析结果的流失预测在客户聚类分析子系统中,进行完了客户字段直接聚类之后,点击“保存结果”按钮,可以将聚类分析的结果保存到数据库中,如图5-4中在右下角的显示,本次聚类结果保存为数据库表:cluster_result_20051215_18_50。利用客户聚类分析子系统的保存结果,从数据库中读取需要进行流失预测的数据,根据决策树CART算法的原理,对数据集进行分析,建立客户流失预测系统(如图5-2所示系统的子系统)。6.1数据准备对数据进行聚类分析之后,每个客户都有自己所属的类,聚类分析保存的结果数据相对原先的数据在字段中多了一个表示客户类别的“类别编号”字段。将客户划分为不同的类别,目的是为了使流失预测分析在不同的客户群体上进行,这样就可以根据各记录的类别编号判定客户的类别。因为从聚类的结果显示来看,有的类别中包含的数据记录太少,分析起来意义不大,所以对于聚类后的数据集,删除那些含有少数据的类别数据,只保留字段“类别编号”分别为3,7,14,17,18,24的数据记录。在进行完了流失预测之后,可以总结流失客户的基本特征,为了使总结的基本特征更准确,可以对比着流失客户所在的类进行集中总结。所以在进行流失预测分析时利用聚类分析保存的数据集,数据集中添加了每条记录所在的类别编号(CLUSTER)和距离类内质心的距离(DISTANCE)字段,用于流失预测建模的数据集中总共包含了150项特征(148项基本特征(数值型数据字段)+1项聚类编号+1项距离字段)和631590条数据记录。选取其中2/3的数据作为训练集,剩余1/3的数据作为测试集,这样分开预测主要是后面便于检测预测模型的准确度。6.2客户流失预测对于客户流失预测子系统的设计,将SAS软件和VB软件利用编程接口进行链接,进行系统界面的设计,嵌套SQLServer2005调用数据集进行分析并且保存结果,实现决【26-29】策树分析的流失预测。6.2.1客户流失预测流程论文在聚类分析的基础上设计了客户流失预测子系统,子系统主要包括以下几部分:数据描述及结果显示、决策树建树模块和流失预测评估模块。57 西安理工大学工程硕士专业学位论文其中,数据描述模块实现对待预测的数据集中数据分布情况的简单统计和显示,方便在建树之后对客户特征字段的熟悉;决策树建树模块中包含了算法的选择以及相关参数的设置,最后将决策树的树状结构显示出来;流失预测评估模块主要是对已建立的树的适合度以及预测的准确度的检测评估,方便对建树模块的优化。客户流失预测的流程如图6-1所示:图6-1客户流失预测子系统流程Figure6-1TheProcessofClientsChurningSubsystem(1)选择要进行流失预测的数据集进行数据描述时,只排除客户姓名(ci_name)、ID编号(ci_id)以及电话号码(ci_phone)字段即可。因为在流失预测时不需要对数据进行标准化,对所有的数据均可建树,在总结客户特征,各个字段都会或多或少存在影响。(2)根据数据描述的显示结果,对数据集中的数据分布情况进一步熟悉,方便总结流失客户特征。(3)对已选数据集进行建树操作,根据数据集的特点选取合适的算法,设置相应的参数,便于建立大小合适的树。由于各种决策树算法适应的数据类型不同,所以选取的算58 基于客户聚类分析结果的流失预测法是否合适对建立的树也有不小的影响。(4)根据流失预测的结果,查看树状结构图以及评估参数的曲线图,进入评估模块。根据评估模块显示的训练集和测试集中流失客户和正常客户的分布柱状图,计算流失预测的准确率。如果流失预测准确率比较高,则说明建立的树大小适合,否则返回建树模块,重新设置参数进行预测。(5)当评估模块对于建树模块的预测结果计算的准确率较高时,保存结果,然后可以结合聚类分析的结果来总结流失客户的基本特征,从而针对性的对现存客户采取有效的挽留措施,或者制定新的市场销售策略。6.2.2客户流失预测结果分析进入图5-2所示的客户流失预测系统,点击“客户流失预测”按钮可以进入流失预测【30-33】子系统,该子系统由VB语言编写,运行界面如图6-2所示:图6-2客户流失预测子系统运行界面Figure6-2TheOperationInterfaceofClientsChurningSubsystem在客户流失预测子系统中数据描述结果的显示与聚类分析子系统中数据描述的显示结果类似,在此不再做具体的说明。【34-36】论文在客户流失预测子系统中的建树模块选用CART算法来建立决策树,因为选用的数据来自数据库总的历史数据,在引入属性选择、特征提取和特征选择的基础上,对数据做了处理,不仅对原始的数据做了筛选,还根据数据的特点和需求做了衍生构造,59 西安理工大学工程硕士专业学位论文数据属于大规模、高维度的数据,所以考虑到建立大小合适的树,采用CART算法。67%的数据记录作为训练集来建树,剩下的33%的数据作为检测集。因为CART算法是二元回归分类树,所以每节点上的叶子数设置为2,树的最大深度设置为20(树的最大深度可以根据需要设置,但是考虑到建树的充分性,建议设置的稍微大一点),然后点击“开始预测”按钮进行流失预测(建树)。建树操作完成后点击“流失预测结果显示”按钮可以查看流失预测树状结构图,如图6-3所示:图6-3流失预测模型的树状结构图Figure6-3ArborescenceStructureChartofClientChurningPrediction图中显示的决策树深度为5,分类从顶部开始,直到获得了最佳分类结果时才停止分支,当其达到最佳结果并且获得了按同一规则分类的客户时,便会在底部出现叶子节点。通过决策树的树形可视化,可以了解每个叶子节点的分类规则所需的最重要的变量。在树【33】中叶子节点的产生所依据的最重要字段依次为:客户月均本地通话费趋势(TREND_LOCAL_FEE)、客户月均短信息费趋势(TREND_SMS_FEE)和客户月均新业务费趋势(TREND_NEW_FEE)、客户基本月租费趋势(TREND_RENT_FEE)和客户月均GPRS费趋势(TREND_GPRS_FEE)等。对于建立的流失预测系统,因为在建树的环节有设置训练集和检测集,所以通过检测集的应用来衡量系统的准确性,也就是说对于检测集的数据应用流失预测系统之后,预测【36,37】出的流失客户对应实际的状态的一致性。从子系统的建树模块显示出来的结果可以60 基于客户聚类分析结果的流失预测准确看到实际的应用情况,图6-4是流失预测模型的混淆矩阵,清楚的显示了训练集和检测集的预测情况。图6-4流失预测模型的混淆矩阵Figure6-4ConfusionMatrixofClientsChurningPrediction在混淆矩阵中“TRAIN”代表着训练集,“VALID”代表着检测集,“WORK”代表的判别流失与否的关键字段。“WORK”是布尔类型的数据字段,设定其表达式为“WORK=(TREND_TOTAL_FEE>1)”,也就是说客户消费的月均总费用趋势呈现上升趋势时WORK取值为1,否则取值为0。“WORK=1”代表预测为正常客户,“WORK=0”代表预测为流失客户。从图中可以看到预测的流失客户和正常客户的准确数据,例如:测试集中预测的144360个流失客户当中,有14797个客户的实际状态是“正常”。【37,38】CART算法采用Gini系数来度量对某个属性变量测试输出的两组取值的差异性,理想的分类应该尽量使样本输出变量取值的差异性总和达到最小,即“纯度”最大,也就是使得输出变量的取值差异性下降最快,“纯度”增加最快。客户流失预测子系统的Gini系数均方误差曲线如图6-5所示:图6-5Gini系数均方误差曲线Figure6-5Ginicoefficientmean_squareerror61 西安理工大学工程硕士专业学位论文经过整个流失预测建树,对比训练集和测试集的预测结果,检测所建的树的纯度,由Gini系数均方误差曲线图(如图6-5所示)判断误分情况。曲线的下降速度很快,而且取值很小,在第五个叶子数的时候曲线趋于稳定,数值保持不变。也就是说,建立的流失预测模型性能很好,接近理想的分类。【39-41】为了更准确的建立流失预测系统,利用评估模块对系统的预测结果做了评估,由评估的结果来决定是否进行再次的优化。点击“显示评估效果”按钮,完成对模型的评估操作,评估结果如图6-6所示:图6-6流失预测模型的评估结果Figure6-6AssessmentResultofClientChurningPrediction对于该柱体评估结果图,黄色的柱体表示预测错误的数据,对应到坐标轴上表示为预测状态为流失但实际状态为正常客户,或者是预测状态为正常但实际状态为已流失的客户,在图的左侧对应有实际的数据。对已知客户状态的数据记录,利用该系统来进行预测分析,用得到的预测结果与客户的实际状态进行对比,可以计算出系统的预测准确度。根据流失预测模型的评估结果显示,计算系统的准确度为83.5%。也就是说,将用训练集建立的子系统用于实际的客户流失预测时,预测出来的流失客户名单中有83.5%是准确的。从整个模型的预测结果和评估结果来看,建立的客户流失预测系统比较接近理想状态,具有一定的实践意义,所以无需再进行系统优化。由此根据流失预测的树状结构图所显示的规则以及之前聚类分析的结果,可以总结出被分类为流失客户的一个分支节点的客户基本上具备以下特点:(1)平均每个月的本地通话费趋势小于0.005,流失概率为85.0%;(2)平均每个月短信息费趋势小于0.03,流失概率为94.4%;(3)平均每个月的新业务费趋势小于0.085,流失概率为96.9%;(4)平均每个月的包月费用趋势小于0.5,流失概率为98.0%;(5)平均每个月的GPRS费趋势小于17.655,流失概率为98.3%;62 基于客户聚类分析结果的流失预测6.3本章小结本章在客户聚类分析的基础上结合CART算法,利用SAS、SQLServer2005和VB软件,完成了客户流失预测模块的设计。通过客户流失预测子系统的预测结果,查看客户流失预测树状结构图,确定流失客户和正常客户的分布百分比以及消费特点,结合客户流失预测混淆矩阵的显示结果,统计整体的流失客户和正常客户数据分布,确定最终流失客户。对于预测出的流失客户数据的准确性检测和评估,在流失预测子系统中嵌套了模型评估,对比客户流失预测子系统的Gini系数均方误差曲线,对流失预测模型做了进一步的检测,根据客户流失预测模型评估结果显示,对客户流失预测系统进行优化,直到最终的预测结果准确率最高。本章在结合客户聚类分析结果的基础上,根据客户流失预测的显示比例,最终总结了流失客户的基本特征以及流失率。63 西安理工大学工程硕士专业学位论文64 总结与展望7总结与展望数据挖掘技术在电信业中发挥着越来越重要的作用,近几年发展应用比较热门的就是对客户流失的预测。但是对于客户流失预测的研究,基本上都没有统一的定论,而且没有形成系统化的应用。客户流失预测作为客户关系管理中的一项基础工作,对电信行业的企业效益有着至关重要的意义,因此有待更深入的研究。本文的主要工作主要有:(1)介绍数据挖掘技术的相关理论,包括数据挖掘的关键技术、主要算法、分析的主要阶段、常用挖掘工具。本文主要利用聚类算法和决策树算法,重点介绍这两方面算法。(2)分析介绍数据挖掘技术在电信行业的应用与发展前景,为论文的研究工作做一定的宏观指引。(3)通过流失预测系统的客户聚类分析子系统界面对预处理后的通话及账单数据进行客户聚类分析,为客户流失预测奠定基础。(4)利用客户聚类分析的结果,将业务数据分类,通过流失预测系统的客户流失预测子系统界面对聚类后的不同类型客户的行为特征进行分析预测。本文研究的创新点主要有两方面:(1)客户聚类分析与客户流失预测相结合:利用通话及账单数据将客户聚类,依据聚类分析的结果对客户的行为数据进行流失预测,从而总结出流失客户的基本特征,预测出不同类型客户的潜在流失概率。(2)开发可视化的分析与预测系统:包括客户聚类分析子系统和客户流失预测子系统,实现分析与预测的友好呈现,操作简单。本文还有许多不足之处,需要进一步改进,主要有:对原始数据的筛选和清理工作很大一部分是由人工完成,没有实现数据的自动化处理;继续深入研究SAS软件与宏实现,进一步提高系统的处理速度,提高分析效率;完善可视化的挖掘系统,利用聚类分析或流失预测的结果实现其他挖掘目的,比如客户细分、业务交叉销售等。65 西安理工大学工程硕士专业学位论文66 致谢致谢感谢我的导师王林教授三年来的关心与指导,从论文选题到论文内容和框架,王老师都给予我很大的帮助。王老师严谨求实的治学态度、求真务实的工作作风对我的人生产生重要影响。无论是在学习上还是在生活上,教研室的每一个同学都能感受到他的关怀,从他身上我学到了很多为人处事的道理,在此表示诚挚的谢意。感谢在我论文写作期间教研室同学给予的大力协助,感谢同窗魏建国、童昭维等人在计算机专业和论文写作方面的建议和帮助,他们勤奋认真的学习态度是我学习的榜样。在此衷心感谢所有帮助和支持我的良师益友。最后,衷心感谢在百忙之中抽出宝贵时间对论文进行审阅的各位老师和专家!67 西安理工大学工程硕士专业学位论文68 参考文献参考文献【1】朱明.数据挖掘导论[M].合肥:中国科学技术大学出版社,2012,1【2】郑岩.数据仓库与数据挖掘原理及应用[M].北京:清华大学出版社,2011,1【3】Pang-NingTan,MichaelSteinbach,VipinKumar.范明,范宏建等译.数据挖掘导论[M].北京:人民邮电出版社,2011:1-420【4】GeorgeFernandez.StatisticalDataMiningUsingSASApplicationsSecondEdition[M].CRCpress,2010,1【5】李雄飞,李军.数据挖掘与知识发现[M].北京:高等教育出版社,2003,2【6】MehmedKantardzic.DataMining:Concepts,Models,Methods,andAlgorithms[M].Wiley-IEEEPress,2003:1-18【7】高敏.数据挖掘现状与产品分析[J].微型计算机应用,2002,23(5):284-285【8】J.Han,M.Kamber,范明,孟小峰译.数据挖掘概念与技术[M].北京:机械工业出版社,2007:8-10【9】刘世平.数据挖掘技术及应用[M].北京:高等教育出版社,2010,1【10】汪明.数据挖掘综述[J].河北软件职业技术学院学报,2012,14(1)【11】刘飞.我国通信企业客户流失预测研究综述[J].企业科技与发展,2011,7(301)【12】夏国恩.客户流失预测的现状与发展研究[J].计算机应用研究,2010,27(2)【13】元昌安,邓松,李文敬,刘海涛.数据挖掘原理与SPSSClementine应用宝典[M].北京:电子工业出版社,2009:1-6【14】JamieMacLennan,ZhaoHuiTang,BogdanCrivat.DataMiningwithMicrosoftSQLServer2008(2ndedition)[M].清华大学出版社,2010,7【15】MichaelJ.A.Berry,GordonS.Linoff.MasteringDataMining:TheArtandScienceofCustomerRelationshipManagement[M].NewYork:JohnWiley&Sons,2000【16】蒋盛益,王连喜.面向电信的客户流失预测模型研究[J].山东大学学报(理学版),2011,46(5)【17】刘荣,冯国生,丁维岱等.SAS统计分析与应用[M].北京:机械工业出版社,2011:188-340【18】明日科技,高春艳,刘彬彬,王斌.VisualBasic开发技术大全[M].北京:人民邮电出版社,2007:1-812【19】明日科技,李银龙,陈丹丹.VisualBasic全能速查宝典[M].北京:人民邮电出版社,2012:35-735【20】谢汉龙,尚涛.SAS统计分析与数据挖掘[M].北京:电子工业出版社,2012:1-457【21】AlexB,StephenS,KurtT.BuildingDataMiningApplicationsforCRM[M].McGraw-HillCompanies,200069 西安理工大学工程硕士专业学位论文【22】SaruabhSingh,Dr.A.K.SolTrivedi,ManojKumar.DataMiningChallengesandKnowledgeDiscoveryinRealLifeApplications[R].2011IEEEanki,Nitin【23】黄燕,吴平等.SAS统计分析及应用[M].北京:机械工业出版社,2006:259-359【24】陈治平,胡宇舟,顾学道.聚类算法在电信客户细分中的应用研究[J].计算机应用,2007,27(10):2566-2569.【25】武森,程锴,陈凤洁.聚类分析在电信客户细分中的应用[J].技术经济与管理研究,2008,01,10-12【26】鲁为,王枞.决策树算法的优化与比较[J].计算机工程,2007,33(16)【27】ValerieFioleta,BernardTourselb.Aclusteringmethodtodistributeadatabaseonagrid[J].FutureGenerationComputer,2007,8(23)【28】MariaPaulaGonzaleza,JesusLoresc,AntoniGranollersc.Enhancingusabilitytestingthroughdataminingtechniques:Anovelapproachtodetectingusabilityproblempatternsforacontextofuse[J].InformationandSoftwareTechnology,2008,6(50)【29】MohamedHammami,YoussefChahir,LimingChen.Usingvisualcontent-basedanalysiswithtextualandstructuralanalysisforimprovingwebfiltering[J].InternationalJounalofWebInformationSystems,2005,4(1)【30】张建辉等.VisualBasic从初学到精通[M].北京:电子工业出版社,2010:41-517【31】沈学利,钟华.决策树与数据仓库结合的研究与应用[J].计算机工程,2011,37(11)【32】方安儒,叶强,鲁奇,李一军.基于数据挖掘的客户细分框架模型[J].计算机工程,2009,35(19)【33】杨池然,仲文明,周志勇.SAS9.2从入门到精通[M].北京:电子工业出版社,2011,108-113【34】李阳,刘胜辉,赵洪松.数据挖掘在电信行业客户流失管理中的研究与应用[J].电脑知识与技术,2010,6(3):518-521【35】陈良,杨冬青,王腾蛟,常雷.基于PMML的移动通信客户流失模型交换[J].计算机工程,2007,33(22)【36】杨先洪.数据挖掘在电信客户流失中的应用[J].软件导刊,2009,8(11)【37】蒋盛益,李霞,郑琪.数据挖掘原理与实现[M].电子工业出版社,2011:83-116【38】RudOliviaPar,拉德O.P.Dataminingcookbook:modelingdataformarketing,risk,andcustomerrelationshipmanagement[M].机械工业出版社,2003,9【39】李兴国,刘辉,周志纯.移动通信业的客户细分和保持策略[J].统计与决策,2008:124-126.【40】曲庆云,赵晓梅,阮桂海等.统计分析方法——SAS实例精选[M].北京:清华大学出版社,2004:102-136【41】王芳,陈胜可,冯国生等.SAS统计分析与应用[M].北京:电子工业出版社,2011:26-9570

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭