1. 引言
随着21世纪商品经济的繁荣,信用卡成为了现代生活中不可或缺的支付工具,为人们提供了便利的消费方式。信用卡的广泛应用不仅改变了居民的消费观念,还推动了金融业务的发展。然而,随着信用卡行业逐渐进入客户存量运营时代,行业面临着新的挑战和机遇。在大数据时代,银行业积累了海量的客户数据,包括年龄、性别、家庭人数、教育水平、婚姻状况等人口属性,也包括信用卡卡种、持卡时间、信用额度、产品持有数量、周转余额等产品属性,还包括年收入水平、交易数量、交易总额等价值属性,额度使用情况、平均卡利用率等行为属性信息。这些数据不仅是银行业务日常运营的产物,也是深度洞察客户需求和行为的宝贵资源。利用好这些数据,充分挖掘数据背后的价值,可以更好地提高银行信用卡客户流失预测的准确性。本论文通过充分利用大数据和机器学习技术,提高银行信用卡客户流失预测的精准度和效率,为银行业务的持续健康发展提供有力支持,促使银行更好地适应未来金融环境的变化。
2. 文献综述
近年来,对于客户流失预测的研究领域中,不少国内外学习利用机器学习算法进行研究。吴运奇(2007)利用岭回归模型进行某商业银行信用卡客户流失模型预测[1]。王文硕和刘凤军(2008)利用逻辑回归模型对信用卡客户流失行为特征进行识别,提出了信用卡客户流失行为的预测模型[2]。周德雨(2009)选择了逻辑回归模型建立信用卡评分模型,实现信用卡客户信用评分、行为评分及部分客户价值分析的工作[3]。廖旺宇(2012)提出了改进的Boosting算法来解决信用卡客户数据分布不均衡的问题,并对流失行为进行分析[4]。孔力和贺昌政(2013)提出了一个衡量信用卡客户当前价值的模型用于计算客户的当前价值,并使决策树、CART决策树、CHAIN决策树、B-P人工神经网络及Logistic回归这5种模型投票来预测客户流失,然后将客户当前价值和客户流失预测情况这两个因素结合起来构建客户细分模型,从而实现交叉销售,使资源得到合理分配与充分运用[5]。于彩娴和赵治荣(2013)采用SAS构建了逻辑回归、神经网络、决策树以及通过决策树剔除不显著变量后的逻辑回归这四种经典模型,进行客户流失行为的分析。通过对四种模型的比较,他们发现逻辑回归与神经网络在模型精确度上相差不大,表现良好。然而,逻辑回归具有更好的可解释性,能够判断影响客户流失的因素。因此,最终选择了逻辑回归模型来预测信用卡客户的流失行为,并在业务需求的基础上提出了相应的建议[6]。赵琨等(2015)使用双子支持向量机对某商业银行的信用卡客户流失行为进行分析。相比支持向量机,双子支持向量机采用两个非平行的超平面进行决策,通过解决两个较小的二次优化问题来提高运算速度。研究结果显示,双子支持向量机建立的客户流失模型速度约为支持向量机的四倍,同时具有更高的预测准确率[7]。姚博(2017)提出了一种基于边界混合采样的非均衡数据处理算法,以解决客户数据中流失与未流失客户这两个类别样本数据量相差较大的问题。他采用MEF-mRMR算法和BMS算法进行特征选择和数据均衡,然后使用均衡后的数据训练SVM、C4.5和随机森林这三种模型,对客户流失行为进行预测。实验结果表明,在数据进行均衡处理后,模型的预测效果良好。与其他两个分类模型相比,SVM在客户流失预测上表现更佳[8]。这些研究为银行业提供了多种可行的客户流失预测方法,为业务决策提供了有力支持。邓致(2019)基于2017~2018年的相关历史数据,提取了两千个数据样本,并建立了逻辑回归、神经网络和决策树这三种不同的客户流失预测模型。通过研究发现,这三种算法均展现出良好的预测能力,其预测准确率均可达到80%,成功实现了发掘潜在流失客户的目标。这些模型中,神经网络和逻辑回归的性能相较于决策树更为优越,其预测准确率可达到85%。这意味着这两种模型能够更准确地识别潜在流失客户,为信用卡客户挽留提供了良好的技术支持。这项研究结果为银行业在客户流失预测领域提供了有力的数据支持,为业务决策提供了实用的参考依据[9]。
客户流失预测在银行业等领域受到了广泛关注,国内外学者利用多种机器学习算法进行了深入研究。这些研究涵盖了从岭回归、逻辑回归、决策树、神经网络到更复杂的集成方法如Boosting、SVM、随机森林、XGBoost和Adaboost等。其中,逻辑回归因其良好的可解释性和预测性能,在客户流失预测领域得到了广泛应用。此外,针对客户数据分布不均衡的问题,研究者们提出了各种解决方案,如双子支持向量机、基于边界混合采样的非均衡数据处理算法等,以提高模型的预测准确率。这些研究不仅为银行业提供了多种有效的客户流失预测方法,还为业务决策提供了有力的数据支持和参考依据,有助于银行更好地识别潜在流失客户,提高客户挽留率。但是对于同一研究对象采用不同模型预测并进行对比的研究相对缺乏,本论文通过采用逻辑回归、决策树以及随机森林三个模型,进行预测信用卡客户的流失情况。通过对数据集进行细致的分析和处理,包括对数据各个属性进行解析、以及数据初步预处理和对各变量进行可视化探索分析、挖掘不同属性中潜藏的有用信息,为银行提供更精准的客户流失预测。采用多种机器学习算法的结合,旨在从不同角度全面考量客户流失的可能因素,提高预测的准确性和全面性。
3. 数据处理与可视化
3.1. 样本数据与变量选取
本文所使用数据来自数据竞赛平台Kaggle上的Credit Card Customers数据,数据源平台为LEAPS平台。LEAPS是一个专注于数据科学的平台,可以提供由行业专家设计的数据科学虚拟实验室和课程供用户学习,用户也可以在此平台上分享数据集。本实验数据集共有10127条,包含19个特征和1个标签,分类目标是预测信用卡客户是否会流失,对应的是分类任务,为我们的模型的开发和验证提供了可靠的基础事实。实验数据集中20个特征从客户和银行两方面考虑,主要可包含三块内容,分别是:客户基本信息、客户账户信息、信用卡交易信息。其中,有6个类别型变量,14个数值型变量。具体的变量名称、变量类型和变量含义见表1。
Table 1. Details of variables
表1. 1变量明细
变量名称 |
变量含义 |
变量类型 |
Attrition_Flag |
客户流失情况 |
类别型 |
Gender |
性别 |
类别型 |
Education_Level |
教育水平 |
类别型 |
Marital_Status |
婚姻状况 |
类别型 |
Income_Category |
年收入情况 |
类别型 |
Card_Category |
信用卡类别 |
类别型 |
Customer_Age |
客户年龄 |
数值型 |
Dependent_count |
家属人数 |
数值型 |
Months_on_book |
与银行的关系期 |
数值型 |
Total_Relationship_Count |
持有的产品总数 |
数值型 |
Months_Inactive_12_mon |
近一年内不活跃月数 |
数值型 |
Contacts_Count_12_mon |
最近一年的联系人数 |
数值型 |
Credit_Limit |
当前的信用额度 |
数值型 |
Total_Revolving_Bal |
总周转余额 |
数值型 |
Avg_Open_To_Buy |
平均可用信用额度 |
数值型 |
Total_Amt_Chng_Q4_Q1 |
交易金额变化 |
数值型 |
Total_Trans_Amt |
总交易金额 |
数值型 |
Total_Trans_Ct |
交易总数 |
数值型 |
Total_Ct_Chng_Q4_Q1 |
交易数变化 |
数值型 |
Avg_Utilization_Ratio |
平均卡利用率 |
数值型 |
3.2. 数据预处理
一般直接从现实案例中提取的数据集都会存在重复、噪声、不完全等问题,如果不对其进行处理,会影响到后续建模算法的执行速度,甚至可能导致结果出现严重偏差。因此,在建立模型之前,必须采用合适的方法对原始数据进行处理,提升数据质量,提高建模过程的性能和效率。下面将从特征、类别型、数值型这三个方面展开数据预处理工作。
首先,去除客户的id值。id值作为一种标记,用来区分不同的客户。这个属性本身与信用卡客户流失与否并没有关系,它也不能反映出样本的分布规律,因此将其删除。其次,在处理分类型变量时,性别、客户流失情况属于二项分类变量,本文采用0、1编码:男性用0表示,女性用1表示;信用卡客户未流失用0表示,客户流失用1表示。在构建后续回归模型时,本文引入哑变量对多项分类变量进行编码。然后,通过箱线图可以发现数据中存在异常数据,对于部分异常数据进行检测和处理。主要是利用Z-score和IQR进行异常值检测和处理。以便进行模型训练和性能评估,本文把样本数据集切分为训练集和测试集,其中70%用于训练,30%用于验证。
在建模时,若直接将所有特征输入模型训练,不仅会浪费计算机资源,也可能会导致模型可解释性降低,因此需要对所有数值变量之间的相关性进行检验,本文将使用热图来可视化的相关性。热力图通过颜色的变化来可视化数据。颜色越深的变量意味着它们的相关性越大,并且对相关程度高的变量予以剔除,绘制热力图如图1所示。热力图显示了所有数值变量之间的相关性,可以看到最相关的变量是:客户年龄(Customer_Age)和与银行的关系期(Months_on_book),平均可用信用额度(Avg_Open_To_Buy)和当前的信用额(Credit_Limit),总交易金额(Total_Trans_Amt)和交易总数(Total_Trans_Ct)。由于这些变量是高度相关的,本文从它们中删除与银行的关系期、平均可用信用额度和总交易金额这三个变量。
Figure 1. Heat map
图1. 1热力图
3.3. 数据可视化
由图2可知,在全体信用卡客户中,约83.9%的客户是未流失的,只有约16.1%的客户是流失的。
Figure 2. Customer churn situation
图2. 客户流失情况
由图3及图4可知,该银行有超过半数的信用卡客户为女性,且女性信用卡客户的流失率高于男性。女性用户比较多,已婚占比较多其次是单身,信用卡Blue占比最大;大多数客户是大学毕业生(约30%),最少的客户拥有博士学位(约0.044%),并且大多数客户(约35%)报告收入低于4万美元,最少的客户收入超过120,000美元。最后得到:女性流失较多,但在客户总体中,女性客户也更多;流失随着家属数量的增加而增加;最大的流失发生在没有家属的情况下,其次是有3个家属;流失客户在各个教育水平中都有,但在毕业(Graduate)和高中(High School)教育水平中较为突出;已婚人群的流失相对较多;过去12个月不活跃的月份增加,流失风险也增加,过去12个月的联系次数较少的客户流失较少;流失客户在总关系数量较低和较高的情况下更多。
Figure 3. Gender, marital status, and credit card category
图3. 性别、婚姻状况以及信用卡类别
Figure 4. Education level and income categories
图4. 教育水平和收入类别
4. 模型建立
4.1. 逻辑回归
逻辑回归模型是一种在数据科学领域广泛应用的分类算法,特别适用于处理二分类问题。该模型的核心思想是通过构建一个逻辑函数(通常是sigmoid函数)来预测输入样本属于某个类别的概率。逻辑回归模型首先通过线性回归模型计算输入特征的加权和,然后将这个值传递给sigmoid函数,将结果映射到0和1之间,从而得到一个表示特定类别发生概率的数值。优点在于其简单易懂、计算效率高,并且具有良好的可解释性。它可以直接给出每个特征对分类结果的影响程度,使得人们能够清晰地理解模型是如何做出决策的。此外,逻辑回归模型对于特征工程的要求相对较低,能够处理各种类型的数据,包括连续型、离散型和文本型等。
逻辑回归是一种用于二元分类问题的统计模型。它根据一个或多个预测变量(或独立变量)估计二元结果的概率。它为这类预测任务提供了一个稳健的基线模型。
逻辑回归的基本方程与事件概率与自变量线性组合的对数赔率有关。前面的logit回归方程变换了二元变量的线性组合,其中P(X)表示给定自变量X的事件发生的概率。e代表自然对数的底,a和b分别代表自变量X的截距和系数。
4.2. 决策树
决策树模型是一种基于树形结构的监督学习算法,用于解决分类和回归问题。该模型以直观易懂的树状结构呈现决策过程,每个节点代表一个特征属性上的测试,每个分支代表一个测试输出,每个叶节点则代表一个类别或预测值。通过自上而下的方式,决策树模型将数据集拆分成多个子集,并在每个子集上做出预测。优点在于其简单性、易于理解和实现。模型构建过程中,每个决策节点都是基于特征属性的最优划分来选择的,这保证了决策树的高效性和准确性。此外,决策树模型还具有良好的可解释性,其输出结果可以直观地解释为每个节点的决策结果,有助于理解模型的决策过程。然而,决策树模型也存在一些缺点。例如,它可能需要大量的训练样本来训练决策节点,这可能导致在未见过的数据上表现较差。此外,决策树模型也容易陷入过拟合的情况,因为它可能会过于关注训练数据中的细节而忽略了泛化能力。通过构建决策树模型,我们可以根据输入的特征属性快速准确地做出预测或决策,为实际问题的解决提供了有效的工具。
4.3. 随机森林
随机森林模型是一种集成学习方法,它结合了多个决策树的预测结果以提高分类或回归问题的准确性和稳定性。随机森林从原始数据集中随机抽取多个样本(有放回抽样),并基于这些样本构建多棵决策树;每棵树在构建过程中都会随机选择一部分特征进行节点划分,从而增加了模型的多样性,对于新的输入数据,每棵决策树都会给出一个预测结果。在分类问题中,随机森林采用投票法,即选择多数决策树给出的类别作为最终预测结果;在回归问题中,随机森林则采用平均法,即计算所有决策树预测结果的平均值作为最终预测值。
随机森林是一种集成学习方法,它通过在训练期间构造多个决策树并输出单个树的多数投票来进行分类问题。
因此,该模型计算森林中所有单个树的预测结果的平均值。考虑到随机森林有效处理高维空间和变量之间多重共线性的能力,它非常适合我们的数据集。
5. 结果分析
分析结果基于使用逻辑回归和随机森林模型对银行客户数据集的分析,为银行客户流失预测领域提供了深刻的启示。根据几个指标,包括准确性、精密度和AUC分数,对逻辑回归、决策树和随机森林模型的性能进行了评估。
对于分类模型,判定模型结果好坏的指标有精确率、召回率和F测度,其公式如下:
在实际业务开展中,特别是流失预测模型中,需要提高模型的覆盖率,以尽可能的识别所有可能流失的客户,同时需要提高模型的精确度。在模型训练过程中设置不同的代价矩阵来获得不同的模型性能。三个模型在测试数据上的混淆矩阵如表2所示(0:未流失;1:流失):
Table 2. Test-set confusion matrix
表2. 2测试集混淆矩阵
分类器 |
训练数据 |
0 |
1 |
Logistic Regression |
0 |
2444 |
74 |
1 |
259 |
262 |
Decision Tree |
0 |
2370 |
148 |
1 |
195 |
326 |
Random Forest |
0 |
2491 |
27 |
1 |
217 |
304 |
表格详细列出了逻辑回归、决策树和随机森林三种分类器在训练数据集上的分类结果,包括对于未流失客户(标记为0)和流失客户(标记为1)的预测情况。逻辑回归模型在预测未流失客户方面表现相对较好,正确预测了2444个客户,但在预测流失客户方面则稍显不足,仅正确预测了262个客户。这可能意味着逻辑回归模型在识别潜在流失客户方面存在一定的局限性。决策树模型在预测流失客户方面表现相对较好,正确预测了326个流失客户,但在预测未流失客户方面则略逊于逻辑回归模型,正确预测了2370个客户。决策树模型可能更擅长于捕捉数据中的复杂关系,从而在预测流失客户方面表现出优势。随机森林模型则结合了多个决策树的结果,表现出了更高的预测准确性。在预测未流失客户方面,随机森林模型正确预测了2491个客户,接近逻辑回归模型的表现;而在预测流失客户方面,则显著优于逻辑回归和决策树模型,正确预测了304个客户。这得益于随机森林模型的集成学习特性,它能够降低单一模型的过拟合风险,提高整体预测效果。
通过上述建模可得到逻辑回归、决策树以及随机森林3种建模算法下的各项指标,整理汇总性能评估指标如表3,绘制模型测试集准确率条形图如图5所示。
Table 3. Model evaluation indicators
表3. 3模型评价指标
|
分类器 |
测试集准确度 |
精确度 |
召回率 |
F1分数 |
AUC |
0 |
Logistic Regression |
0.890424 |
0.779762 |
0.502879 |
0.611435 |
0.885166 |
1 |
Decision Tree |
0.887134 |
0.687764 |
0.62572 |
0.655276 |
0.783471 |
2 |
Random Forest |
0.91971 |
0.918429 |
0.583493 |
0.713615 |
0.951128 |
Figure 5. Test-set accuracy
图5. 测试集准确度
对比以上三个模型结果我们可以得到:逻辑回归模型在准确度上表现较好,但召回率相对较低,可能在预测正类别时会漏掉一些真实正例。决策树模型在准确度上表现较好,但相较于逻辑回归,精确度和召回率较低,F1分数也较低。模型可能过于复杂,存在一定的过拟合。随机森林模型在准确度和AUC上表现最好,在准确率方面,随机森林模型的准确率为91.9%,精度为91.8%。随机森林模型的AUC是衡量模型性能的综合指标,我们发现该模型的AUC为0.951,表明该模型的预测准确率为95%,这是一个相对较高的模型得分。这与先前文献的发现一致,表明随机森林模型优于其他算法。精确度和召回率相对平衡,F1分数也较高,对于复杂的数据集有较好的性能,但可能较慢。考虑平衡准确度、精确度和召回率,随机森林是一个不错的选择。
随机森林模型的优越性可以归因于它处理高维数据和捕捉变量之间复杂的非线性关系的能力。这种稳健的性能强调了集成学习方法在客户流失预测中的潜力。
6. 结论
本文利用Python编程语言对信用卡流失的目标客户进行了深入的建模预测研究。我们选择了决策树、逻辑回归和随机森林这三种主流的机器学习模型,以评估它们在处理信用卡流失预测问题上的性能。实验结果显示,这三种模型都展现出了良好的预测能力,能够在一定程度上准确识别出即将流失的信用卡客户。然而,在细致的性能对比中,我们发现随机森林模型在预测准确率、稳定性以及泛化能力等方面均优于其他两种模型。这得益于随机森林模型的集成学习特性,它能够结合多个决策树的结果,有效降低单一模型的过拟合风险,提高整体预测效果。通过本次实验,我们初步建立了信用卡流失预测模型,并为银行提供了一种有效的客户管理工具。下一步,我们将把这些模型应用于生产实践中,通过实际的数据和场景来检验模型的可靠性。同时,我们还将根据实践中的反馈情况,不断调整和优化模型的参数,以提高其预测精度和实用性。相信随着模型的不断完善和优化,我们能够更好地帮助银行识别潜在的流失客户,制定更为精准的营销策略,从而优化银行信用卡的客户服务,提升客户满意度和忠诚度。