基于C5.0算法的航空客户流失分析

2018-02-05 01:28:34崔亚奇
西安航空学院学报 2018年1期
关键词:决策树航空公司变量

崔亚奇

(兰州财经大学 统计学院,兰州 730020)

0 引言

近年来,关于客户流失的分析在金融、通信等行业已有深入研究,并且通过建立客户流失模型已给相关产业带来利润增长,但对于航空公司的客户流失分析问题一直未被重视。随着中国高铁技术的迅猛发展,部分乘客由航空业转向高铁,进一步加深了客户流失对航空公司的影响。因此,在国内交通运输市场竞争日益激烈的环境下,航空公司必须对客户流失方面的问题给予足够的重视。

国内外对客户流失模型的研究最早应用于通信业[1],目前已广泛应用于金融[2]、保险[3]、邮政[4]、商品推销[5]等各个行业。由于客户流失模型是关于流失或者不流失的二元选择问题,所以对于模型的构建常用方法有决策树、Logistic回归[6]和人工神经网络[7]。

决策树具有出色的数据分析能力和较为直观的可视化图形展示,完全不用考虑诸如线性性、共线性之类的约束或干扰。决策树能够在复杂的大数据环境下,找出数据中输入变量和输出变量取值间的逻辑对应关系,并实现对新数据输出变量的预测[8]。由于本文算例中数据较大,变量较为复杂,因此使用具有较好容脏能力和解释能力的决策树模型是最为合适的。

吴桐水等人采用ID3算法构建了小样本的航空公司客户流失预警模型[9], ID3算法使用最高信息增益值来划分当前数据集,然而ID3算法在处理大数据集时容易陷入局部最优问题。

林楚泉等人在ID3算法的基础上,通过改进的RFM模型,来找出20%具有较高价值的客户信息[10]。邹竞等人利用C4.5算法建立了流失预警模型,并且有很好的预测能力[11],但是与C5.0算法相比,C4.5算法在算法精度和速度上都不如C5.0算法。张宇等人采用了最新的C5.0算法对邮政短信服务数据进行了流失预警建模,将C5.0算法运用于客户流失并且很好的处理了大数据样本[12]。

通过以往文献可以看出,在分析客户流失的问题中,决策树算法是使用最为广泛且最受欢迎的方法,但是由于变量较多导致树形过大,无法画出合适的决策树图,并且在航空客户流失方面并未涉及。

本文针对航空公司会员数据,先对数据进行了预处理及变量筛选,然后利用C5.0模型中的决策树算法建立了客户流失预警模型,选出对模型较为重要的变量,并且在有较高的命中率和覆盖率上给出决策树图,旨在对航空公司客户流失的情况进行分析和预警,对航空公司的活动决策具有重要意义。

1 决策树模型与C5.0算法

1.1 决策树模型

决策树算法是数据挖掘中最为经典的算法之一,它通过对样本数据的不断分组,从而形成决策树的各个分支,因此通过决策树算法来不断形成树的分支的过程就是决策树模型建立的过程。

决策树的生长和剪枝是决策树模型的两大核心问题。决策树的生长就是通过训练集数据的不断分组来逐渐长出新枝,当输出变量的差异性随着训练集数据分组的继续而显著减少时便停止生长,这便形成一颗完整的决策树。但实际情况中,通过第一步生长出的完整决策树通常不是最佳的,因为随着训练集数据抽取的不同,形成的决策树可能会有很大差异,并且如果树形过于庞大,即对于训练集特征的描述“过于精确”,这就是我们通常所说的过拟合现象,这样的决策树不具有一般性,因此决策树的剪枝就显得格外重要。决策树的剪枝分为事前剪枝和事后剪枝,有利于减少样本的个性化趋势,通过剪枝可以减少树的深度,形成更具有一般代表性的决策树模型,从而达到预测功能。

1.2 C5.0算法

C5.0算法是构造分类决策树的最新方法,它的核心便是使用熵来确定划分标准。样本数据的熵表示样本的复杂程度,最小值0表示样本是完全同质的,而1表示样本最为复杂。熵的具体定义如下:

在熵的公式中,对于给定的数据分割(S),常数c表示类的水平数,pi表示落入类的水平i中的数值比例。

在决策树算法的学习过程中,信息增益是特征选择的一个重要指标,对于特征F,信息增益的计算方法是分割前的数据分区(S1)的熵值减去由分割产生的数据分区(S2)的熵值,即:

InfoGain(F)=Entropy(S1)-Entropy(S2)

根据信息增益值的大小来确定分组原则,取其中信息增益最大的分类变量及对应的切分点组合,由此生长出一个新的树枝。

2 模型建立与实证研究

2.1 数据预处理

由于本文所选取的数据量较大,数据在处理之前大体上都是不完整、不一致的杂乱数据,无法直接进行数据分析,因此为了提高模型的准确性和适用性,在建模之前必须对数据进行预处理。

本文所选取的数据为某航空公司两年内所有会员客户的飞行情况,处理前的数据为62988个观测值,57个属性。对拥有空值、缺失值的数据进行删除填充,处理后的数据条目为61884个观测值。其中已流失的客户数量为23577个,未流失的客户数量为38307个,可以看出已流失客户已经达到38.1%,从这一数值可以看出航空公司的客户流失问题已经非常严重,建立客户流失预警模型刻不容缓。

2.2 模型初步构建

根据上文预处理后的数据利用R软件中的C5.0算法进行决策树模型的初步构建,结果如下表所示。

表1 模型初步构建结果

从表1可以看出,模型一共使用了61884个观测值,56个变量作为输入变量,用0表示未流失,1表示流失。模型判断错误的数目仅为55个,错误率远小于0.1%,正确率达到99.9%之多,但是由于变量过多导致决策树过于庞大,其中树的大小为137,即包括137个叶节点,所以在正确率如此高的情况下一定存在着过拟合现象,虽然正确率很高,但是不具有预测效果,比如“最后一次乘机时间至观察窗口末端时长大于300天且最后一季度消费为0的年龄大于56岁的女性”为流失客户,虽然这条规则的精确性是毋庸置疑的,但是模型规则分的过细导致模型不具有一般性,我们可以通过变量的重要性打分来筛选变量,变量重要性打分表如表2。

表2 变量重要性打分表

从表2可以看出,变量DAYS_FROM_LAST_TO_END,MAX_FLIGHT_INTERVAL重要性打分依次为100和99.82,为显著重要变量,变量AVG_FLIGHT_INTERVAL,DAYS_FROM_BEGIN_TO_FIRST和FLIGHT_COUNT_QTR_8的重要性打分为63.75,63.15和57.95,为一般重要变量,而剩余的FLIGHT_COUNT_QTR_7,EXPENSE_SUM_YR_2 等51个变量的重要性等于或接近于0,说明这些变量对决策树模型的建立没有影响。因此,为了避免变量过多导致决策树模型过于复杂,产生过拟合现象,从而失去模型的适用性和预测性,本文选择对决策树模型有显著影响和一般影响的5个变量再次建模,对模型进行剪枝优化。

2.3 模型的改进

模型的初步构建中由于变量过多产生了过拟合现象,因此我们根据初次建模所筛选出来的变量来进行模型的改进。在建模之前,我们从61884个观测值中随机抽取2/3(41256个)作为C5.0算法的训练样本集合,剩余的 1/3(20628个)作为测试集合对模型进行检验,设置训练集和测试集有利于评估模型质量,检验模型是否具有预测性。各样本集合中客户流失情况如下表3所示。

表3 各样本集合客户流失情况表

从表3可以看到,随机抽取的训练集中未流失客户数量为25506个,流失客户数量为15750个,未流失和已流失之比为1.61:1,与总样本中两类客户流失比例1.62:1几乎一致,因此可以认为训练集中的样本属性可以反映和代表总样本属性,此时训练集是可以符合建模要求的。并且测试集中两类客户流失比率为1.63:1,与总样本属性和训练集属性也接近一致,因此,此时的训练集也符合检验模型的要求。

我们根据训练集中的DAYSFROM_LAST_TO_END(最后一次乘机时间至观察窗口末端时长),MAX_FLIGHT_INTERVAL(观察窗口内最大乘机间隔),AVG_FLIGHT_INTERVAL(平均乘机时间间隔),DAYS_FROM_BEGIN_TO_FIRST(观察窗口内第一次乘机时间至MAX(观察窗口始端,入会时间)时长),FLIGHT_COUNT_QTR_8(观测窗口第八季度飞行次数)5个变量作为输入变量,Runoff_flag(流失标志)为输出变量,再次利用决策树模型中的C5.0算法进行建模。

2.4 模型评价

模型改进后的结果如表4所示,此次模型的正确率为88.3%,树的大小为30,符合我们的建模要求,并且具有较高的正确率。把模型带入测试集进行检验,可以看到在测试集中预测的正确率为88.2%,说明模型具有很好的预测功能。

