数据挖掘中SVM模型与贝叶斯模型的比较分析--基于电信客户的流失分析

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据挖掘中SVM模型与贝叶斯模型的比较分析--基于电信客
户的流失分析
张慧;徐勇
【摘要】对电信客户流失数据分别构建贝叶斯模型和SVM模型,进行电信客户流失的可能性预测.在实验过程中改变数据量和特征字段,借助clementine 12.0的可视化实验平台直观、有效地观察5种模型的预测结果,并对贝叶斯和SVM的5种模型进行比较,得出结论:在属性值较多的情况下,采用贝叶斯Markov-FS 模型;在属性值较少且与预测结果高度相关的情况下,SVM中多项式核函数模型预测结果的正确率和稳定性都比较好.%Based on the telecom customer churn data,this article constructs a Bayesian and SVM model,and the possibility of customer churn prediction. In the process of experiment,this writer changes the size of the a-mount of data and characteristics of many fields,learns the results by means of experimental platform of clemen-tine 12 . 0 . Further comparative analysis of the five models comes to the conclusion:In the case that the attribute value is more,use the Bayesian-FS model;in the case that the attribute value is less,use the SVM polynomial kernel model,because the prediction accuracy and stability are better.【期刊名称】《平顶山学院学报》
【年(卷),期】2016(031)002
【总页数】6页(P68-73)
【关键词】电信客户流失;贝叶斯模型;支持向量机模型;比较分析
【作者】张慧;徐勇
【作者单位】安徽财经大学管理科学与工程学院,安徽蚌埠233030;安徽财经大学管理科学与工程学院,安徽蚌埠233030
【正文语种】中文
【中图分类】TP311.13
数据挖掘是从大量的、不完全的、有噪声的、模糊的、随机的数据中,提取隐含在其中的,人们所不知道的,但又是潜在有用信息和知识的过程[1].数据挖掘技术是
为了面向应用而产生的,它通过对大量的数据进行整理、分析、总结、推理,从而对实际问题进行指导和相关预测.目前,数据挖掘技术被广泛应用于金融、电信、
保险、医疗等行业.
笔者主要针对电信行业的客户流失进行分析.电信行业是一个存在大量的历史数据,但是知识严重匮乏的行业[2].随着竞争日趋激烈和市场的逐步饱和,发展新客户的
成本越来越高,而挽留老客户不仅可以降低成本,而且可以增加收益.所以利用数
据挖掘技术分析客户流失的情况,采取相应的策略挽留老客户就显得至关重要.但是,在电信企业经营过程中,为了在激烈的竞争中占有一席之地,会采取相应的政策和手段来管理新老客户,难免有些管理方法会引起新老客户的不满或者损害新老顾客的权益,导致电信客户与电信企业终止合作,造成客户流失[3].为了更好地了
解客户需求,减少客户流失,越来越多的电信企业开始寻求数据挖掘的方法来预测客户流失的可能性,采取相应措施,最大限度地减少客户流失.
数据挖掘中常用的自动分类模型有:决策树、遗传算法、神经网络、贝叶斯、KNN分类、支持向量机(SVM)、异常检测等,不同分类方法有不同的特点和适合
的条件.
笔者通过介绍数据挖掘中贝叶斯和SVM两种常用模型,利用数据挖掘工具clementine 12.0对电信客户数据进行挖掘与分析,比较两种模型对客户流失的预测结果,从而更加清晰和准确地了解在电信行业中贝叶斯和SVM两种模型的预测效果.
1.1 贝叶斯模型
贝叶斯分类模型是基于数学中的贝叶斯定理构造出来的一个统计分类器,用来预测数据对象属于某一类的概率.贝叶斯统计不同于一般的统计方法,其不仅利用模型信
息和数据信息,而且充分利用先验信息.在数据量较大的环境下训练得到的贝叶斯
分类模型,运算性能和分类准确率都比较高,但是在一定程度上会受到模型中无关数据的影响[4].
1.1.1 树扩展的朴素贝叶斯分类模型(TAN)
贝叶斯分类中的TAN模型是由朴素贝叶斯分类模型改进得到的,分类性能较朴素贝叶斯分类模型有明显的优势.
TAN贝叶斯网络[5]要求属性结点除类结点为父结点外,最多只能有一个属性节点,其中{X,{X1,X2,…,Xn}}构成一棵树.TAN贝叶斯网络被这一棵树唯一确定.而树被函
数{1,2,…,n}→{0,1,2,…,n}(π(i)=0为父节点)所确定.
当π(i)>0时,Πx1{Xx(1)};
当π(i)=0时,Πx1=Ω.
用函数π去定义TAN贝叶斯网络.对于已经给定的属性节点,它们之间的条件互
信息函数为:
朴素贝叶斯分类器发源于古典数学理论,有着坚实的数学基础以及稳定的分类效率.同时,贝叶斯模型所需估计的参数很少,对缺失数据不太敏感,算法也比较简单.
理论上,朴素贝叶斯模型与其他分类方法相比具有最小的误差率.但是实际上并非
总是如此,这是因为朴素贝叶斯模型假设属性之间相互独立,这个假设在实际应用
中往往是不成立的.
TAN贝叶斯分类模型在朴素贝叶斯模型的基础上进行了改进,其分类效率明显高于朴素贝叶斯模型,其基本思路是放松朴素贝叶斯分类器中的独立性假设条件, 借鉴贝叶斯网络中表示依赖关系的方法, 扩展朴素贝叶斯的结构, 使其能容纳属性间存在的依赖关系, 但对其表示依赖关系的能力加以限制.
1.1.2 马尔科夫毯(Markov Blanket)
基于贝叶斯网络的马尔科夫毯预测学习的关键是建立贝叶斯网络结构,马尔科夫毯结构是贝叶斯网络中的一个比较重要的结构[6].如果在马尔科夫毯中给定了一个变量,这个变量就与其他变量条件独立,也就是说马尔科夫毯可以阻止其他变量影响该变量.对于变量属性之间的不独立性,马尔科夫毯可以相对较好地处理这些变量属性.
而过去的马尔科夫毯中的变量和结构是分开确定的,变量之间的依赖关系没法很好地确定,所以得到的结构都是近似的.
马尔科夫毯是要求满足一个特征在其马尔科夫毯条件下,与特征域中所有其他特征条件独立这一特性的最小特征子集[7].如特征T的马尔科夫毯为MB(T),则上述定义可表示为:
其中Y为特征域中的所有非马尔科夫毯结点,这是马尔科夫毯的最直接的定义. 当特征完全关联时,特征是冗余的,这是显而易见的,但是当两个特征只是部分关联时,就不容易区分它们是否冗余.在面对特征之间部分关联,出现冗余时,马尔科夫毯是一种可以选择特征最优子集的计算方法.
1.1.3 马尔科夫毯预处理模型(Markov-FS)
该模型与马尔科夫毯模型大体相似,在马尔科夫毯的基础上,进行了特征选择预处理,选择出与目标变量有重大关联的输入变量,然后再执行模型.理论上,Markov-FS模型受到的无关变量或者关联度不密切的变量的影响小,分类的准确
性和运算性能更高.
1.2 支持向量机模型(SVM)
支持向量机分类方法是从线性可分情况下的最优分类面发展来的,其基本思想(用图1来说明)是:实心点和空心点分别代表样本的两个类别,H2代表分类线,H1和H3分别代表过各类中与分类线最近的点且平行于分类线的直线,H1和H3上的样本称为支持向量,支持向量机是一种基于结构风险最小化的分类器,不仅仅要求将样本分类,而且要求H1和H3之间的距离最大[8].
支持向量机的基本理论要点如下:
1)理论基础是非线性映射;
2)目标是寻找对特征空间划分的最优超平面;
3)支持向量机的结果是获得支持向量;
4)支持向量的计算方法是二次规划.
对于低维空间中的非线性问题可以通过核函数转化为高维空间的线性可分问题来解决,在此过程中,核函数是支持向量机的核心.核函数实际上就是某个高维空间的内积,在支持向量机算法中起到关键作用,选用不同的核函数,就会有不同的支持向量机算法,对分类结果的准确性也会有很大影响.
应用较多的支持向量机核函数有以下3种[9]:
1)阶次为q的多项式核函数,即
2)径向基核函数,即
3)神经网络核函数,
笔者主要比较分析了径向基核函数和多项式核函数来预测电信客户流失.
2.1 数据的准备与预处理
电信客户流失的数据来源是clementine 12.0数据telco.sav,该数据共有1 000条记录,每条记录有43个字段,见表1.
但并不是每一个属性都与目标属性客户流失有关,例如除了民族、年龄、客户类别、教育程度、行业、性别、婚姻状况、居住地、退休和工龄等字段外,其余字段对电信客户流失的影响都比较小,所以在使用建模之前,先要对数据进行预处理[10].
首先,需要检测数据的完整性.具体做法是:使用clementine 12.0中的变量文件
节点连接到数据源,然后将一个表节点添加到流图中并执行,可以观察数据中目标数据有无缺失,避免影响模型的准确性.如果存在缺失数据,则增加过滤节点,把
相关缺失数据去除.
其次,该数据中特征很多,不是每个节点对预测变量都有用,所以将特征选择节点添加到 SPSS 文件节点并运行.通过使用特征选择节点,对于不能为预测变量/目标之间的关系添加任何有用信息的预测变量或数据,可以将其删除.在生成的模型节
点中创建过滤节点,并将过滤节点添加到类型节点上.
最后,在剔除无关变量的过滤节点上建立贝叶斯和支持向量机模型.
预处理后的数据如表2,原本43个字段,只有27个字段对输出结果churn的影
响较大.去除干扰字段,有利于提高模型的准确率.在表2数据的基础上,构建贝叶斯和支持向量机模型.
2.2 模型构建
2.2.1 模型的输入输出
在数据准备与预处理完成后,就可以将数据输入模型.利用输入的数据对客户流失
进行相关的预测.模型的输入数据如表3所示.
利用数据挖掘工具clementine 12.0,将数据输入,在流图中构建贝叶斯和SVM
模型,得到客户流失的预测结果.
模型的输出如表4所示,$L-churn表示电信客户的流失或者不流失,用1或0表示;$LP-churn表示流失的概率大小.
当然,为了方便对问题的观察与分析,还可以在流中插入相关分析工具,如表格、
图形等,预测结果更加清晰明了.
2.2.2 构建贝叶斯模型
贝叶斯分类模型是基于数学中的贝叶斯定理构造出来的,是一个统计分类器.理论
上讲,在数据量很大的情况下,分类错误率较低.但是数据的特征较为分散,目标
变量存在缺失值等都对分类的结果有影响[11].在电信客户流失的案例中,将使用
经过预处理后的数据集进行贝叶斯建模.
第一步:构建模型时其目标字段有空值的观测值没有意义.可以先排除这些观测值
以防止在模型评估中使用它们而对结果分类的正确率有影响.将一个表节点添加到
源节点,并执行,发现电信客户流失的目标字段没有空值,所以不用添加选择节点,可以直接添加模型.
第二步:添加贝叶斯网络模型到流图中并且与过滤节点相连接.在贝叶斯网络节点
的模型选项卡上选择模型类型,对于“模型”选项卡上的模型名称,选择定制,并在文本框中输入TAN.对于结构类型,选择TAN.然后执行TAN模型并将生成的TAN模型添加到流中.
第三步:将贝叶斯网络的马尔科夫毯(Markov),Markov-FS模型依次加入流,执行并将各自执行结果生成的模型加入流.将图节点或表节点添加到流图中并将其与
生成的贝叶斯模型进行连接,用于观察分类结果和比较模型的分类性能.
2.2.3 构建SVM模型
支持向量机(SVM)实际上是通过解二次规划问题,寻找将数据分为两类的最优超平面.主要是利用核函数将低维空间中的非线性问题转化为高维空间的线性可分问题
来解决,选择不同的核函数会得到不同的支持向量机模型,转化到高维空间的线性问题也会有差异,所以分类结果的正确率会不一样[12].
本例中主要是利用电信客户流失的数据,将流失用户churn字段设置为输出,将
经特征选择剩余的字段设置为输入,如表3所示.选择支持向量机的两种典型模型
径向基函数(RBF)和多项式函数对电信客户流失的可能性进行预测.
将SVM模型加入流与特征选择产生的过滤节点相连接,在模型中分别选择两种不同的核函数,执行节点并且将执行后得到的模型加入流.将图节点或表节点添加到
流图中并将其与生成的SVM模型进行连接,用于分析预测结果.
为了方便地比较两种不同模型对电信客户流失的预测结果,将贝叶斯模型和SVM
模型添加到同一个流并执行.由于数据量的变化和数据属性个数的变化,都会对两
种模型分类性能的好坏有影响,下面就从改变数据量和数据特征字段个数方面对两种模型进行比较.
3.1 多特征字段的实验结果分析
3.1.1 实验结果
将经过2.1节数据预处理后的数据加入流中,然后建立流图[13].将贝叶斯三种模型和SVM两种模型加入流并执行.在特征字段较多的情况下(预处理后剩余27个字段),改变数据量的大小,比较分析1 000条记录,500条记录和250条记录下每种模型预测客户流失的效果.结果如表5所示.
由表5可以看出,随着数据量的增加,贝叶斯TAN模型的预测正确率都很低,并且随着数据的增加还有下降的趋势;Markov模型数据量增加一半,预测正确率由74.8%下降为63.33%,但是随着数据量的进一步增加,又上升为77.2%,Markov模型预测结果不稳定,数据的正确率和缺失情况对该模型会有较大的影响;贝叶斯Markov-FS模型,随着数据的增加,预测正确率逐渐增大,预测结果较为稳定;SVM中的Class-rbf模型和Class-poly模型,随着数据量的增加,预测准确率都在增加,但是都比较低.
3.1.2 实验结果分析
TAN模型假设每个属性节点之间互不相关,且都以类别节点作为父节点.但是电信客户流失数据特征字段之间都彼此有关联,且互相影响.所以,TAN贝叶斯网络受
到数据本身特点的影响,分类正确率较低.当特征字段彼此相互独立的假设成立时,从理论上讲,分类算法通常很精确,而且效率很高.
Markov-FS模型的预测正确率较高,是因为对于拥有较多特征字段的数据,会存
在很多与预测结果无关或者对结果变量影响较小的字段干扰模型的预测,而该模型自身带有进一步选择与输出变量相关度较高的属性特征的性质,去除一些影响小的干扰变量,预测结果准确率得到提高.同时,模型处理的数据量减少,效率也得到
提高.
支持向量机模型是一种新颖的小样本模型[14],少数支持向量决定了最终结果,这
可以帮助我们抓住关键样本、“剔除”大量冗余样本,该算法要求样本简单.但是电
信客户流失案例中特征字段较多,特征间有关联且较为分散,使得关键的几个特征向量受到影响,从而影响模型的预测结果.特征字段较多的数据,使用SVM预测模型,结果不佳.
3.2 少特征字段的实验结果分析
3.2.1 减少后的特征字段
在2.1节,虽然特征字段经过预处理得到优化,但是仍然存在一些对目标变量影响很小的字段,不仅增加了模型特征空间的维数,而且在一定程度上影响模型的预测效果,为了比较分析五种模型对客户流失预测的结果,进一步去除影响较小的特征字段.在2.1数据处理的基础上,根据自身对问题的分析,进一步去除特征字段.如
表6所示.
3.2.2 实验结果与分析
在表7的基础上进一步构建贝叶斯模型和SVM模型,得到相应的电信客户流失的预测结果(如表7).
由表7可以看出,特征字段进一步减少之后,与表5相比,三种贝叶斯模型,两
种SVM模型对电信客户流失预测的正确率都大于75%.随着数据量的改变,模型
预测的正确率变化不大,较为稳定.
随着特征字段的减少,SVM模型中的多项式核函数模型预测结果的正确率在3种数据量的情况下都是最高的.Markov模型和Markov-FS模型的预测结果大体相同,由贝叶斯马尔科夫毯的理论可知[7],Markov-FS模型与Markov模型的差别就是在于前者是在原先的基础上再进行特征选择,而后者没有.在特征字段逐步减小的
基础上,特征变量都是与预测结果高度相关的,所以,两种模型实验结果差别不大. 改变数据量大小,模型对于客户流失预测的准确率有所不同,五种模型都在数据量为500的情况下的准确率最高.针对这一现象,对于电信客户流失预测的机器学习,可以将训练集的数据确定为500左右,这样模型对于客户流失的预测结果较为准确.
由图2可得,在特征字段较少的情况下,虽然预测结果的正确率相差不大,但是
随着数据量的增大,图中线条越来越光滑,说明模型预测结果波动性随着数据量的增加逐渐降低,模型的稳定性增强.
由图2还可以看出,SVM的多项式核函数模型在数据的前50%预测结果的正确率与其他几种模型相差不多,但是,随着数据的积累,在数据的后50%,预测结果
明显优于其他模型,预测结果可信度更高.
笔者详细地介绍了贝叶斯和SVM模型的相关理论,通过电信客户流失的实例,从数据理解、数据准备、模型建立、模型比较到部署实施,将电信客户流失的预测过程可视化地展示出来.并且通过改变特征字段和数据量的大小,对各模型的预测结
果进行分析,得出结论:在特征字段较多的情况下,无关变量或者关系不是太紧密的变量会影响预测结果的准确性,应该选用贝叶斯Markov-FS模型,该模型会自动选择关系较为密切的变量作为输入数据,预测结果比其他模型预测结果好;在特征字段减少的情况下,SVM多项式核函数模型的预测结果准确率和可信度更高.
分类模型效果的好坏一般和数据的特点有关.有的数据噪声大,有的有缺失值,有
的分布稀疏,有的属性是连续的,而有的则是离散的或混合式的.一般认为不存在
某种方法能适合各种特点的数据[15].所以在选择数据挖掘模型前,还是要对将要
挖掘的数据进行充分地分析与理解,然后再选择最适合的模型.
【相关文献】
[1]HAN J W,KAMBER M.数据挖掘概念与技术[M].范明,孟小峰,译.北京:机械工业出版社,2008.
[2]龙志勇.数据挖掘在电信行业客户关系管理中的应用[J].信息网络,2003 (12): 24-26.
[3]舒华英,齐佳音.电信客户全生命周期管理[M].北京:北京邮电大学出版社,2004:127-130.
[4]李旭升,郭耀煌.一种新颖的混合贝叶斯分类模型[J].计算机科学,2006,33(9):135-139.
[5]冀俊忠,阎静,刘椿年.基于I-B&B-MDL的贝叶斯网结构学习改进算法[J].北京工业大学学报,2006,32(5):437-441.
[6]王双成,程新章,王振海.贝叶斯网络中变量的最优预测[J].计算机应用与软件,2007,24(5):9-11.
[7]王双成,苑森淼,王辉.基于贝叶斯网络的马尔科夫毯预测学习[J].模式识别与人工智能,2004,17(1):17-21.[8]刘凤秋.基于先验知识的支持向量机理论与算法研究[D].哈尔滨:哈尔滨工业
大学,2011.
[9]丁世飞,齐丙娟,谭红艳.支持向量机理论与算法研究综述[J].电子科技大学学报,2011(1):2-10.
[10]李霖,李曼.基于SVM的银行客户流失预测分析[J].生产力研究,2010(9):58-59.
[11]刘睿,巴曙松,刘家鹏.运用贝叶斯网络量化和控制商业银行操作风险[J].投资研究,
2011,30(7):106-117.[12]夏国恩,邵培基.改进的支持向量分类机在客户流失预测中的应用[J].计算机应用研究,2009,26(5):1789-1792.
[13]丘小婷.数据挖掘工具CLEMENTINE应用[J].牡丹江大学学报,2007,16(4):103-105.
[14]王光宏,蒋平.数据挖掘综述[J].同济大学学报,2004,32(2):247-252.
[15]奉国和.四种分类方法性能比较[J].计算机工程与应用,2011,47(8).。

相关文档
最新文档