随机森林方法及其在客户流失预测中的应用研究_应维云

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

DOI:10.14120/11-5057/f.2012.02.005
随机森林方法及其在客户流失预测中的
应用研究
应维云
(上海财经大学信息管理与工程学院,上海200433)
摘要:在全球化的市场竞争中,企业如何利用现有资源,提高客户满意度,保住现有客户,已成为
企业面临的主要问题,客户流失预测越来越受到企业关注。

本文针对实际客户流失数据中正负
样本数量不平衡而且数据量大的特点,提出一种改进的平衡随机森林算法,并将其应用于某商
业银行的客户流失预测。

实际数据集测试结果表明,与传统的预测算法比较,这种算法集成了抽
样技术和代价敏感学习的优点,适合解决大数据集和不平衡数据,具有更高的精确度。

关键词:流失预测;不平衡数据;随机森林
引言
在全球化的市场竞争中,企业如何利用现有资源,保住现有客户,提高客户满意度,已成为企业面临的主要问题,客户流失问题越来越受到企业关注[1]。

为了在激烈的市场竞争中生存,许多企业借助于数据挖掘技术来进行客户流失分析。

国外已经有学者针对客户流失问题,应用人工神经元网络(Artificial Neural Network,ANN)、遗传算法(Gene Algorithms,GA)、决策树(Decision Tree,DT)、支持向量机(Support Vector Machine,SVM)等建立了预测模型,并取得了一定应用效果[2-6]。

然而,在银行和电信业等海量数据集下,这些算法也出现一些局限性。

如GA算法可以产生较精确的预测模型,却无法体现样本对于分类结果的归属度。

以DT为基础的算法由于决策树的每一次分裂都直接用到一个分类变量,可揭示出一些潜在的分类规律,但也无法赋予每个样本不同的归属度,许多不同的样本只能得到相同的归属度[8]。

与ANN相关的算法可以计算出每个样本对于分类结果的归属度,但分类过程却是一个“黑箱”过程,与DT相比也不能很直观的解释分类结果[9]。

这些都妨碍了以上算法用于客户流失预测的效果,因为客户流失预测不仅需要指出哪些客户将要流失,还希望能得到可能流失的概率,并通过算法能够比较形象地揭示出一些潜在的分类规律,指出哪些客户更容易流失,便于企业用户进行进一步的分析和采取相应策略。

还有一些其他方法,如贝叶斯多网分类器[10]、支持向量机、序列模式、生存分析等也曾应用于流失预测分析,但是精确度还不是很理想。

根据上述算法的局限性,本文提出一种改进平衡随机森林方法,该算法集成了抽样技术和代价敏感学习,这两种技术可以很好地解决不平衡数据问题。

通过引入“区间变量”,这两种方法可改变类分布,并对错分的小类样本设置更重的惩罚因子。

收稿日期:2009-10-30
基金项目:国家自然科学基金项目(71050003/G03;71171121)。

作者简介:应维云,上海财经大学信息管理与工程学院博士后。

通过对银行相关客户数据的分析与实验,相对其它算法,本文提出的方法具有更好的预测效果。

客户流失问题分析框架
由于客户流失严重危害了企业的利益,企业越来越需要提前判别出哪些用户将会流失(churn ),哪些客户将会是忠诚客户,以采取相应措施。

而Data Mining 技术可以帮助企业更好地进行客户分析。

通过建立预测模型,企业可以对有可能流失的用户,及早采取一系列的挽留措施,尽可能地减少客户流失。

客户流失预测分析框架见图1所示。

输入的训练数据和试验数据中包括多个客户静态属性数据、客户动态行为数据和服务数据,预测模型一般采用回归分析、生存分析、决策树、神经元网络、支持向量机等,本文提出用改进的随机森林方法作为预测模型,分析客户是否会流失,以及为什么会流失等[11],为决策者进一步分析提供依据。

