基于序贯抽样方法的大规模客户流失预警分析
陈禹存,中国人民大学2023级应用统计硕士研究生
今天跟大家分享的是一篇2022年发表于Journal of the Royal Statistical Society, Series C (Applied Statistics)的文章,文章提出了一种基于重复子采样的序贯估计方法来应对企业的客户流失问题,并进行了相应的模拟和实际应用。文章的具体信息如下:
1. 引言
客户流失通常指的是客户不再购买或使用公司的产品或服务的情况,是大型公司经营中最重要的关注点之一(Kayaalp,2017; Ascarza等,2018)。随着市场竞争的日益激烈,对于公司来说,保留现有客户并防止潜在客户流失变得十分重要。对于每个客户,流失与否通常是一个典型的二分类问题。因此,客户流失预测通常被视为一个分类任务,并且既往文献已经有很多模型方法来解决这个问题(Ahmad等,2019)。由于具有良好的可解释性,逻辑回归被广泛使用(Ahn等,2019; Maldonado等,2021)。因此,在本研究中,我们采用逻辑回归模型来处理客户流失分析任务。
随着"大数据"时代的到来,客户流失分析中经常遇到大规模数据。如此大量的数据对客户流失分析提出了巨大的挑战。第一个挑战是内存限制:当用户的数据量太大,无法存储在计算机的内存中时,数据必须被保存在硬盘上。第二个挑战是计算成本。对于大规模数据,即使是简单的分析(例如均值计算)也可能需要很长时间。这些挑战为大规模数据的客户流失分析设置了巨大的障碍。
为了应对这些挑战,大规模数据的统计分析技术正在迅速发展。一般来说,有两类方法被用于分析大规模数据。第一种方法是将数据存储在分布式系统中,并应用“分而治之”的策略来完成大规模的数据分析任务。典型文献可以参考McDonald等(2009),Lee等(2017),Battey等(2018),Jordan等(2019),Zhu等(2021),Wang等(2021)。另一种方法是使用子采样技术,通过在抽样的数据上进行计算,从而降低内存和计算成本。这两种方法存在很大的差异。首先,分布式方法主要是通过由一个主计算机作为Master和其他计算机作为Workers组成的分布式系统来执行,并基于整个样本来进行估计。然而,子采样方法关注的是使用有限资源的子样本对整体样本统计量进行近似,可以使用单个计算机进行。在本文的研究中,由于实际数据的提供方没有分布式分析的设备支持。因此,我们将重点使用子采样方法处理大规模数据的客户流失分析。
经典的子采样方法只需要一轮数据采样。为了在单次采样中覆盖更多信息丰富的样本,通常会为每个数据点指定非均匀的采样概率,以便能够以较高的概率对信息丰富的数据点进行采样。典型的方法包括基于杠杆分数的子采样(Drineas等,2011;Ma等,2015;Ma和Sun,2015)、基于信息的最优子数据选择(Wang等,2019)、最优泊松采样方法及其分布式实现(Wang等,2021)等。在适当的正则条件下,这些子采样估计量已被证明是一致的并且在渐进意义下是正态的(Ma等,2020)。然而,对于这些非均匀子采样方法来说,评估整个数据集的非均匀采样概率的步骤将会产生巨大的计算负担。例如,Wang等(2018)提出的最优子采样方法(OSMAC),为了找到最优的子采样概率,对于具有N个观测值和d维协变量的数据集,计算复杂度为O(Nd)。因此,当N非常大时,这个最优子采样算法在计算上可能非常昂贵。在客户流失应用中,整个数据集的大小约为1200万。以前的子采样方法无法在计算上处理这个任务。
解决这个问题的一个简单方法是在子采样步骤中反复使用均匀概率对子数据进行采样。通过使用均匀概率进行采样,我们无需事先计算整个数据集的概率,这可以大大减轻计算负担。通过重复采样,采样数据将接近整个数据集。在理想情况下,如果我们进行无放回的子采样,那么采样N/n次将覆盖整个数据集,其中N和n分别是整个数据和子数据的大小。这就像整个数据集存储在一个分布式系统中一样。
子采样成本是不可忽略的,特别是对于重复子采样方法而言。值得注意的是,从硬盘中采样一个数据点所需的时间主要包括两个部分。第一部分是寻址成本,即识别硬盘上目标数据点所需的时间。第二部分是I/O成本,即将目标数据点读入计算机内存所需的时间。这两者都是硬盘采样成本,在我们将子采样方法应用于大规模数据集时不能忽视。因此,受到Pan等人(2023)的启发,我们采用顺序寻址采样方法来减少硬盘采样成本。当数据在硬盘上随机分布时,对于每个子数据,只选择一个起始点,其他数据点可以从起始点顺序获取。通过这种方式,对于子采样方法来说,寻址成本可以大大降低。
基于整个客户流失数据的重复子采样数据集,我们需要考虑如何获得既具有统计有效性又具有计算高效特点的客户流失估计方法。为此,本文提出了一种序贯一步估计方法(Sequential One-Step,SOS)。首先,SOS方法采用序贯抽样方法来减少硬盘采样成本(Pan等,2023)。当数据在硬盘上随机分布时,对于每个子数据,只选择一个起始点,其他数据点可以从起始点顺序获取。通过这种方式可以大大降低寻址成本。其次,为了解决数据集过大时最优子采样算法在计算上的高成本问题,SOS方法采用在子采样步骤中反复使用均匀概率对子数据进行采样的方式。由于无需事先计算整个数据集的概率,这可以大大减轻计算负担。通过重复进行无放回的子采样,在理想情况下,采样数据将接近整个数据集。下面将重点介绍SOS方法的实现方式。
2. SOS方法
2.1 基本假设
假设整个样本观测值为,其中是样本量。将定义为从第个观测中收集到的数据,其中是响应变量, 是相关的预测变量。在给定的条件下,假设是独立同分布的,其密度函数为, 其中是末知参数, 是。为了估计末知参数, 对数似然函数可以表示为:
然而当非常大时,整个数据集通常存储在硬盘上,从硬盘随机选择样本并读入计算机内存会耗费时间。为了节省时间,我们采用顺序寻址子采样(SAS)方法(Pan等,2023)在硬盘上进行抽样。为了应用SAS方法,假设整个数据应当在硬盘上随机分布。然后基于随机分布的数据进行迭代地执行子采样步骤以获得子样本。下面我们简单描述SAS方法。
首先, 在硬盘上随机选择一个数据点作为起始点, 即, 其中是所需的子样本大小。其次, 在固定的起始点下, 使用索引顺序选择大小为的子样本。这些选定的子样本被收集为除了由索引的第一个起始点外, 其余数据点都是按顺序抽样的。因此不需要硕外的寻址成本, 总的抽样成本可以大大降低。
2.2 SOS算法
假设整个数据集在硬盘上是随机分布的且可以应用 SAS 方法进行块速子采样。子样本的大小为。通过 SAS 方法, 可以生成总共个不同的顺序子样本。假设子采样重复次, 在第个子采样中,抽取的子样本为。我们进一步用表示中数据点的索引,其中。基于,我们提出了SOS方法来高效估计。
首先基于 SAS 子样本集计算初始估计量。在这里可以使用最大似然估计(MIE)作为初始估计量。然后,在第(k+1)次子采样步骤中,可以获得新的SAS子样本。基于第(k + 1)个子样本,我们迭代地执行以下两个步骤来获得SOS估计量。
第一步:
假设在这一步中初始估计量为。然后,我们基于进行一步更新,得到本步中的一步更新什计量
第二步 :
第(k + 1)步的SOS子抽样估计值可以计算为:
在这里有关SOS估计量需要注意两点。首先,对于每个子样本,只进行一步更新。这会导致较小的计算成本,因为:(1)样本大小相对较小;(2)没有涉及牛顿迭代。值得注意的是,并不需要在每个子样本中实现完全的牛顿迭代。这是因为当牛顿算法收敛时,它不受初始值的影响。因此,如果子样本估计量\beta^{k+1}不是一步更新,而是通过完全的牛顿迭代法收敛得到的,那么初始值不会影响第(k + 1)次迭代中基于子样本的估计量。因此,SOS估计量退化为一次(One-Shot)估计量。在模拟实验中将对二者进行比较。其次,每个可以看作是前步中形式为的一步估计量的平均值,这带来了一些良好的性质:(1)在估计中使用了总共次子样本;(2)通过平均可以减小最终估计量的标准误差。
最后,关于SOS算法的理论性质这里不做过多讨论和展示,详细内容可以直接阅读文章。
3. 模拟实验
3.1 模拟实验的设置
为了展示SOS估计量的性能,本文进行了多种模拟研究。假设整个数据集包含个观测值。对于,分别在在逻辑回归和泊松回归模型下生成每个观测值。我们选择逻辑回归模型,因为它是用于客户流失分析的特定模型。考虑到SOS方法可以轻松扩展到其他广义线性回归模型,本文还选择了泊松回归模型作为示例,以测试SOS方法的有效性。
在获得N个观测值后,设置不同的子抽样大小和不同的子抽样次数的组合。在逻辑回归和泊松回归中设置。然后在逻辑回归中考虑较小的K值,设置。在泊松回归中考虑较大的K值,设置。在每个和的组合中,我们重复实验次。
3.2 与OS方法的比较
将 SOS 估计量与 OS 估计量进行比较。对于 OS 估计量,我们首先成机获取个子样本,然后对每个子样本独立地应用牛顿迭代方法得到估计量, 并且最终取平均, 即获得 OS 估计量。具体而言,在第个子样本中,将初始值设为, 然后完全进行牛顿方法,以获得估计值。最终的OS估计量计算为。为了评估每个估计量的估计效率,分别比较SOS统计量与OS统计量的偏差(Bias),平均标准误差(),蒙特卡洛标准误差(SE),覆盖率(ECP)四个指标. 为了评估每个估计量的计算效率,分别比较SOS方法和OS方法的平均牛顿迭代轮数。
下表展示了逻辑回归模型下的估计结果,泊松回归的估计结果类似,这里不再赘述。基于下表的结果可以得到如下结论。首先,随着子抽样次数K的增加,SOS 估计量的偏差比 OS 估计量小得多。这是因为 SOS 估计量的偏差随着 K的增加而减小,而 OS 估计量的偏差始终为 O(1/n)。其次,两个估计量的标准误差(SE)随着n或K的增加而减小,说明这两个估计量是一致的。第三,SOS 估计量的偏差和标准误差可以随着 n和K的增加而减小,但与 SE 相比,偏差总是可以忽略不计的。然而,OS 估计量的偏差与其 SE 相当甚至更大。接下来,SOS 估计量的经验覆盖概率都在名义水平 95% 左右,这表明真实标准误差可以很好地用本文理论研究中得出的估计量来近似。然而,OS 估计量的经验覆盖概率在增加K时呈下降趋势。这是因为当K很大时,OS 估计量的偏差无法忽略。最后,关于计算时间,除了初始子抽样估计量外,SOS 方法对每个后续子抽样只使用一步更新。然而,平均而言,OS 估计量需要进行七到八轮牛顿更新才能达到收敛。因此,与 OS 估计量相比,SOS 估计量在计算上更高效。
3.3 与非均匀抽样方法的比较
在这一小节中,将SOS方法与非均匀子抽样OSMAC方法(Wang等,2018)进行比较,该方法专门针对大样本逻辑回归进行设计。为了模拟大型数据集,我们设定整个样本量。假设计算内存有限,只能支持构建一个样本大小为的逻辑回归模型。在这种情况下,SOS中使用的子样本大小固定为,我们改变子抽样次数为。至于OSMAC方法,我们设置和。为了进行可靠的比较,每个组随机重复实验次。使用均方误差(MSE)来评估这两种方法的统计效率。根据下表的结果可以发现,首先,在的情况下,OSMAC方法的估计性能优于SOS方法。这是因为OSMAC方法能够找到最佳的子样本,而SOS方法只是随机选择子样本。其次,随着子抽样次数K的增加,SOS方法的估计性能提高,MSE值变小。值得注意的是,相对较小的(例如)使得SOS方法的估计性能优于OSMAC方法。第三,尽管随着K的增加,SOS的计算时间也增加。然而,通过适当选择K,SOS方法可以在估计性能和计算时间方面都优于OSMAC方法。
3.4 与全样本方法的比较
最后,本文将SOS方法与使用整个样本的方法进行比较。本文选择了AEE方法(Lin和Xi,2011)和MGD方法(Duchi等,2011)。为了进行全面的评估,将整个样本大小设置为。对于AEE方法,我们假设总共有个worker。对于MGD方法,我们假设mini-batch的总数也是。然后,整个数据集被随机均匀地分成个子数据集,每个子数据集具有个观测值。为了进行比较,SOS方法中的子抽样大小被固定为。在所有实验中,假设子抽样次数为。从理论上讲,SOS方法利用的信息更少。在每个实验设置下重复实验次。这三种方法的统计效率通过MSE进行评估。根据下图的结果可以看到,与AEE和MGD相比,SOS方法的统计效率较低,其MSE值最大。尽管SOS估计量的统计效率最差,但其MSE已经达到10−4,表明其在实践中具有令人满意的估计精度。在计算效率方面, SOS方法的计算时间要大幅小于MGD方法,同时只有AEE方法的一半。这些实证结果证实了SOS方法在计算效率上优于AEE和MGD方法。
4. 基于SOS方法的客户流失分析
4.1 数据简介
本文采用的数据集由中国一家知名证券公司提供。原始数据集包含来自2020年9月至12月的23万名客户的交易记录。该数据集来源于公司数据库系统中的十个文件,包括:用户基本信息、用户行为信息、每日资产信息、每日市场信息、流入流出信息、债务信息等。通过这些信息构建了约400个变量,描述了特定客户在特定交易日的资产和非资产信息。整个数据集在硬盘上占用约300GB的空间。
我们的研究目标是提供客户流失状态的早期预警,以帮助证券公司留住客户。为此,我们使用一个二元变量Churn来表示客户在某个交易日是否流失(Churn=1)或未流失(Churn=0)。鉴于响应变量是二元变量(流失或未流失),可以建立一个逻辑回归模型来帮助预测客户流失情况。为了预测客户的流失状态,我们使用流失状态之前20个交易日的交易信息为每个客户计算与资产相关和非资产相关的协变量。换句话说,所有使用的协变量可以帮助我们提前20个交易日预测客户的流失状态。
在进行模型构建之前,我们对原始数据集进行了几个预处理步骤。首先,我们检查了数据集中所有变量的缺失值情况和异常值情况。其次,初步分析显示原始数据集中的大多数变量之间存在强相关性。因此,我们设计了一个实用的变量选择程序,借鉴了SIS方法(Fan和Song,2010)。具体而言,我们根据它们的来源文件将所有的协变量分为十组。然后在每个组内,对每个单独的协变量进行逻辑回归模型以进行变量选择。最后,我们按时间顺序对所有观测值进行排序,然后将整个数据集分割成训练数据集(前70%的观测值)和测试数据集(后30%的观测值)。然后,我们在训练数据集上使用每个单独的协变量构建逻辑回归模型,并记录结果的AUC值来衡量特定协变量的预测能力。接下来,在每个变量组中,选择具有最大AUC值的协变量。这样形成了包含10个协变量的最终预测变量集合。下表显示了关于响应变量和选定的10个协变量的详细信息。
4.2 客户流失预测
下表展示了在训练数据集上使用SOS方法的详细回归结果。具体来说,变量MaxFA在流失状态中起到显著负面作用,这意味着最大浮动资产越少,客户流失的可能性越大。变量WheTVAM在流失状态中起到显著正面作用,这意味着没有交易量的客户更有可能流失。同样,没有资金流入的客户更有可能流失。对于非资产相关的变量,变量WheHSP在流失状态中起到显著负面作用。这个结果表明没有持有服务产品的客户更有可能流失。此外,年龄变量对某些年龄组的流失状态有显著影响。具体而言,50-60岁和>60岁的客户比40岁以下的客户更有可能流失。最后,变量WheL具有显著负面效应,表明在过去的20个交易日内没有登录系统的客户更有可能流失。
最后,使用ROC曲线结合AUC值来衡量预测准确性,如下图所示。可以看到,在测试数据集上AUC值为0.946,表明所提出的模型具有非常好的预测能力。
最后,本文提出了一个实用的客户挽回策略。首先,使用模型根据预测的流失概率对测试数据集中的所有客户进行排序。然后将所有客户均匀地分成10个组。具体而言,第1组包含预测流失概率最高的客户;第10组包含预测流失概率最低的客户。在这10个组中,我们计算真正流失客户的比例。如下图所示,所有客户的平均流失比例仅为13.7%,而第1组的流失比例高达81.5%。这个结果验证了建立的模型的预测能力。换句话说,预测流失概率高的客户在实际中更容易流失。这一发现表明我们需要更加关注这组客户,并采取积极的策略来挽留他们,例如面对面拜访、降低佣金、提供独特的服务。值得注意的是,第2组的流失比例(31.0%)高于所有客户的流失比例(13.7%)。因此,第2组需要密切关注和持续监测。
5. 结论
本文针对大规模数据集提出了一种基于采样的客户流失分析方法:SOS方法。该方法考虑使用均匀概率对数据点进行采样,然后通过重复进行子采样步骤来操作。这样可以大大减少子采样的计算成本。基于SOS方法,计算一系列估计量,其中每个估计量都是基于新采样的子数据进行一步更新计算得到的。最终的SOS估计量是所有估计量的平均值。本文还通过模拟研究阐述了SOS统计量的性能。最后,本文将SOS方法应用于证券公司的实际客户流失数据集。通过使用SOS方法,我们可以处理大规模数据集,获得影响客户流失状态的有用因素,并对潜在的流失客户实现预测准确性。
主要参考文献:
Duchi, J., Hazan, E., and Singer, Y. (2011), Adaptive Subgradient Methods for Online Learning and Stochastic Optimization, Journal of Machine Learning Research, 12, 257-269.
Fan, J. and Song, R. (2010), Sure Independence Screening in Generalized Linear Models with NP-dimensionality, Annals of Statistics, 38, 3567-3604.
Lin, N. and Xi, R. (2011), Aggregated Estimating Equation Estimation, Statistics and Its Interface, 1, 73-83.
R. Pan, Y. Zhu, B. Guo, X. Zhu and H. Wang, A Sequential Addressing Subsampling Method for Massive Data Analysis under Memory Constraint, IEEE Transactions on Knowledge and Data Engineering, doi: 10.1109/TKDE.2023.3241075.
Wang, H., Zhu, R., and Ma, P. (2018), Optimal Subsampling for Large Sample Logistic Regression, Journal of the American statistical association, 113, 829-844.