客户流失中数据挖掘常用算法Word文档格式.docx
《客户流失中数据挖掘常用算法Word文档格式.docx》由会员分享,可在线阅读,更多相关《客户流失中数据挖掘常用算法Word文档格式.docx(10页珍藏版)》请在冰豆网上搜索。
或者是注意到了又找不到好的方法,显得有点无能为力。
一方面企业投入大量时间、人力、财力去发展新客户,另一方面因客户流失管理的不完善导致现有客户由于不满意而流失。
所以,忽视现有客户的保持,只注重发展新客户,长此以往,电信企业将会出现“增量不增收”的局面,即每月用户人数不断增加,但用户每月人均话费收入值却在下降。
1.1客户流失的原因
客户流失的原因主要有以下4种类型:
(1)自然流失
这种类型的客户流失不是人为因素造成的,比如客户的搬迁和死亡等。
自然流失所占的比例很小。
企业可以通过广泛建立连锁服务网点和经营分公司,或者提供网上服务等方式,让客户在任何地方、任何时候都能方便快捷地使用企业的产品和服务,减少自然流失的发生。
(2)恶意流失
恶意流失是指一些客户为了满足自己的某些私利而离开企业,比如很多电信运营商的用户在拖欠了大额通信费用后离开这家电信运营商,选择其他电信运营商提供的服务,从而达到不交费用的目的。
恶意流失在客户流失中所占的比例也不大。
企业可以通过客户信誉管理制度和欺诈监测来防止客户的恶意流失行为。
(3)竞争流失
由于企业竞争对手的影响而造成的流失称为竞争流失。
市场上的竞争突出表现在价格战和服务战上。
在当前日益激烈的市场竞争中,企业首先要考虑的是保留住自己现有的客户,在此基础上再去吸引和争取新的客户。
通过市场竞争分析,包括市场占有率分析、竞争对手发展情况分析、供应商行为分析、合作商行为分析等,可以防止部分流失的发生。
市场占有率分析使市场人员能够了解不同时间段、不同业务品牌的产品或服务的市场占有率情况,了解市场中最有价值产品或服务,了解不同产品的主要竞争对手是谁,从而为市场经营提供指导。
从竞争对手客户发展情况、竞争对手客户话费收入情况、竞争对手客户呼叫行为、竞争对手营销策略、竞争对手服务质量五个方面,对竞争对手发展情况进
行分析预测。
(4)过失流失
上述3种情况之外的客户流失称为过失流失。
这些流失都是由于企业自身工作中的过失引起客户的不满意而造成的,比如企业形象不佳、产品性能不好、服务态度恶劣等。
过失流失在客户流失总量中所占的比例最高,但同时也是企业可以通过采取一些有效手段来防止的。
1.2客户流失预测
客户流失预测的任务是:
(1)将客户流失的基本模型与客户描述中的客户生命期价值结合,发现现有客户中流失可能性大并且价值高的群体,作为下一步预防和控制流失策略的目标客户群体;
(2)根据客户流失的行为模型,跟踪和发现客户的流失趋势,及早采取预防措施。
1.3客户流失模型
一般客户流失模型的建立和应用过程如下:
(1)从企业的业务数据库中收集整理原始数据,组建企业客户的数据仓库系统;
在客户数据仓库中抽取适当的字段组成客户分析数据库,为客户描述和客户流失模型提供数据源;
(2)将客户分析数据库分离为当前客户数据库和流失客户数据库;
(3)对流失客户数据库实施数据挖掘技术,发现客户流失模型,包括基本特征模型和行为模式。
(4)运用客户流失基本特征模型在当前客户数据库中发现预测流失的群体;
运用客户流失行为模型对当前客户数据库中客户的行为进行分析,预测流失趋势;
(5)从客户流失模型中分析可能的流失原因,并结合(5),(6)中发现的预测流失群体和流失趋势采取有效措施,来防止和减少客户的流失。
其分析过程如图所示:
客户流失的分析流程图
2常用数据挖掘算法
数据挖掘(DataMining)作为数据库知识发现的核心技术,就是从大量的、不完全的、有噪声的、模糊的、随机的数据中,提取隐含在其中的、人们事先不知道的但又是潜在有用的信息或知识的过程,提取的知识一般可表示为概念、规则、规律、模式等形式。
确切地说,数据挖掘过程是一种决策支持过程,主要基于人工智能、机器学习、统计学等技术,高度自动化地分析生产业务中原有的数据,做出归纳性的推理,从中挖掘出潜在的模式,预测客户的行为,帮助企业的决策者调整市场策略,减少风险,做出正确的决策。
在目前商用数据挖掘软件中一般对客户分析的重点是首先对客户行为及需求进行分析,以及对客户细分群进行定义。
在此客户细分基础上就可以建立周期价值分析模型,挽留响应模型以及流失预测模型等。
2.1抽取数据与数据分析
通常,数据库中每位客户的信息主要包括客户基本信息,用户账务信息和客户服务信息,每种信息都是由一系列客户属性构成。
用所有的属性来构造模型显然是很繁琐的,维数过多甚至会造“维数灾难”。
因此,我们需要通过整理客户的自然属性(,性别,年龄,职业等)和行为属性(电信行业中如月均话费,短信数量,套餐选择等),抽象出与客户流失相关的属性,从而建立模型。
2.2聚类概述
聚类分析被广泛地应用于许多领域,包括模式识别、图像处理和市场营销等。
一般采用聚类的方法,对流失客户的消费行为进行“细分”,以便对各个不同“细分客户”采取有针对性的市场营销工作。
目前存在着大量的聚类算法,大体可以分为:
(1)基于划分的方法,比如K平均值算法,K中心点算法等方法;
(2)基于层次的方法,比如CURE算法和BIRCH算法;
(3)基于密度的方法,比如DBSCAN算法;
(4)基于网格的方法,比如STING、CLIQUE算法;
(5)基于模型的方法,比如COBWEB算法等。
这些聚类算法都有其各自的特点,算法的选择取决于数据的类型、聚类的目的和应用。
2.2.1EM聚类算法
EM聚类算法思想,本质上是基于混合分布的参数估计,根据“极大似然”准则,估计每个簇的分布参数。
采用EM聚类建模之前,需要事先指定聚类的数目,为每个簇假定一个数据分布模型,比如高斯分布,泊松分布等,这里为简化起见,假定每个簇服从同一族概率分布。
完成聚类建模之后,确定各个簇的具体分布,计算每个元素的隶属于某个簇的概率,依据概率确定各个元素的划分。
与普通的聚类模型相比,EM算法的聚类划分,是基于“概率”和“距离”的划分,一般来说,将隶属概率最大的簇作为该元素的隶属簇。
目前,常用的是基于高斯混合分布的EM聚类模型,需要指出的是,基于高斯混合分布的EM聚类模型与基于欧氏距离的K均值模型是一致的。
与其他聚类模型相比,EM模型算法高效,在计算机实现改进算法中,只需一次遍历即可,减少了系统I/O操作,极大提高了运行效率,适合基于“海量数据”的聚类分析。
当然,也存在一些不足之处,比如需要选择适当的概率分布模型,预先指定聚类的数目等。
2.3决策树
决策树分类算法是应用最广的归纳推理算法之一。
它是一种逼近离散值函数
的方法,对噪声数据有很好的健壮性并且能够学习析取表达式。
在这种方法中学习到的函数被表示为一棵决策树。
学习得到的决策树也能再被表示为多个If-Then的规则,该算法己经被成功应用到医疗诊断和商业智能等各个领域。
决策树是一个类似于流程图的树型结构,其中每个部节点表示在一个属性
上的测试。
每个分枝代表一个测试输出,而每个叶子节点代表类或类的分布。
树的最顶层节点是根节点。
下图为一棵简单决策树,它是一棵贷款申请的决策树模型,从中我们可以看到决策树的基本组成部分:
决策节点、分支和叶子。
决策树模型
2.3.1决策树的建立
建立决策树的过程,即树的生长过程是不断地把数据进行切分的过程,每次切分对应一个问题,也对应着一个节点。
对每个切分都要求分成的组之间的“差异”最大。
决策树的建立过程通常分为两个阶段:
建树和剪枝。
决策树归纳的基本算法
是贪心算法,它以自顶向下递归的各个击破方式构造判定树。
下面描述了由训练样本归纳判定树的ID3的基本算法。
建树算法:
Generate_decision_tree由给定的训练数据产生一棵判定树。
输入:
训练样本samples,由离散值属性表示;
候选属性的集合attribute
list。
输出:
一棵决策树。
方法:
1)创建节点N;
2)Ifsamples都在同一个类Cthen;
3)返回N作为叶节点,以类C标记;
4)Ifattribute_list为空,then;
5)返回N作为叶节点,标记为Samples中的最普通的类;
6)选择attribut_list中具有最高信息增益的属性testattribute;
7)标记节点N为test_attribute;
8)foreachtest_attribute中的己知值ai;
9)由节点N长出一个条件为test_attribute=ai的分枝;
10)设S2是samples中test_attribute=a的样本的集合;
11)IfS2为空then;
12)加上一个树叶,标记为samples中最普通的类;
13)else加上一个Generate_decision_tree(S1,attribute_list-test_attribute)。
剪枝的目的是降低由于训练集的噪声而产生的起伏。
算法的基本策略如下:
●树以代表训练样本的单个节点开始(步骤1)。
●如果样本都在同一个类,则该节点成为树叶,并用该类标记(步骤2和3)。
●否则,算法使用称为信息增益的基于熵的度量作为启发信息,选择能够最好地将样本分类的属性(步骤6)。
该属性成为该节点的“测试”或“判定”属性(步骤7)。
在该算法中,所有的属性都取离散值,连续值的属性必须离散化。
●对测试属性的每个已知值,创建一个分枝,并据此划分样本(步骤8-10)
●算法使用同样的过程,递归地形成每个划分上的样本判定树。
一旦一个属性出现在一个节点上,就不必考虑该节点的任何后代节点(步骤13)。
●递归划分步骤仅当下列条件之一成立时停止:
(a)给定节点的所有样本属于同一类(步骤2和3);
(b)没有剩余属性可以用来进一步划分样本(步骤4)。
在此情况下,使用多数表决(步骤5)。
这涉及将给定的节点转换成树叶,并用samples中的多数所在的类标记它。
换一种方式,可以存放节点样本的类分布。
(c)分枝test_attribute=ai没有样本(步骤11)。
在这种情况下,以samples中的多数类创建一个树叶(步骤12)
2.3.2属性划分的度量方法
1信息增益
算法ID3和C4.5使用信息增益作为选择属性对节点进行划分的指标。
信息增益最高的划分将被作为分裂方案。
信息增益表示系统由于分类获得的信息量,由系统熵的减少值来定量描述。
将数据集S用属性A划分后的信息增益作为数据集S划分前后的熵差:
选择属性对节点进行划分的标准是划分属性应具有最高信息增益。
熵是一个衡量信息混乱程度的统计量。
熵越大,表示系统越混乱。
分类的目的是提取系统信息,使系统向更加有序,有规则组织的方向发展。
所以,最佳的划分方案是使熵减少量最大的划分方案。
划分后熵的减少量就是信息增益,所以,选择属性对节点进行划分的标准就是选取信息增益最大的属性。
通常,决策树是“贪心算法+深度优先搜索”得到的。
2增益比率
信息增益度量存在一个在偏置,它偏袒具有较多值的属性。
避免这个不足的一种方法是用其它度量而不是信息增益来选择决策属性。
一个可以选择的度量标准是增益比率。
增益比率通过加入一个被称作分裂信息的项来衡量属性分裂数据的广度和均匀性:
其中,S1到Sc是c个值的属性A分割S而形成的c个样例子集。
注意分裂信息实
际上就是S关于属性A的各值的熵。
增益比率度量是用前面的增益度量和这里的分裂信息度量来共同定义的,即:
使用增益比率代替增益来选择属性产生的一个实际问题是,当某个|
|=|
|时,分母可能为0或非常小。
若某个属性对于S的所有样例有几乎同样的值,这样要么导致增益比率未定义,要么增益比率非常大。
为了避免选择这种属性可以采用一些启发式规则,比如先计算每个属性的增益,然后仅对那些增益高于平均值的属性应用增益比率测试。
算法C5.0采用了这种方法。
3基尼指数
如果决策树是二叉树,常用基尼指数作为划分的标准。
CART算法首先采用了
基尼指数作为选择属性对节点进行划分的标准。
设数据集S的分类属性C有m个不同的离散属性值c1,…,cm,即S中的记录有m个类别,那么其基尼指数就是:
,其中Pi是类别ci出现的频率。
如果用属性A将数据集S分成两部分S1,S2。
那么这个划分的基尼指数就是:
选择基尼指数最小的属性对节点数据进行划分。
决策树是二叉树时,设离散型属性A有v个属性值,则属性A可有2v种划分数据集S的方法,其中一种划分方法的基尼指数最小,称之为属性A的最佳划分方法。
在选择节点最佳划分时,首先找出每个属性的最佳划分方法,再比较所有属性的最佳划分方法,从中选出基尼指数最小者,最后选出节点的最佳划分。
4用数值型属性划分节点方法
在分类应用中,分类属性必须是离散型属性,其他属性可以为数值型属性。
决策树算法中如何利用数值型属性来划分节点呢?
设A为数值型属性,A最多可能有n个属性值(n为数据集S的全部记录数)。
数值型属性A将数据集S划分为两组。
对应的条件为A<
=a和A>
a。
如何选择A呢?
可以先对数据集S按字段A的值递增排序,设A的属性值排序后的结果为V1,V2,…,Vn,从小到大依次取不同的分裂点,取信息增益最大(基尼指数最小)的一个就是A的最佳划分。
若V1为最佳分裂点,通常取a=(Vi+Vi-1)/2。
建树时,在每个节点上都需要对数值型字段排序以便计算信息增益(或基尼指数)。
2.3.3剪枝
在建树过程中,由于训练集中的噪声,孤立点以及某个节点的数据量太小,决策树的许多分枝反映出训练集中的异常。
这就是决策树的过度拟合(OverFitting)问题。
它表现为用某些分类规则对训练集预测十分准确,而对测试集预测却误差极大。
过分适应问题是影响决策树准确率的关键问题,剪去决策树的冗余分枝是解决过分适应问题的重要方法。
剪枝常常利用统计学方法,去掉最不可靠,可能是噪音的一些分枝。
2.3.3.1剪枝的分类
在构建决策树的过程中,对决策树进行剪枝是非常有必要的。
通常情况下,剪枝方法可以分为两大类:
1)事前剪枝(Pre一Pruning)
该方法通过提前停止分枝生成过程。
即通过在当前节点上就判断是否需要继续划分该节点所含训练样本集来实现。
一旦停止分枝,当前节点就成为一个叶节点。
该叶节点中可能包含多个不同类别的训练样本。
在建造一棵决策树时,可以利用统计上的重要检测x2检验或信息增益等来对分枝生成情况(优劣)进行评估。
如果在一个节点上划分样本集时,会导致(所产生的)节点中样本数少于指定的闽值,那么就要停止继续分解样本集合。
但确定这样一个合理的阈值常常比较困难。
阈值过大会导致决策树过于简单化,而阈值过小时又会导致多余树枝无法修剪。
2)事后剪枝(Post一Pruning)
先建树,后修剪。
让树“完全生长”,然后采用一定的标准评估每个部节点下的分枝是否是冗余分枝,若是,剪掉冗余分枝使部节点成为一个最有,叮能的叶节点。
2.3.3.2剪枝的标准
无论是通过事前剪枝还是事后剪枝来得到正确规模的树,一个关键的问题是使用什么样的标准来确定最终正确的树的规模。
剪枝的标准有如下两种:
1)期望错误率最小原则:
选择期望错误率最小的子树进行剪枝,对树中的部节点计算其剪枝和不剪枝可能出现的期望错误率,比较后加以取舍;
2)最小描述长度原则;
最简单的解释是最期望的,对决策树二进位编码,编码所需二进位最少的树即为最佳剪枝树。
2.4人工神经网络
人工神经网络(ArtificialNeuralNetwork,简记为ANN)是在对人脑组织结构和运行机制的认识理解基础之上模拟其结构和智能行为的一种工程系统。
目前,神经网络近来越来越受到人们的关注,因为它为解决大复杂度问题提供了一种相对来说比较有效的简单方法。
神经网络常用于两类问题:
分类和回归。
下图给出了一种最基本的神经网络结构。
在结构上,可以把一个神经网络划分为输入层、隐含层和输出层。
输入层的每个节点对应一个预测变量。
输出层的节点对应目标变量,可有多个。
在输入层和输出层之间是隐含层,隐含层的层数和每层节点的个数决定了神经网络的复杂度。
基本神经网络模型
除了输入层的节点,神经网络的每个节点都与很多它前面的节点(称为此节点的输入节点)连接在一起,每个连接对应一个权重,此节点的值就是通过它所有输入节点的值与对应连接权重乘积的和作为一个函数的输入而得到,这个函数称为活动函数或激励函数。
由于神经网络隐含层中的可变参数太多,如果训练时间足够长的话,神经网络很可能把训练集的所有细节信息都“记”下来,而不是建立一个忽略细节只具有规律性的模型,我们称这种情况为训练过度。
显然这种模型对训练集会有很高的准确率,而一旦离开训练集应用到其他数据,准确度很可能急剧下降。
为了防止这种训练过度的情况,可以在训练的同时用一个测试集来计算神经网络在此测试集上的正确率,一旦这个正确率不再升高甚至开始下降时,那么就认为此时神经网络已经达到了最好的状态,可以停止训练。
3结论
激烈的市场竞争使得越来越多的企业面临着严峻的客户流失问题。
企业如何分析和预测客户流失行为的特征,以便及时做出有效对策来保持现有客户,让他们为企业创造更多的利润,己经成为备受关注的一个课题。
本文仅列出了进行客户流失分析的常用数据挖掘算法,这些常用算法对于后续流失原因分析以及流失预测与控制策略,流失模型的建立能提供相应的指导。