随机森林方法的原理
1、随机森林
随机森林算法(RFA )是Breiman [12]提出的一种基于Bagging 思想的分类和预测模型,它在许多领域得到了应用,主要是它有以下几个特点[13]:
(1)较少的参数调整;
(2)不必担心过度拟合;
(3)适用于数据集中存在大量未知特征;(4)能够估计哪个特征在分类中更重要;(5)当数据集中存在大量的噪音时同样可以取得很好的预测性能。

随机森林算法分类器可以用如图2表示。

随机森林的随机性体现在两个方面:第一,对于每一棵分类树,从样本集中随机抽取样本构成一个训练子集生成分类树;第二,对于分类树的每个节点,从特征空间中随机选择少量特征用于分枝。

2、现有的改进随机森林算法
和其他所有分类算法一样,随机森林算法也具有一定的局限性,它不可能适用于所有类型的数据集,针对不同特征的数据集,还需要对算法进行改进以适应该数据集的特点。

2004年Marko Robnik 等人提出了对随机森林算法的两点改进。

第一点针对分支属性的评价机制,使用ReliefF 来代替基尼系数,以解决基尼系数不能检测属性间强的条件相关性,从而可能导致分类器性能低下的问题。

第二点是针对投票机制,将平等的投票机制变为带权重的投票机制。

由于随机森林中每个树依赖独立的样本随机向量,且所有的树具有同样的分布,当数据集不平衡时,原始随机森林不能发挥出其优越性。

针对不平衡数据集,Breiman 提出了两种改进的随机森林算法,平衡随机森林算法(Balanced Random Forests ,BRF )和权重随机森林算法(Weighted Random Forests ,WRF )。

平衡随机森林的基本思想是将不平衡数据集变为平衡数据集,包括复制平衡和抽样平衡两种方法。

权重随机森林算法则是为少数类的样本错分设置更重的惩罚因子。

给每一个类设置权重,包含样本越少的类设置越大的权重。

上述改进都比传统方法提高了预测精度,表现出更优越的特性,但他们还存在局限性[15]。

平衡随机森林方法中抽样技术对于解决大量不平衡数据具有更高的效率及抗噪声性,但抽样的方法也存在不足,如为了使新
图1
客户流失预测框架
图2
随机森林分类器
建立的训练集中包含多数类和少数类的样本数相近,从少数类中选取一定数量的样本后,还要从多数类中抽取相当数量的样本。

这样就会使多数类中许多样本无法再用,因而造成多数类的信息丢失[16]。

加权随机森林对少数类的错分施以更重的惩罚因子,它需要遍历整个训练集,因此对于解决大规模不平衡数据上效率较低。

另外,对少数类施以一个权重,使得该方法抗噪声性下降。

改进平衡随机森林算法
针对上述局限性,本文提出一种改进的随机森林方法(Improved Balanced Random Forests ,IBRF ),它集成了平衡随机森林和权重随机森林的特性。

平衡随机森林采用的抽样技术对于大规模不平衡数据集具有更高的运算效率和更好的抗噪性;加权随机森林的代价敏感学习对决策树学习过程中分类器的产生具有更高的效率。

为了结合这两种方法的优点,我们引入了区间变量m 和d 。

m 是区间的中点,d 是区间的长度。

α是在m -d /2和m +d /2间随机产生的分布变量,它直接决定了一次迭代中不同类的样本分布。

引入这些变量主要是保持每次迭代过程中不同类的随机分布,进而得到更高的抗噪性。

该算法首先输入训练样本集D =(X 1,Y 1),…,(X n ,Y n ),其中X i ,i =1,…,n 是一个指示向量,Y i 是相应的类标签。

再将训练集分成两个子集D +和D -。

前者包含所有的正类训练样本,后者包含所有的负类训练样本。

h t ∶X →R 表示一个弱映射,即将样本映射到类别。

IBRF 算法的过程如下:
输入:训练样本(X 1,Y 1),…,(X n ,Y n
)区间变量m 和d ;
树的数量n tree
For t =1,…,n tree :(1)在区间m -d /2和m +d /2内随机产生一个变量α;
(2)从负类训练集D -中可重复性地随机抽取n α样本,从正类训练集D +中可重复性地随机抽取n (1-α)样本;(3)对负类赋以w 1权重,正类赋以w 2权重,其中w 1=1-α,w 2=α;(4)构建非剪枝分类树。