表4 模型改进结果

2.5 决策树图及结果分析

根据前面的分析可以知道,改进后的决策树模型满足航空公司对客户流失分析的需要,因此我们画出决策树图来具体分析影响客户流失的重要变量,并分析出已流失客户的特征来对未流失客户进行预警挽留。模型改进后生成的决策树简图如下图1所示。

图1模型改进后生成的决策树简图

依据图1所示,决策树的第一个选择属性为DAYS_FROM_LAST_TO_END(最后一次乘机时间至观察窗口末端时长),这是最为重要和显著的变量,其后对决策树节点选择有意义的变量为MAX_FLIGHT_INTERVAL(观察窗口内最大乘机间隔)。结合决策树图,这些变量都是我们筛选出来的显著重要的变量,对于我们的客户流失模型至关重要,因此我们对每个变量进行逐一分析:

(1)DAYS_FROM_LAST_TO_END(最后一次乘机时间至观察窗口末端时长)。最后一次乘机时间至观察窗口末端时长就是指最后一次乘机的时刻距离现在时刻的远近程度,时间越长,说明客户在该航空公司的消费可能性就越低,越容易造成客户流失。从决策树图中可以看到,当最后一次乘机时间至观察窗口末端时长小于104天的情况下,流失客户为482个,流失比例仅仅为2.4%,当最后一次乘机时间至观察窗口末端时长大于288天的情况下,流失客户为150人,流失比例达到了29%,所以根据最后一次乘机时间至观察窗口末端时长来判断客户流失与否至关重要。

(2)MAX_FLIGHT_INTERVAL(观察窗口内最大乘机间隔)。观察窗口内最大乘机间隔指的是客户前后两次乘机时间间隔最长的天数,一般而言,当客户在观察窗口内最大乘机间隔越长时,说明在该航空公司乘机的频率很低,对该航空公司的遗忘性越高,就越容易选择其他交通方式,从而导致航空公司的客户流失。我们在决策树图中结合第一分节点即最后一次乘机时间至观察窗口末端时长来看,当最后一次乘机时间至观察窗口末端时长大于等于观察窗口内最大乘机间隔时,此时的客户是极度容易流失的客户。

2.6 模型的验证

通过对决策树图的分析,我们找出了对航空公司客户流失影响最为显著的两个变量,从以上对两个变量的逐一分析可知,变量MAX_FLIGHT_INTERVAL的影响也是建立在变量DAYS_FROM_LAST_TO_END的基础上,并且变量DAYS_FROM_LAST_TO_END也是决策树的第一选择属性。所以下面通过测试集中的数据来验证在改善DAYS_FROM_LAST_TO_END这个变量的情况下,是否能解决航空公司的客户流失问题。我们首先来观察测试集中流失客户和未流失客户的变量特征,如下表5所示。

表5 测试集中的变量特征

表5是测试集中两类客户对于变量DAYS_FROM_LAST_TO_END的特征情况表。从表中可以看到流失客户的最后一次乘机时间至观察窗口末端时长均值较大,为350天,而未流失客户的均值只有66天,这也与我们之前讨论的最后一次乘机时间至观察窗口末端时长值越大,越容易造成客户流失的结果是一样的。从最大值可以看出,未流失客户的最大值仅为346天,还没有流失客户的均值大,所以在DAYS_FROM_LAST_TO_END变量中对于流失客户和未流失客户的区分是十分明显的。

在验证了变量DAYS_FROM_LAST_TO_END对于客户区分的重要性的基础上,如何降低客户最后一次乘机时间至观察窗口末端时长的问题,也就是我们主要面对的流失问题。针对这一问题,航空公司可以设置老用户召回日,也就是对于长时间没有在本航空公司进行消费的用户,航空公司可以利用短信或者电话的方式联系老客户来进行召回,从而提高客户的印象值,减少客户流失。召回日具体日期的选择可以从图2来判断。

图2 测试集各阶段客户流失数目

