面向缺失数据的客户价值区分集成模型研究
肖进、贺昌政
(四川大学工商管理学院四川成都610064)
摘要:当客户数据包含缺失时,已有的大多数研究工作采用“两步式”客户价值区分策略。将集成学习技术与数据分组处理(group method of data handling,GMDH)理论相结合,提出了面向缺失数据的客户价值区分“一步式”集成模型GDCEMV。实证分析表明,与已有的4种“两步式”策略以及1种“一步式”策略相比,GDCEMV在客户数据包含缺失情况下能够取得更好的客户价值区分效果。
关键词:客户价值区分;缺失数据;“一步式”集成模型;数据分组处理;集成学习
中图分类号:F830.91.文献标识码:A
0.引言
客户价值区分是根据客户为企业创造价值的能力对客户进行分类,提供针对性的产品、服务和营销模式的过程,能够使企业更合理的分配资源,有效地降低成本,同时获得更有利可图的市场渗透。客户信用评估、客户流失预测、客户交叉销售等均属于客户价值区分的范畴,它们都是按价值的不同维度对客户进行区分,比如客户信用评估是按客户当前价值的大小进行分类,而客户流失预测则按客户潜在价值的大小来分类。
在客户价值区分中,客户数据在很多时候都包含缺失数据。如在利用调查问卷搜集数据时,由于客户不愿回答一些敏感的问题(如收入、年龄),或没有足够的知识和经验回答某些问题,都有可能造成数据缺失。Yim等学者通过问卷调查搜集数据来研究顾客满意度问题,他们指出在回收的450份问卷中有90份含有大量的缺失数据。不仅是来自问卷的数据,很多来自企业的CRM数据库的客户资料数据也常常包含缺失。以全球500强企业霍尼韦尔(Honeywell)为例,虽然他们的数据收集有一套严格的规范,但该公司的客户数据库中数据缺失率仍然高达50%!
目前常用的客户价值区分模型如神经网络、支持向量机等都要求模型的训练集数据必须是完整的,只要待分类客户有一个特征的值是缺失的,模型就没有办法对其进行分类。为了解决这一问题,Kim等学者提出了一个客户价值区分的3阶段框架:1)数据收集和预处理;2)客户价值分类建模;3)营销策略的制定。在这一框架下,当客户数据包含缺失时,大量研究是先对缺失数据进行预处理,使数据集变得完整,然后在完整的数据集上建立客户价值区分模型,这两个阶段是彼此相对独立进行的,我们称之为“两步式”客户价值区分策略。其中使用得最多的预处理方法还是插补法,包括单值插补方法如均值替代、线性回归插补、EM插补和多重插补方法。如Lessmann and Vo提出了一种基于支持向量机的层次参考模型用于信用评估,在建立模型之前采用均值替代来处理缺失数据,Shao等人在进行客户流失预测时,根据属性是连续还是离散而采用不同的预处理方案,对于连续属性,采用均值替代;对于离散的属性,则将缺失值看做该变量的一种新的状态。然而,插补法仍有不足之处,常用的插补方法都是基于随机缺失假设的,且都需要假定数据服从某一分布模型,但在实际应用中,各种缺失方式经常是交织在一起的,采用的假设、模型不合理,将影响后继分类器的学习效果。因此,“两步式”策略有待改进。
为了弥补插补法的不足,近年来在数据挖掘领域,有学者尝试使用集成学习技术直接构建面向缺失数据的分类模型。如Krause等人提出了一种直接为含有缺失的数据进行分类的集成方法learn++ MF(Learn++ for Missing Features),简称LMF。该方法首先从特征空间选择一系列特征子集,通过映射计算得到若干训练子集,并在每个训练子集上产生一个弱的基本分类器构成基分类器池,然后对于每一个待分类样本x*(可能含有缺失特征),用基分类器池中没有使用x*中的缺失特征的那些基本分类器为其分类,最后将这些基分类器的分类结果进行投票得到最终分类结果。LMF属于“一步式”客户价值区分的范畴。实验分析表明,LMF具有较好的分类性能。然而,需要指出的是,该方法着重研究了测试集中包含缺失的情形,没有考虑训练集中也包含缺失的情形,但在现实的客户分类问题中,训练集和测试集通常都存在数据缺失,同时,Krause等人也指出,当某一测试样本包含较多缺失特征时,很可能在基分类器池中一个可行的分类器都找不到,这时LMF方法将无法对其进行分类。最后,对于每一个待分类样本x*,LMF方法将基分类器池中满足要求的全部基分类器的分类结果通过多数投票来得到最终分类结果,但这些基分类器之间可能存在冗余,因此若能从中选择一个适当的子集进行集成,将有望进一步提高分类性能。
本文在Krause等人提出的LMF基础上,提出了一种直接面向缺失数据的客户价值区分“一步式”集成策略GDCEMV(GMDH Based Dynamic Classifier Ensemble for Missing Value)。该方法能够充分利用数据集中已知的样本信息,在进行客户分类之前不需要事先对缺失数据进行处理,从而减少了对数据缺失机制假设以及数据分布模型的依赖。此外GDCEMV也能处理训练集和测试集中同时存在数据缺失的客户价值区分问题。
1.常用缺失数据处理方法
目前,处理缺失数据的主要方法有个案删除法、单值插补法和多重插补法。
1.1个案删除法
个案删除法(Listwise Deletion,LS)是最简单的处理缺失数据的方法。在这种方法中如果任何一个变量含有缺失,就把相应的个案从数据集中删除。如果缺失值所占比例比较小的话,这一方法十分有效。然而,当缺失数据所占比例较大,特别是当缺失数据是非随机分布的时候,这种方法可能导致数据发生偏离,从而得出错误的结论。同时,当数据集中每个样本均包含一定的缺失时,此方法是不可用的。
1.2单值插补法
(1)均值替换法
采用均值替换法(Mean Substitution,MS)处理缺失数据时,通常将变量的属性分为数值型和非数值型来分别进行处理。如果缺失值是数值型的,就根据该变量在其他所有对象的取值的平均值来填充该缺失的变量值;如果缺失值是非数值型的,就根据统计学中的众数原理,用该变量在其他所有对象的取值次数最多的值来补齐该缺失的变量值。均值替换法也是一种简便、快速的缺失数据处理方法。使用MS方法插补缺失数据,对该变量的均值估计不会产生影响。但这种方法是建立在完全随机缺失(MCAR)的假设之上的,而且会造成变量的方差和标准差变小。
(2)EM方法
EM算法是根据所得观测数据,获得对模型参数估计的一种方法,其核心思想就是根据已有的数据来递归估计似然函数。EM算法包括两步:E步指根据Dobs和第t次迭代得到的模型参数来预测;M步是指根据Dobs和来估计。给定模型参数的初值,重复E步和M步,直到参数估计收敛为止,收敛时得到的可看做插补值。作为一种迭代方法,EM算法最主要的缺点在于计算成本较大,还可能出现局部收敛和伪收敛的现象。在小样本、高缺失率且有很多参数需要估计时,有可能发生唯一似然最大值不存在的情况。此外,EM算法要求提前给出分布形式,这在大多数实际问题中都是难以做到的。
(3)回归插补法
回归插补法(Rregression Imputation,RI)首先需要选择若干个预测缺失值的自变量,然后建立回归方程估计缺失值,即用缺失数据的条件期望值对缺失值进行替换。与前述几种插补方法比较,该方法利用了数据库中尽量多的信息,但该方法也有很多不足:1)它虽然是一个无偏估计,但是却容易忽视随机误差,低估标准差和其他未知性质的测量值,而且这一问题会随着缺失信息的增多而变得越严重;2)研究者必须假设存在缺失值所在的变量与其他变量存在线性关系,但很多时候这种关系是不存在的。
1.3.多重替代法
单值插补法容易造成数据分布的扭曲,可能会使得到的结果偏差较大。为改善这一弊端,美国哈佛大学统计学家Rubin提出了多重插补方法(Multiple Imputation,MI)。首先,MI用一系列可能的值来替换每一个缺失值,以反映被替换的缺失数据的不确定性。然后,用标准的统计分析过程对多次替换后产生的若干个数据集进行分析。最后,把来自于各个数据集的统计结果进行综合,得到总体参数的估计值。
2.“一步式”集成模型
本研究提出的“一步式”集成模型GDCEMV中的集成包含两层含义:第一,该模型将Kim等学者提出三阶段客户价值区分框架中的第1阶段的数据预处理与第2阶段的建立客户分类模型进行集成;第二,将多分类器集成方法引入到客户价值分类建模中。
设分类问题包含n个属性,其训练集和测试集分别是Dtrain和Dtest,它们可能都含有一定比例的缺失值。GDCEMV方法的基本思想如下:首先将训练集Dtrain按缺失特征的个数分成n个子集:D1,D2,…,Dn,分别表示缺失1个,2个,…,n-1个,0个特征的样本构成的集合,然后在每个子集上根据特征的缺失比例的不同赋予一个不同的被抽样权重,在此基础上随机选择若干特征子集,通过映射计算得到一系列训练子集,将训练子集中含有缺失的样本删除,并训练得到一系列基本分类器。进一步的,对于每一个测试样本x*,在每个子数据集中寻找到x*的K个近邻组成x*的局部区域Local,然后利用基于GMDH的动态分类器集成选择方法找到在Local中具有最大分类精度的一个集成E*,并用E*来为x*进行分类,这样每个数据子集Di(i=1,2,…,n)中都得到了x*的一个分类结果,最后采用投票法得到最终分类结果。GDCEMV方法的伪代码如下:
输入:训练集Dtrain和测试集Dtest、近邻数K以及在每个子数据集上选择的特征子集个数F;
输出:测试集中每个样本x*的最终分类结果。
1.根据缺失属性的个数,将训练集Dtrain分成D1,D2,…,Dn;
2.对于每个Di,i=1,2,…,n,如果Di不为空,则
2.1统计每个特征上缺失的样本个数,设分别为m1,m2,…,mn,若mi≠0,则为第i个特征赋予被抽样权重wi=1/mi,否则令wi=2,最后将w1,w2,…,wn进行标准化处理得到w’=(w1’,w2’,…,w n’)。
2.2根据w’随机抽取F个特征子集,且每个特征子集的特征个数为原始属性个数的一半,通过映射计算得到F个训练子集S1,S2,…,SF 。
2.3删除 Sj (j=1,2,…,F)中含有缺失的样本,并在每个Sj上训练一个基本分类器。
3.对每个测试样本x*,
3.1在每个Di(Di不为空)中,寻找x*的K个近邻构成局部区域Local,然后利用基于GMDH的集成选择方法从Di中的F个基本分类器中找到在Local上具有最高分类精度的一个集成E*,并用E*为x*进行分类,得到分类结果;
3.2将在所有Di上得到的x*的分类结果进行多数投票,得到x*的最终分类结果。
3.实证分析
3.1.试验设置
为了分析本文提出的面向缺失数据的“一步式”集成模型GDCEMV的分类性能,以国际标准数据库(UCI)中的澳大利亚客户信用评估数据集“Australia”为例进行实证分析。该数据集共有690个客户样本,包含两类,分别表示信用好和信用差的客户。其中,信用差的客户样本383人,信用好的客户样本307人,两者的比例为1.2476,属于类别分布相对比较均衡的数据集。为了保护商业机密,公开的数据对属性名和属性值做了符号代换,共有14个属性,其中,定量属性6个,定性属性8个。同时,在该数据集中,有37个客户样本包含1个或者多个缺失值,数据缺失率5.36%。此数据集也来自于UCI数据库,本身不包含噪声。因此,使用GDCEMV来对其进行分类是比较合理的。
为便于处理,本研究统一将数据集中的连续型属性按照Fayyad and Irani 提出的方法进行预离散化。而为了得到训练集和测试集,随机地将整个数据集分成3等份,其中1/3的样本用于测试,而余下2/3的样本构成训练集。同时,将支持向量机(support vector machine,SVM)作为基本分类模型。在GDCEMV算法中,有两个重要参数:近邻数K以及在每个子数据集上选择的特征子集个数F。通过反复试验,我们取K=3,F=50。最后,每一个分类结果均是取10次实验的平均值。