输出:输出最终排序。

将所有样本按照负分排序。

越多树将样本归为负类,样本的负分越高。

样本负分可以认为是将样本归成负类的所有树的数目和输出最终排序。

将所有样本按照负分排序。

越多树将样本归为负类,样本的负分越高。

样本负分可以认为是将样本归成负类的所有树的数目和。

用这种方法,类class j 在X i 点标准化投票等于:
k
ΣI (
h (X i
)=j )w k
k
Σw
k
(1)
我们按照下面的修改生成非剪枝的决策树:在生成树的某一层时,以前通常做法是计算所有特征的“信息熵”,谁的信息大谁就当分类节点。

本文在每个节点,不是搜索所有的特征来生成树的某一层,而是先随机选择m try 个特征,再根据这些特征生成树的某一层。

这里m try 代表在每个节点用以生成树的某一层所采用的特征数目。

这种方法的误差是:
ε=Pr i ~n tree
i [h t (X i )≠Y i ]
(2)IBRF 的结构如图3所示。

S i 表示测试样本,训练样本从D +和D -得到,负类样本的排序结果大于正类
样本,即越容易流失的客户样本输出结果排序越大。

图3IBRF 的架构
图5非趋势的文本属性(贷款类型)的数值化
数据挖掘中比较普遍采用提升度(Lift )指标来评价模型性能。

Lift 指的是用模型和不用模型相比,预测能力提高的倍数[17]。

本文也用“lift ”值和top-10%提升度来衡量预测精确度。

在客户数据集中,流失危险程度最高的前10%客户代表了一个危险的目标群,企业可以针对该目标群制
定相应客户保持战略。

top-10%提升度等于最危险的10%客户群中流失客户的比例π赞10%,除以整个客户集中流失客户的比例π
赞:TopDecileLift =π赞
10%
π
赞top-10%提升度越高,表明分类器的性能越好。

这种度量方法能够帮助企业判定是否危险客户目标人群中确实包含真正的流失者。

算法试验和结果分析
1、数据来源
某商业银行个人信贷部的客户信贷数据经过该银行匿名处理后作为本文的实验数据。

数据集有2万多条记录,每条记录有27个属性,其中包含数值型和文本型。

选取的数据中有10%左右属于容易中止业务并造成银行损失的客户。

将这类客户样本定义为负类样本,其它样本定义为正类样本。

其中正类和负类的样本数量比例约为9:1,属于不平衡数据集。

2、数据预处理
(1)属性选择
数据集原来每条记录有27个属性,
经过分析我们发现一些属性与分类预测明显无关,如:客户ID 、客户身份
证号等,我们将该类属性去除。

其次,再去掉所有缺失值过多的属性(本实验定为多于30%缺失的属性)。

这样处理后,我们共保留了15个客户属性。

这15个客户属性可分为3大类。

如表1所示。

(2)属性值处理
属性值处理即非数值属性的数值化。

经过分析发现非数值属性可分为两种:属性值之间有趋势的文本属性,属性值之间无趋势的文本属性。

对于属性值之间有趋势的文本属性,如职务分为四个等级:科级以下、科级、处级、厅(局)级(含)以上,这几个属性值明显地是有一定的从大到小的趋势,所以可以做如图4所示的文本到数字的转换。

对于属性值之间没有一定的从大到小的变化趋势的本文属性,比如:职业、贷款类型等。

例如贷款类型分为4种:个人质押贷款、个人综合消费贷款、个人小额短期信用贷款、个人汽车消费贷款。

这4个属性值之间属于并列的,所以我们将这一个属性展开为4个属性(每个属性值变成一个属性)。

即,如果样本的贷款类型为个人质押贷款,那么变化属性之后,这个样本的个人质押贷款属性为1,而其他的3个属性为0,其他情况同理。