图2是针对变量DAYS_FROM_LAST_TO_END各阶段的客户流失数目的柱状图,因为测试集中的未流失客户最后一次乘机时间至观察窗口末端时长的最大值为346天,也就是说超过346天的客户一定会流失,所以只画出一年时间段内每月的客户流失数目。从图中可以观察,随着变量值的不断增加,客户的流失数目也就越来越多,超过210天后,因为测试集样本数据本身数目的缺少,呈现下降趋势。召回日的选择就是根据召回日前后流失客户差值最大的日期来选择,图中60天前后客户流失差值最大,为118人,也就是说,在60日前后的一个月内,客户流失数目的增加量最大,仅次于最大差值的客户流失数目出现在120日时,在120日前后的一个月内客户流失数目的增加量为110人。因此我们选择在60日和120日时,即每两个月对未在本航空公司消费的老客户进行召回活动。根据所选择的召回日来观察测试集中客户流失问题是否能够得到有效的改善。

表6 测试集中未流失客户比例

表6是针对变量DAYS_FROM_LAST_TO_END来说明测试集中未流失客户的比例关系。因为已流失客户是已经发生的事情,我们已经不能挽回,主要对于测试集中未流失的客户进行流失预警。可以看出,客户最后一次乘机时间至观察窗口末端时长小于60日的客户人数是7448人,所占比例为58.2%,这些客户是本航空公司的忠实客户,不需要进行召回。最后一次乘机时间至观察窗口末端时长在60-120日和120-180日之间的客户人数是2870人和1566人,所占比例分别为22.4%和12.2%,这些客户属于存在着流失可能的客户,需要在60日和120日进行召回活动。若召回活动成功,可以看到能够减少的客户流失人数为4436人,所占比例高达34.6%,因此再次验证了召回日的准确性,对于改善航空公司的客户流失问题有着重要意义。

3 结语

客户流失对于航空公司造成的损失已日益严重,因此针对航空公司客户流失的分析必须引起航空公司的足够重视。本文将决策树中的C5.0算法引入航空公司的客户流失分析,随机抽取了2/3的样本数据作为训练集来训练建模,结果证明该分析方法是有效的,并且根据测试集对模型的验证可知,模型具有较好的准确性和预测性。最后,根据决策树图的分析结果,确定了客户流失的共同特征,航空公司可以根据最后一次乘机时间至观察窗口末端时长来设置老客户召回日,从而减少客户流失比例,对于提高航空公司利润增长具有重要意义。

[1] LEE E B,KIM J,LEE S G.Predicting customer churn in mobile industry using data mining technology[J].Industrial Management & Data Systems,2017,117(1):90-109.

[2] 王未卿,姚娆,刘澄.商业银行客户流失的影响因素——基于生存分析方法的研究[J].金融论坛,2014,19(1):73-79.

[3] 桂现才,彭宏,王小华.基于决策树的保险客户流失分析[J].计算机工程与设计,2005,26(8):2026-2029.

[4] 张莹.数据仓库在邮政快递企业客户流失分析中的应用[D].北京:北京邮电大学,2008.

[5] 李伟健.面向主动服务的客户流失预测模型研究[D].武汉:武汉理工大学,2010.

[6] JIANG M,CHU N,BI X M.Research on customers churn prediction model based on logistic[J].Advanced Materials Research,2014(989-994):1517-1521.

[7] WU Y,LIU B X,LI M S.Model of customer loss based on cluster and neural network[J].Applied Mechanics and Materials,2012(190-191):284-287.

[8] 薛薇.R语言数据挖掘方法及应用[M].北京:电子工业出版社,2016:142-143.

[9] 吴桐水,贺亮.基于决策树的航空公司客户流失分析[J].商业现代化,2006(35):381-383.

[10] 林楚泉,彭鸿鑫,陈育兴,等.基于ID3算法的航空客户流失模型[J].大学教育,2013(23):70-72.

[11] 邹竞,谢鲲.C4.5算法在移动通信行业客户流失分析中的应用[J].计算技术与现代化,2009,28(3):98-101.

[12] 张宇,张之明.一种基于C5.0决策树的客户流失预测模型研究[J].统计与信息论坛,2015,30(1):89-94.

猜你喜欢
决策树航空公司变量
航空公司的低成本战略及其实施对策探讨
IATA上调2021年航空公司净亏损预测
大飞机(2021年4期)2021-07-19 04:46:34
抓住不变量解题
也谈分离变量
一种针对不均衡数据集的SVM决策树算法
决策树和随机森林方法在管理决策中的应用
电子制作(2018年16期)2018-09-26 03:27:06
FLIGHTRISK
基于决策树的出租车乘客出行目的识别
航空公司客票直销的现状与分析
中国市场(2016年45期)2016-05-17 05:15:40
SL(3,3n)和SU(3,3n)的第一Cartan不变量