第四篇-电信客户流失影响因素与预测分析电信客户流失影响因素与预测分析一、引言目前电信运营商面临着激烈的市场竞争。
对电信运营商来说,客户即生命,如何保持现有客户是企业客户管理的重中之重。
因此,电信运营商拥有的客户越多,作为主要成本的前期投资就会越大,企业的利润也就越大。
客户资源对于电信运营商来说其意义不言而喻,电信运营商之间的竞争实际上就是对客户资源的竞争。
可以说,未来的电信行业,得客户者得天下。
当今电信市场竞争激烈,运营商每月客户流失率在1%~3%,挽留将要流失客户,降低客户流失率是近年来热门的研究领域。
而数据挖掘技术是解决这一问题的有效途径,本文使用IBM Spss Clementine(IBN SPSS Modeler)进行数据挖掘与分析,深入了解电信客户流失的关键,以对该类客户的行为特性进行预警分析,采取针对性的措施改善客户关系,避免客户流失或者挽留客户。
二、问题分析根据已有的结果——流失客户(在数据中直接有判别数据有没有流失的字段churn),寻找他们流失的原因,即流失客户的特征。
通过数据处理,统合数据,根据以前拥有的客户流失数据建立基本属性、服务属性和客户消费数据与客户流失可能性的数据模型,找出其潜在的关系,分析出客户流失的因素,计算出客户流失的可能性,预测客户是否流失的可能性。
对于客户的基本数据、客户行为数据及消费数据,进行数据挖掘,研究已流失客户数据,从中找出先前未知的、对企业决策有潜在价值的知识和规则,发掘潜在流失客户,让企业适时把握住市场及客户动态,掌握客户流失的规律。
三、算法简介3.1分类分析分类就是找出一个类别的概念描述,它代表了这类数据的整体信息,即该类的内涵描述,并用这种描述来构建模型,一般用规则或决策树模式表示。
分类是数据挖掘的主要方法,分类模型能很好地拟合训练样本集中属性集与类别之间的关系,也可以预测一个新样本属于哪一类。
分类技术已经在很多领域得到成功应用,如医疗诊断,客户流失预测,信用度分析,客户分群和诈骗侦测。
常见的分类方法有贝叶斯分类(Bayesian),神经网络(neural networks),遗传算法(genetic algorithms)和决策树分类器(decision trees)。
在这些分类方法中,决策树分类器在大规模的数据挖掘环境中已经获得了最为广泛的应用。
3.2决策树演算法决策树演算法是在进行数据挖掘时经常使用的分类和预测方法。
一个决策树的架构,是由三个部分所组成:叶节点 (Leaf Node)、决策节点 (Decision nodes) 以及分支。
决策树演算法的基本原理为:通过演算法中所规定的分类条件对于整体数据进行分类,产生一个决策节点,并持续依照演算法规则分类,直到数据无法再分类为止。
3.3决策树演算法的比较决策树演算法依据其演算原理以及可适用分析数据类型的不同延伸出多种决策树演算法。
在 IBM SPSS Modeler 中,主要提供了四种常用的决策树演算法供使用者选择,分别为:C5.0、CHAID、QUEST 以及 C&R Tree 四种。
使用者可依据数据类型以及分析需求的不同,选择适当的决策树演算法进行分析。
虽然不同的决策树演算法有各自适用的数据类型以及演算架构等差异,但概括来说,决策树的主要原理均为通过演算法所定义的规则,对数据进行分类,以建立决策树。
鉴于篇幅所限,以下部分将会针对这四类决策树演算法进行简单的介绍和比较,而详细演算法原理将不会在本文中详述。
3.4决策树的几大优点第一,与神经网络和贝叶斯分类器相比,决策树提供非常直观的描述,这种描述易于被吸收,转化为标准的数据库查询第二,训练神经网络模型时要花费大量的时间,要进行大量的重复操作,与之相比决策树效率要高很多,适合于大的训练集。
第三,决策树生成算法除了训练集中包含的信息外不需要附加的信息(即领域知识或类标签以前的分布情况)。
第四,决策树有着可比的或更高的准确率。
在使用决策树演算法进行分析之前,首要工作就是选择适当的演算法。
一般来说,会根据所要分析数据的特性以及数据型态等选择初步的演算法。
接下来再通过比较初步筛选的决策树分析出来的结果,选择最适合的决策树演算法。
四、实验与分析4.1 数据准备数据来源:电信客户流失数据.sav(共有8个字段,1000个记录)数据有8个字段,其中包含一些客户个人信息,例如年龄、教育程度、退休、性别和客户类别,还包含一些客户使用电信服务信息(有附加服务、基本服务、上网服务和所有服务)以及客户的上网月数,(这里老师我不会把sav格式转换成xlsx格式的,所以用的还是原来的那个1000个记录的,(但是我把样本抽样选择了前200了,由于我用前200的样本数据进行数据挖掘,发现挖掘出来的结果完全失去了真实性,与现实不符合,所以我还是将数据样本量改成了1000了,为了保证我做出数据挖掘预测结果的真实性)因为我不能将数据修改,所以下面我使用了分区将数据分为训练,测试以及验证,为了展示预测数据的结果)以下为部分数据的截图:4.2 参数设置目标变量表示了数据挖掘的目标,在客户流失分析中目标变量通常为客户流失状态(churn)。
输入变量用于在建模时作为自变量寻找与目标变量之间的关联。
我们主要从客户种类信息,客户在网月数信息,客户基本信息(年龄,性别,教育水平,家庭人数等),客户的工作年限信息,客户的退休信息这几方面选取输入变量。
4.3 挖掘过程4.3.1 读取数据SPSS Modeler 中需要根据数据档案格式,来选择不同的源节点读取数据。
本篇文章中我们使用的数据档案格式为 .sav 档,因此我们将使用Statistics文件节点。
在节点设定方面,文件标签下我们先读入数据“电信客户流失数据.sav”,接着勾选读取名称和标签以及读取数据和标签。
(以下为读取数据截图)4.3.2 数据类型定义为了产生决策树模型,我需要在数据建模前就定义好各栏位的角色,也就是加入字段选项下的「类型」节点。
将类型节点拉入串流后,我会先点选读取值按钮,接着设定角色。
是否流失(churn)是我最后预测的目标,因此先将其角色设定为“目标”,余下的栏位则是要设定为“输入”。
4.3.3数据分区为了在训练出模型后能够分析模型准确度,在此我加入字段选项下的分区节点,将数据分为 50%训练数据、40%测试数据以及10%验证数据。
在分区节点的编辑页中,点选预览可发现每笔数据已经多出了一个栏位「分区」,栏位中的值被随机归类为「1_训练」、「2_测试」以及「3_验证」,让决策树节点可判别是否要使用此资料做为训练数据,测试数据以及验证数据。
在完成资料分区后,我已经完成数据准备,可以套用决策树模型节点了。
4.3.4 决策树节点设定SPSS Modeler 共提供四种决策树节点建模,包括 C5.0、C&R 树、Quest 和 CHAID。
考量到数据特性以及我希望提供的决策树具有多元分类法,因此我将建立 C5.0 和 CHAID 两种分类模型。
(1)C5.0 节点设定将 C5.0 节点与类型节点连结后,我将于此节点编辑页面中的模型标签下设定相关的变数。
以下为各变数的详细介绍,此定义来自SPSS Modeler 15 Modeling Nodes 文件。
使用分区数据:如果定义了分区字段,则此选项可确保仅训练分区的数据用于构建模型。
为每个分割构建模型:给指定为分割字段的输入字段的每个可能值构建一个单独模型。
输出类型:在此指定希望结果模型块是决策树还是规则集。
组符号:如果选中此选项,C5.0 将试图组合输出字段中具有相似样式的符号值。
如果未选中此选项,C5.0 将为用于分割父节点的符号字段的每个值创建一个子节点。
使用 boosting:C5.0 算法有一个特殊的方法用于提高其准确率,称为boosting。
它的工作原理是在序列中构建多个模型。
第一个模型按常规方式进行构建。
构建第二个模型时,将焦点集中于由第一个模型误分类的记录。
构建第三个模型时,将焦点集中于第二个模型的错误,依此类推。
最后,通过将整个模型集应用到观测值,并使用加权投票过程将单独的预测组合为一个总预测来分类观测值。
推进可以显着提高 C5.0 模型的准确性,但也需要更长的训练时间。
通过试验次数选项可以控制在推进模型过程中使用的模型数目。
交互验证:如果选中此选项,C5.0 将使用一组模型(根据训练数据的子集构建)来估计某个模型(根据全部数据集构建)的准确性。
专家模式- 修剪严重性: 确定对决策树或规则集的修剪程度。
增加该值可获得一个更简洁的小型树。
减小该值可获得一个更精确的树。
专家模式- 每个子分支的最小记录数:可使用子组的大小限制树的任何分支中的分割数。
仅当两个或多个生成的子分支中至少包含从训练集合得到的这一最小记录数时,才可分割树的分支。
默认值为 2。
(以下为创建C5.0节点的截图)(2)CHAID 节点设定将 CHAID 节点与分区节点连结后,我将于此节点编辑页面中的模型标签下设定相关的变数。
由于 CHAID 节点设定较多,介绍一些变数。
此定义来自“SPSS Modeler 15 Modeling Nodes 文件”。
最大树深度:指定根节点以下的最大级数(递归分割样本的次数)。
修剪树以防止过拟合:修剪包括删除对于树的精确性没有显着贡献的底层分割。
修剪有助于简化树,使树更容易被理解,在某些情况下还可提高广义性。
停止规则:设置最小分支大小可阻止通过分割创建非常小的子组。
如果节点(父)中要分割的记录数小于指定值,则父分支中的最小记录数将阻止进行分割。
如果由分割创建的任意分支(子)中的记录数小于指定值,则子分支中的最小记录数将阻止进行分割。
(以下为创建CHAID节点的截图)(3)C&R树节点设定将 C&R树节点与分区节点连结后,我将于此节点编辑页面中的模型标签下设定相关的变数。
由于 C&R树节点设定较多,介绍一些变数。
此定义来自“SPSS Modeler 15 Modeling Nodes 文件”。
修剪树以防止过拟合:修剪包括删除对于树的精确性没有显著贡献的底层分割。
修剪有助于简化树,使树更容易被理解,在某些情况下还可提高广义性。
如果需要完整的未经修剪的树,请保持此项处于未选中状态。
大风险差值(标准误):通过此选项可指定更自由的修剪规则。
标准误规则使算法能够选择简单的树,该树的风险评估接近于(但也可能大于)风险小的子树的风险评估。
此值表示在风险评估中已修剪树和风险小的树之间所允许的风险评估差异大小。
例如,如果指定 2,则将选择其风险评估(2 × 标准误)大于完整树的风险评估的树。
大代用项:代用项是用于处理缺失值的方法。
对于树中的每个分割,算法都会对与选定的分割字段相似的输入字段进行识别。