如图5所示。

表1银行客户数据属性表
类别
属性内容属性类型客户人口统计学属性
客户年龄数值属性教育情况文字属性可支配收入比例数值属性职业文字属性婚姻状况文字属性需要赡养人数数值属性职务级别文字属性贷款账户属性贷款类型文字属性担保方式文字属性贷款期限数值属性贷款日期数值属性贷款金额数值属性客户行为属性贷款状态文字属性信用情况文字属性违约次数
数值属性
图4有一定趋势的文本属性(职务属性)
的数值化
另外,还要对数据中的缺失值的处理。

该属性经过分析发现也可分为两种情况:连续值属性和离散值属性。

对于属性之间是连续值的,可把已有数据的平均值填入所缺位置;对于属性之间是离散值的,可单独加一个属性值代表样本的该属性缺失与否。

(3)数值归一化
对于随机森林算法来说,如果几个属性值之间的差距特别大,会影响最终结果的准确性,因此要对数据进行归一化。

对于数据表中的任一属性,选取该属性的最大可能取值;然后针对该属性,将所有样本的这条属性值除以遍历数据表后的最大值,使得每条属性的取值都在[0,1]之间。

(4)类别聚合
这样我们即完成数据的整理工作。

然后从2万多条数据集中随机抽取1524个样本作为实验数据,每个样本有27个属性和一个标签。

其次,将实验数据集随机分成两个大小相同的数据集。

一个用来训练分类器,称之为训练集;一个用来检验分类器的效果,称之为测试集。

如表2所示。

资深银行职员对数据集中的每个样本都进行了预先的标记分类。

本文将样本分为6类:AAA ,AA ,A ,BBB ,BB 和B 类。

将BB 和B 类客户定义为流失客户。

对流失客户和非流失客户分别加上标签,标签变量y =1表示客户将要流失;标签变量y =-1表示客户相对忠诚,不会流失。

3、实现结果分析我们选用人工神经网络(Artificial Neural Network ,ANN )、决策树(Decision Tree ,DT )和CWC-SVM (Class Weighted Core Support Vector Machine )模型与该算法模型做对比试验,以测试该算法的性能,结果如表3和图6所示。

从表3和图6中可以明显看出IBRF 较其他算法具有更好的特性。

为了更进一步地评估该算法的特性,我们又将该算法与其他随机森林方法,平衡随机森林和加权随机森林进行了比较,比较结果(n tree =50)如图7所示。

图7表明,该算法明显比其他两种随机森林方法识别力更高。

图形表明,在取10%总人数时,对应抓到88%的流失
人数;在取40%总人数时,对应抓到100%的流失人数。

显然,预测效果大大提高。

结论
本文针对银行不平衡数据集特点对原始随机森林算法进行了改进,提出了同时采用采样技术和代价敏感方法的改进平衡随机森林(IBRF )方法,并在银行测试数据集上进行了验证。

结果表明,该方法比ANN 、DT 、SVM 、Adaboost 等方法的预测精度更高,在不平衡大数据集分析上具有更大的潜力。

下一步研究工作主要解决该算法的效率和泛化能力。

IBRF 用区间变量来决定样本的分布。

虽然实验表明,该算法性能对变量值的变化并不敏感,但在以后试验中对变量值施以一些限定可提高算法的预测效率。

同时,以后的研究工作可探讨一下该算法的成本效益。

最后,客户流失问题不仅局限于银行,该问题也受到其他行业的广泛关注。

本文提出的算法也适用于其他行业。

表2训练集和测试集中样本的分布
训练集正常客户样本数724流失客户样本数38测试集
正常客户样本数727流失客户样本数
35
表3几种算法的实验结果
算法ANN DT SVM Adaboost IBRF 精确度78.12%62%87.15%
65%93.24%top-decile 提升度
3.2
2.6
3.5
2.8
6.9图6
不同算法的提升度曲线
图7不同随机森林的提升度曲线
[1]Chandar,hal,A.Krishna,P.Modeling Churn Behavior of Bank Customers Using Predictive Data Mining Techniques.Na-
tional Conference on Soft Computing Techniques for Engineering Applications[C].(SCT–2006),March24-26,2006
[2]Mozer,M.C.,Wolniewicz,R.,Grimes,D.B.,et al.Churn Reduction in the Wireless Industry[J].Advances in Neural Information
Processing Systems,2000,(12):935-941
[3]Lemmens,A.,Croux,C.Bagging and Boosting Classification Trees to Predict Churn[J].Journal of Marketing Research,2006,43(2):
276-286
[4]Chiang,D.,Wang,Y.,Lee,S.,Lin,C.Goal-Oriented Sequential Pattern for Network Banking Churn Analysis[J].Expert Systems
with Applications,2003,25(3):293-302
[5]Eiben,A.E.,Koudijs,A.E.,Slisser,F.Genetic Modeling of Customer Retention[C].Lecture Notes in Computer Science,178-186,
1998
[6]Zhao,Y.,Li,B.,Li,X.,Liu,W.,Ren,S.J.Customer Churn Prediction Using Improved One-Class Support Vector Machine[C].
Lecture Notes in Computer Science,2005,(3584):300-306
[7]赵宇,李兵,李秀.基于改进支持向量机的客户流失分析研究[J].计算机集成制造系统,2007,13(1):202-207
[8]J.R.Quinlan.Decision Trees as Probabilistic Classifiers[C].Proc.4th Int.Workshop Machine Learning.Irvine,CA,1987,25:31-37
[9]Wai-Ho Au,Keith,C.C.Chan,Xin Yao.A Novel Evolutionary Data Mining Algorithm with Applications to Churn Prediction[J].
IEEE Transactions on Evolutionary Computation,2003,20(7):532-545
[10]郭明,郑惠莉,卢毓伟.基于贝叶斯网络的客户流失分析[J].南京邮电学院学报,2005,25(5):79-83
[11]应维云,覃正,李秀.SVM方法及其在客户流失预测中的应用研究[J].系统工程理论与实践,2007,27(7):105-110
[12]L.Breiman.Random Forests[J].Machine Learning,2001,45(1):5-32
[13]Bart Larivière,Dirk Van den Poel.Predicting Customer Retention and Profitability by Using Random Forests and Regression
Forests Techniques[J].Expert Systems with Applications,2005,(29):472-484
[14]张华伟,王明文,甘丽新.基于随机森林的文本分类模型研究[J].山东大学学报,2006,41(3):139-143
[14]胡庆林,叶念渝,朱明富.数据挖掘中聚类算法的综述[J].计算机与数字工程,2007,35(2):17-20
[15] C.Chen,A.Liaw,ing Random Forests to Learn ImBalanced Data[R].Technical Report666.Statistics Department
of University of California at Berkeley,Berkeley:Free Press,2004
[16]Aurelie Lemmens,Christophe Croux.Bagging and Boosting Classification Trees to Predict Churn[J].Journal of Marketing Research,
2006,20(2):276-286
[17]Yaya Xie,Xiu Li,Eric Ngai,WeiyunYing.Customer Churn Prediction Using Improved Balanced Random Forests[J].Expert Systems
With Applications,2009,43(1):5445-5449
The Research on Random Forests and the Application in Customer Churn Prediction
Ying Weiyun
(Information Management and Engineering School,Shanghai University of Finance&Economics,Shanghai200433)
Abstract:Facing the competition in the global market,enterprises are increasingly keener to explore how to hold the existing customers and improve their satisfaction by making use of the existing resources.The customer churn prediction has aroused more and more attention from enterprises.Given the unbalance and size of actual customer churn data,the paper puts forward an improved balanced-random forest algorithm and applies it to predict the customer churn of a commercial bank.The actual data set test result shows that the algorithm,on the strength of both sampling technique and cost-sensitive learning,has a higher accuracy in solving a large data set and unbalance data than the traditional prediction algorithms.
Key words:churn prediction,imbalanced data,random forests。

相关文档
最新文档